From 538a6348d2d54bd5d5a397ac896c15e78cc4d9d5 Mon Sep 17 00:00:00 2001 From: GP Date: Thu, 20 Oct 2022 11:14:23 +0000 Subject: [PATCH] feat: build for release --- LICENSE | 21 + README.md | 125 + action.yml | 34 + lib/main.js | 300 + lib/utils.js | 169 + node_modules/.bin/browserslist | 1 + node_modules/.bin/esparse | 1 + node_modules/.bin/esvalidate | 1 + node_modules/.bin/js-yaml | 1 + node_modules/.bin/jsesc | 1 + node_modules/.bin/json5 | 1 + node_modules/.bin/node-which | 1 + node_modules/.bin/nyc | 1 + node_modules/.bin/parser | 1 + node_modules/.bin/rimraf | 1 + node_modules/.bin/semver | 1 + node_modules/.bin/uuid | 1 + node_modules/.package-lock.json | 1797 + node_modules/@actions/core/LICENSE.md | 9 + node_modules/@actions/core/README.md | 335 + node_modules/@actions/core/lib/command.d.ts | 15 + node_modules/@actions/core/lib/command.js | 92 + node_modules/@actions/core/lib/command.js.map | 1 + node_modules/@actions/core/lib/core.d.ts | 198 + node_modules/@actions/core/lib/core.js | 336 + node_modules/@actions/core/lib/core.js.map | 1 + .../@actions/core/lib/file-command.d.ts | 2 + .../@actions/core/lib/file-command.js | 58 + .../@actions/core/lib/file-command.js.map | 1 + .../@actions/core/lib/oidc-utils.d.ts | 7 + node_modules/@actions/core/lib/oidc-utils.js | 77 + .../@actions/core/lib/oidc-utils.js.map | 1 + .../@actions/core/lib/path-utils.d.ts | 25 + node_modules/@actions/core/lib/path-utils.js | 58 + .../@actions/core/lib/path-utils.js.map | 1 + node_modules/@actions/core/lib/summary.d.ts | 202 + node_modules/@actions/core/lib/summary.js | 283 + node_modules/@actions/core/lib/summary.js.map | 1 + node_modules/@actions/core/lib/utils.d.ts | 14 + node_modules/@actions/core/lib/utils.js | 40 + node_modules/@actions/core/lib/utils.js.map | 1 + .../@actions/core/node_modules/.bin/uuid | 1 + .../core/node_modules/uuid/CHANGELOG.md | 229 + .../core/node_modules/uuid/CONTRIBUTING.md | 18 + .../core/node_modules/uuid/LICENSE.md | 9 + .../@actions/core/node_modules/uuid/README.md | 505 + .../core/node_modules/uuid/dist/bin/uuid | 2 + .../uuid/dist/esm-browser/index.js | 9 + .../node_modules/uuid/dist/esm-browser/md5.js | 215 + .../node_modules/uuid/dist/esm-browser/nil.js | 1 + .../uuid/dist/esm-browser/parse.js | 35 + .../uuid/dist/esm-browser/regex.js | 1 + .../node_modules/uuid/dist/esm-browser/rng.js | 19 + .../uuid/dist/esm-browser/sha1.js | 96 + .../uuid/dist/esm-browser/stringify.js | 30 + .../node_modules/uuid/dist/esm-browser/v1.js | 95 + .../node_modules/uuid/dist/esm-browser/v3.js | 4 + .../node_modules/uuid/dist/esm-browser/v35.js | 64 + .../node_modules/uuid/dist/esm-browser/v4.js | 24 + .../node_modules/uuid/dist/esm-browser/v5.js | 4 + .../uuid/dist/esm-browser/validate.js | 7 + .../uuid/dist/esm-browser/version.js | 11 + .../node_modules/uuid/dist/esm-node/index.js | 9 + .../node_modules/uuid/dist/esm-node/md5.js | 13 + .../node_modules/uuid/dist/esm-node/nil.js | 1 + .../node_modules/uuid/dist/esm-node/parse.js | 35 + .../node_modules/uuid/dist/esm-node/regex.js | 1 + .../node_modules/uuid/dist/esm-node/rng.js | 12 + .../node_modules/uuid/dist/esm-node/sha1.js | 13 + .../uuid/dist/esm-node/stringify.js | 29 + .../node_modules/uuid/dist/esm-node/v1.js | 95 + .../node_modules/uuid/dist/esm-node/v3.js | 4 + .../node_modules/uuid/dist/esm-node/v35.js | 64 + .../node_modules/uuid/dist/esm-node/v4.js | 24 + .../node_modules/uuid/dist/esm-node/v5.js | 4 + .../uuid/dist/esm-node/validate.js | 7 + .../uuid/dist/esm-node/version.js | 11 + .../core/node_modules/uuid/dist/index.js | 79 + .../node_modules/uuid/dist/md5-browser.js | 223 + .../core/node_modules/uuid/dist/md5.js | 23 + .../core/node_modules/uuid/dist/nil.js | 8 + .../core/node_modules/uuid/dist/parse.js | 45 + .../core/node_modules/uuid/dist/regex.js | 8 + .../node_modules/uuid/dist/rng-browser.js | 26 + .../core/node_modules/uuid/dist/rng.js | 24 + .../node_modules/uuid/dist/sha1-browser.js | 104 + .../core/node_modules/uuid/dist/sha1.js | 23 + .../core/node_modules/uuid/dist/stringify.js | 39 + .../node_modules/uuid/dist/umd/uuid.min.js | 1 + .../node_modules/uuid/dist/umd/uuidNIL.min.js | 1 + .../uuid/dist/umd/uuidParse.min.js | 1 + .../uuid/dist/umd/uuidStringify.min.js | 1 + .../uuid/dist/umd/uuidValidate.min.js | 1 + .../uuid/dist/umd/uuidVersion.min.js | 1 + .../node_modules/uuid/dist/umd/uuidv1.min.js | 1 + .../node_modules/uuid/dist/umd/uuidv3.min.js | 1 + .../node_modules/uuid/dist/umd/uuidv4.min.js | 1 + .../node_modules/uuid/dist/umd/uuidv5.min.js | 1 + .../core/node_modules/uuid/dist/uuid-bin.js | 85 + .../core/node_modules/uuid/dist/v1.js | 107 + .../core/node_modules/uuid/dist/v3.js | 16 + .../core/node_modules/uuid/dist/v35.js | 78 + .../core/node_modules/uuid/dist/v4.js | 37 + .../core/node_modules/uuid/dist/v5.js | 16 + .../core/node_modules/uuid/dist/validate.js | 17 + .../core/node_modules/uuid/dist/version.js | 21 + .../core/node_modules/uuid/package.json | 135 + .../core/node_modules/uuid/wrapper.mjs | 10 + node_modules/@actions/core/package.json | 46 + node_modules/@actions/exec/LICENSE.md | 9 + node_modules/@actions/exec/README.md | 57 + node_modules/@actions/exec/lib/exec.d.ts | 24 + node_modules/@actions/exec/lib/exec.js | 103 + node_modules/@actions/exec/lib/exec.js.map | 1 + .../@actions/exec/lib/interfaces.d.ts | 57 + node_modules/@actions/exec/lib/interfaces.js | 3 + .../@actions/exec/lib/interfaces.js.map | 1 + .../@actions/exec/lib/toolrunner.d.ts | 37 + node_modules/@actions/exec/lib/toolrunner.js | 618 + .../@actions/exec/lib/toolrunner.js.map | 1 + node_modules/@actions/exec/package.json | 41 + node_modules/@actions/github/LICENSE.md | 9 + node_modules/@actions/github/README.md | 98 + node_modules/@actions/github/lib/context.d.ts | 32 + node_modules/@actions/github/lib/context.js | 54 + .../@actions/github/lib/context.js.map | 1 + node_modules/@actions/github/lib/github.d.ts | 11 + node_modules/@actions/github/lib/github.js | 37 + .../@actions/github/lib/github.js.map | 1 + .../@actions/github/lib/interfaces.d.ts | 40 + .../@actions/github/lib/interfaces.js | 4 + .../@actions/github/lib/interfaces.js.map | 1 + .../@actions/github/lib/internal/utils.d.ts | 6 + .../@actions/github/lib/internal/utils.js | 43 + .../@actions/github/lib/internal/utils.js.map | 1 + node_modules/@actions/github/lib/utils.d.ts | 15 + node_modules/@actions/github/lib/utils.js | 54 + node_modules/@actions/github/lib/utils.js.map | 1 + node_modules/@actions/github/package.json | 49 + node_modules/@actions/glob/LICENSE.md | 9 + node_modules/@actions/glob/README.md | 113 + node_modules/@actions/glob/lib/glob.d.ts | 18 + node_modules/@actions/glob/lib/glob.js | 44 + node_modules/@actions/glob/lib/glob.js.map | 1 + .../lib/internal-glob-options-helper.d.ts | 5 + .../glob/lib/internal-glob-options-helper.js | 55 + .../lib/internal-glob-options-helper.js.map | 1 + .../glob/lib/internal-glob-options.d.ts | 36 + .../glob/lib/internal-glob-options.js | 3 + .../glob/lib/internal-glob-options.js.map | 1 + .../@actions/glob/lib/internal-globber.d.ts | 42 + .../@actions/glob/lib/internal-globber.js | 235 + .../@actions/glob/lib/internal-globber.js.map | 1 + .../glob/lib/internal-hash-file-options.d.ts | 12 + .../glob/lib/internal-hash-file-options.js | 3 + .../lib/internal-hash-file-options.js.map | 1 + .../glob/lib/internal-hash-files.d.ts | 2 + .../@actions/glob/lib/internal-hash-files.js | 95 + .../glob/lib/internal-hash-files.js.map | 1 + .../glob/lib/internal-match-kind.d.ts | 13 + .../@actions/glob/lib/internal-match-kind.js | 18 + .../glob/lib/internal-match-kind.js.map | 1 + .../glob/lib/internal-path-helper.d.ts | 42 + .../@actions/glob/lib/internal-path-helper.js | 198 + .../glob/lib/internal-path-helper.js.map | 1 + .../@actions/glob/lib/internal-path.d.ts | 15 + .../@actions/glob/lib/internal-path.js | 113 + .../@actions/glob/lib/internal-path.js.map | 1 + .../glob/lib/internal-pattern-helper.d.ts | 15 + .../glob/lib/internal-pattern-helper.js | 94 + .../glob/lib/internal-pattern-helper.js.map | 1 + .../@actions/glob/lib/internal-pattern.d.ts | 64 + .../@actions/glob/lib/internal-pattern.js | 255 + .../@actions/glob/lib/internal-pattern.js.map | 1 + .../glob/lib/internal-search-state.d.ts | 5 + .../glob/lib/internal-search-state.js | 11 + .../glob/lib/internal-search-state.js.map | 1 + node_modules/@actions/glob/package.json | 43 + node_modules/@actions/http-client/LICENSE | 21 + node_modules/@actions/http-client/README.md | 73 + .../@actions/http-client/lib/auth.d.ts | 26 + node_modules/@actions/http-client/lib/auth.js | 81 + .../@actions/http-client/lib/auth.js.map | 1 + .../@actions/http-client/lib/index.d.ts | 123 + .../@actions/http-client/lib/index.js | 605 + .../@actions/http-client/lib/index.js.map | 1 + .../@actions/http-client/lib/interfaces.d.ts | 44 + .../@actions/http-client/lib/interfaces.js | 3 + .../http-client/lib/interfaces.js.map | 1 + .../@actions/http-client/lib/proxy.d.ts | 2 + .../@actions/http-client/lib/proxy.js | 61 + .../@actions/http-client/lib/proxy.js.map | 1 + .../@actions/http-client/package.json | 48 + node_modules/@actions/io/LICENSE.md | 9 + node_modules/@actions/io/README.md | 53 + node_modules/@actions/io/lib/io-util.d.ts | 19 + node_modules/@actions/io/lib/io-util.js | 177 + node_modules/@actions/io/lib/io-util.js.map | 1 + node_modules/@actions/io/lib/io.d.ts | 64 + node_modules/@actions/io/lib/io.js | 341 + node_modules/@actions/io/lib/io.js.map | 1 + node_modules/@actions/io/package.json | 37 + node_modules/@babel/code-frame/LICENSE | 22 + node_modules/@babel/code-frame/README.md | 19 + node_modules/@babel/code-frame/lib/index.js | 163 + node_modules/@babel/code-frame/package.json | 29 + node_modules/@babel/compat-data/LICENSE | 22 + .../@babel/compat-data/corejs2-built-ins.js | 1 + .../compat-data/corejs3-shipped-proposals.js | 1 + .../compat-data/data/corejs2-built-ins.json | 1770 + .../data/corejs3-shipped-proposals.json | 5 + .../compat-data/data/native-modules.json | 18 + .../compat-data/data/overlapping-plugins.json | 21 + .../compat-data/data/plugin-bugfixes.json | 142 + .../@babel/compat-data/data/plugins.json | 458 + .../@babel/compat-data/native-modules.js | 1 + .../@babel/compat-data/overlapping-plugins.js | 1 + node_modules/@babel/compat-data/package.json | 39 + .../@babel/compat-data/plugin-bugfixes.js | 1 + node_modules/@babel/compat-data/plugins.js | 1 + node_modules/@babel/core/LICENSE | 22 + node_modules/@babel/core/README.md | 19 + .../@babel/core/lib/config/cache-contexts.js | 0 .../@babel/core/lib/config/caching.js | 325 + .../@babel/core/lib/config/config-chain.js | 556 + .../core/lib/config/config-descriptors.js | 244 + .../core/lib/config/files/configuration.js | 357 + .../@babel/core/lib/config/files/import.js | 10 + .../core/lib/config/files/index-browser.js | 67 + .../@babel/core/lib/config/files/index.js | 79 + .../core/lib/config/files/module-types.js | 104 + .../@babel/core/lib/config/files/package.js | 76 + .../@babel/core/lib/config/files/plugins.js | 206 + .../@babel/core/lib/config/files/types.js | 0 .../@babel/core/lib/config/files/utils.js | 44 + node_modules/@babel/core/lib/config/full.js | 338 + .../core/lib/config/helpers/config-api.js | 103 + .../core/lib/config/helpers/environment.js | 10 + node_modules/@babel/core/lib/config/index.js | 74 + node_modules/@babel/core/lib/config/item.js | 76 + .../@babel/core/lib/config/partial.js | 197 + .../core/lib/config/pattern-to-regex.js | 44 + node_modules/@babel/core/lib/config/plugin.js | 30 + .../@babel/core/lib/config/printer.js | 139 + .../lib/config/resolve-targets-browser.js | 42 + .../@babel/core/lib/config/resolve-targets.js | 68 + node_modules/@babel/core/lib/config/util.js | 31 + .../config/validation/option-assertions.js | 352 + .../core/lib/config/validation/options.js | 210 + .../core/lib/config/validation/plugins.js | 71 + .../core/lib/config/validation/removed.js | 66 + .../@babel/core/lib/gensync-utils/async.js | 93 + .../@babel/core/lib/gensync-utils/fs.js | 40 + node_modules/@babel/core/lib/index.js | 264 + node_modules/@babel/core/lib/parse.js | 48 + node_modules/@babel/core/lib/parser/index.js | 95 + .../lib/parser/util/missing-plugin-helper.js | 313 + .../core/lib/tools/build-external-helpers.js | 164 + node_modules/@babel/core/lib/transform-ast.js | 46 + .../@babel/core/lib/transform-file-browser.js | 26 + .../@babel/core/lib/transform-file.js | 41 + node_modules/@babel/core/lib/transform.js | 42 + .../lib/transformation/block-hoist-plugin.js | 94 + .../core/lib/transformation/file/file.js | 254 + .../core/lib/transformation/file/generate.js | 87 + .../core/lib/transformation/file/merge-map.js | 245 + .../@babel/core/lib/transformation/index.js | 124 + .../core/lib/transformation/normalize-file.js | 167 + .../core/lib/transformation/normalize-opts.js | 62 + .../core/lib/transformation/plugin-pass.js | 54 + .../transformation/util/clone-deep-browser.js | 25 + .../lib/transformation/util/clone-deep.js | 26 + node_modules/@babel/core/package.json | 76 + .../core/src/config/files/index-browser.ts | 109 + .../@babel/core/src/config/files/index.ts | 29 + .../src/config/resolve-targets-browser.ts | 33 + .../@babel/core/src/config/resolve-targets.ts | 49 + .../@babel/core/src/transform-file-browser.ts | 27 + .../@babel/core/src/transform-file.ts | 40 + .../transformation/util/clone-deep-browser.ts | 19 + .../src/transformation/util/clone-deep.ts | 9 + node_modules/@babel/generator/LICENSE | 22 + node_modules/@babel/generator/README.md | 19 + node_modules/@babel/generator/lib/buffer.js | 265 + .../@babel/generator/lib/generators/base.js | 96 + .../generator/lib/generators/classes.js | 173 + .../generator/lib/generators/expressions.js | 317 + .../@babel/generator/lib/generators/flow.js | 795 + .../@babel/generator/lib/generators/index.js | 148 + .../@babel/generator/lib/generators/jsx.js | 145 + .../generator/lib/generators/methods.js | 149 + .../generator/lib/generators/modules.js | 234 + .../generator/lib/generators/statements.js | 327 + .../lib/generators/template-literals.js | 33 + .../@babel/generator/lib/generators/types.js | 279 + .../generator/lib/generators/typescript.js | 806 + node_modules/@babel/generator/lib/index.js | 97 + .../@babel/generator/lib/node/index.js | 111 + .../@babel/generator/lib/node/parentheses.js | 342 + .../@babel/generator/lib/node/whitespace.js | 214 + node_modules/@babel/generator/lib/printer.js | 540 + .../@babel/generator/lib/source-map.js | 78 + node_modules/@babel/generator/package.json | 36 + .../@babel/helper-compilation-targets/LICENSE | 22 + .../helper-compilation-targets/README.md | 19 + .../helper-compilation-targets/lib/debug.js | 33 + .../lib/filter-items.js | 88 + .../helper-compilation-targets/lib/index.js | 255 + .../helper-compilation-targets/lib/options.js | 21 + .../helper-compilation-targets/lib/pretty.js | 47 + .../helper-compilation-targets/lib/targets.js | 27 + .../helper-compilation-targets/lib/types.js | 0 .../helper-compilation-targets/lib/utils.js | 69 + .../helper-compilation-targets/package.json | 40 + .../@babel/helper-function-name/LICENSE | 22 + .../@babel/helper-function-name/README.md | 19 + .../@babel/helper-function-name/lib/index.js | 188 + .../@babel/helper-function-name/package.json | 25 + .../@babel/helper-get-function-arity/LICENSE | 22 + .../helper-get-function-arity/README.md | 19 + .../helper-get-function-arity/lib/index.js | 27 + .../helper-get-function-arity/package.json | 23 + .../@babel/helper-hoist-variables/LICENSE | 22 + .../@babel/helper-hoist-variables/README.md | 19 + .../helper-hoist-variables/lib/index.js | 58 + .../helper-hoist-variables/package.json | 27 + .../LICENSE | 22 + .../README.md | 19 + .../lib/index.js | 453 + .../lib/index.js.map | 1 + .../package.json | 26 + .../@babel/helper-module-imports/LICENSE | 22 + .../@babel/helper-module-imports/README.md | 19 + .../lib/import-builder.js | 162 + .../lib/import-injector.js | 290 + .../@babel/helper-module-imports/lib/index.js | 41 + .../helper-module-imports/lib/is-module.js | 18 + .../@babel/helper-module-imports/package.json | 27 + .../@babel/helper-module-transforms/LICENSE | 22 + .../@babel/helper-module-transforms/README.md | 19 + .../lib/get-module-name.js | 54 + .../helper-module-transforms/lib/index.js | 392 + .../lib/normalize-and-load-metadata.js | 398 + .../lib/rewrite-live-references.js | 360 + .../lib/rewrite-this.js | 30 + .../helper-module-transforms/package.json | 30 + .../helper-optimise-call-expression/LICENSE | 22 + .../helper-optimise-call-expression/README.md | 19 + .../lib/index.js | 36 + .../package.json | 27 + .../@babel/helper-replace-supers/LICENSE | 22 + .../@babel/helper-replace-supers/README.md | 19 + .../@babel/helper-replace-supers/lib/index.js | 293 + .../@babel/helper-replace-supers/package.json | 26 + .../@babel/helper-simple-access/LICENSE | 22 + .../@babel/helper-simple-access/README.md | 19 + .../@babel/helper-simple-access/lib/index.js | 93 + .../@babel/helper-simple-access/package.json | 26 + .../helper-split-export-declaration/LICENSE | 22 + .../helper-split-export-declaration/README.md | 19 + .../lib/index.js | 67 + .../package.json | 23 + .../helper-validator-identifier/LICENSE | 22 + .../helper-validator-identifier/README.md | 19 + .../lib/identifier.js | 84 + .../helper-validator-identifier/lib/index.js | 57 + .../lib/keyword.js | 38 + .../helper-validator-identifier/package.json | 24 + .../scripts/generate-identifier-regex.js | 75 + .../@babel/helper-validator-option/LICENSE | 22 + .../@babel/helper-validator-option/README.md | 19 + .../lib/find-suggestion.js | 45 + .../helper-validator-option/lib/index.js | 21 + .../helper-validator-option/lib/validator.js | 58 + .../helper-validator-option/package.json | 20 + node_modules/@babel/helpers/LICENSE | 22 + node_modules/@babel/helpers/README.md | 19 + .../@babel/helpers/lib/helpers-generated.js | 29 + node_modules/@babel/helpers/lib/helpers.js | 1961 + .../@babel/helpers/lib/helpers/jsx.js | 53 + .../helpers/lib/helpers/objectSpread2.js | 46 + .../@babel/helpers/lib/helpers/typeof.js | 22 + .../@babel/helpers/lib/helpers/wrapRegExp.js | 73 + node_modules/@babel/helpers/lib/index.js | 299 + node_modules/@babel/helpers/package.json | 28 + .../helpers/scripts/generate-helpers.js | 63 + .../@babel/helpers/scripts/package.json | 1 + node_modules/@babel/highlight/LICENSE | 22 + node_modules/@babel/highlight/README.md | 19 + node_modules/@babel/highlight/lib/index.js | 116 + node_modules/@babel/highlight/package.json | 29 + node_modules/@babel/parser/CHANGELOG.md | 1073 + node_modules/@babel/parser/LICENSE | 19 + node_modules/@babel/parser/README.md | 19 + .../@babel/parser/bin/babel-parser.js | 15 + node_modules/@babel/parser/lib/index.js | 14699 ++++++ node_modules/@babel/parser/lib/index.js.map | 1 + node_modules/@babel/parser/package.json | 42 + .../@babel/parser/typings/babel-parser.d.ts | 202 + node_modules/@babel/template/LICENSE | 22 + node_modules/@babel/template/README.md | 19 + node_modules/@babel/template/lib/builder.js | 81 + .../@babel/template/lib/formatters.js | 71 + node_modules/@babel/template/lib/index.js | 32 + node_modules/@babel/template/lib/literal.js | 80 + node_modules/@babel/template/lib/options.js | 83 + node_modules/@babel/template/lib/parse.js | 188 + node_modules/@babel/template/lib/populate.js | 135 + node_modules/@babel/template/lib/string.js | 22 + node_modules/@babel/template/package.json | 26 + node_modules/@babel/traverse/LICENSE | 22 + node_modules/@babel/traverse/README.md | 19 + node_modules/@babel/traverse/lib/cache.js | 26 + node_modules/@babel/traverse/lib/context.js | 137 + node_modules/@babel/traverse/lib/hub.js | 23 + node_modules/@babel/traverse/lib/index.js | 118 + .../@babel/traverse/lib/path/ancestry.js | 180 + .../@babel/traverse/lib/path/comments.js | 42 + .../@babel/traverse/lib/path/context.js | 253 + .../@babel/traverse/lib/path/conversion.js | 468 + .../@babel/traverse/lib/path/evaluation.js | 401 + .../@babel/traverse/lib/path/family.js | 407 + .../traverse/lib/path/generated/asserts.js | 5 + .../traverse/lib/path/generated/validators.js | 5 + .../lib/path/generated/virtual-types.js | 3 + .../@babel/traverse/lib/path/index.js | 253 + .../traverse/lib/path/inference/index.js | 156 + .../lib/path/inference/inferer-reference.js | 206 + .../traverse/lib/path/inference/inferers.js | 261 + .../@babel/traverse/lib/path/introspection.js | 436 + .../@babel/traverse/lib/path/lib/hoister.js | 206 + .../traverse/lib/path/lib/removal-hooks.js | 38 + .../traverse/lib/path/lib/virtual-types.js | 230 + .../@babel/traverse/lib/path/modification.js | 232 + .../@babel/traverse/lib/path/removal.js | 73 + .../@babel/traverse/lib/path/replacement.js | 260 + .../@babel/traverse/lib/scope/binding.js | 75 + .../@babel/traverse/lib/scope/index.js | 1015 + .../@babel/traverse/lib/scope/lib/renamer.js | 146 + node_modules/@babel/traverse/lib/types.js | 5 + node_modules/@babel/traverse/lib/visitors.js | 242 + node_modules/@babel/traverse/package.json | 35 + .../traverse/scripts/generators/asserts.js | 25 + .../traverse/scripts/generators/validators.js | 43 + .../scripts/generators/virtual-types.js | 24 + .../@babel/traverse/scripts/package.json | 1 + node_modules/@babel/types/LICENSE | 22 + node_modules/@babel/types/README.md | 19 + .../@babel/types/lib/asserts/assertNode.js | 17 + .../types/lib/asserts/generated/index.js | 1492 + .../types/lib/ast-types/generated/index.js | 0 .../@babel/types/lib/builders/builder.js | 42 + .../lib/builders/flow/createFlowUnionType.js | 20 + .../flow/createTypeAnnotationBasedOnTypeof.js | 30 + .../types/lib/builders/generated/index.js | 1261 + .../types/lib/builders/generated/uppercase.js | 1507 + .../types/lib/builders/react/buildChildren.js | 29 + .../builders/typescript/createTSUnionType.js | 21 + node_modules/@babel/types/lib/clone/clone.js | 12 + .../@babel/types/lib/clone/cloneDeep.js | 12 + .../types/lib/clone/cloneDeepWithoutLoc.js | 12 + .../@babel/types/lib/clone/cloneNode.js | 114 + .../@babel/types/lib/clone/cloneWithoutLoc.js | 12 + .../@babel/types/lib/comments/addComment.js | 15 + .../@babel/types/lib/comments/addComments.js | 23 + .../lib/comments/inheritInnerComments.js | 12 + .../lib/comments/inheritLeadingComments.js | 12 + .../lib/comments/inheritTrailingComments.js | 12 + .../types/lib/comments/inheritsComments.js | 19 + .../types/lib/comments/removeComments.js | 16 + .../types/lib/constants/generated/index.js | 99 + .../@babel/types/lib/constants/index.js | 49 + .../@babel/types/lib/converters/Scope.js | 0 .../types/lib/converters/ensureBlock.js | 12 + .../converters/gatherSequenceExpressions.js | 75 + .../lib/converters/toBindingIdentifierName.js | 14 + .../@babel/types/lib/converters/toBlock.js | 34 + .../types/lib/converters/toComputedKey.js | 15 + .../types/lib/converters/toExpression.js | 33 + .../types/lib/converters/toIdentifier.js | 30 + .../@babel/types/lib/converters/toKeyAlias.js | 46 + .../lib/converters/toSequenceExpression.js | 21 + .../types/lib/converters/toStatement.js | 47 + .../types/lib/converters/valueToNode.js | 99 + .../@babel/types/lib/definitions/core.js | 1590 + .../types/lib/definitions/experimental.js | 142 + .../@babel/types/lib/definitions/flow.js | 481 + .../@babel/types/lib/definitions/index.js | 103 + .../@babel/types/lib/definitions/jsx.js | 161 + .../@babel/types/lib/definitions/misc.js | 31 + .../types/lib/definitions/placeholders.js | 33 + .../types/lib/definitions/typescript.js | 469 + .../@babel/types/lib/definitions/utils.js | 324 + .../@babel/types/lib/index-legacy.d.ts | 2679 + node_modules/@babel/types/lib/index.d.ts | 2966 ++ node_modules/@babel/types/lib/index.js | 647 + node_modules/@babel/types/lib/index.js.flow | 2539 + .../modifications/appendToMemberExpression.js | 15 + .../flow/removeTypeDuplicates.js | 78 + .../types/lib/modifications/inherits.js | 31 + .../prependToMemberExpression.js | 13 + .../lib/modifications/removeProperties.js | 30 + .../lib/modifications/removePropertiesDeep.js | 15 + .../typescript/removeTypeDuplicates.js | 54 + .../lib/retrievers/getBindingIdentifiers.js | 104 + .../retrievers/getOuterBindingIdentifiers.js | 15 + .../@babel/types/lib/traverse/traverse.js | 55 + .../@babel/types/lib/traverse/traverseFast.js | 28 + .../@babel/types/lib/utils/inherit.js | 12 + .../react/cleanJSXElementLiteralChild.js | 47 + .../@babel/types/lib/utils/shallowEqual.js | 18 + .../validators/buildMatchMemberExpression.js | 13 + .../types/lib/validators/generated/index.js | 4731 ++ .../@babel/types/lib/validators/is.js | 33 + .../@babel/types/lib/validators/isBinding.js | 31 + .../types/lib/validators/isBlockScoped.js | 14 + .../types/lib/validators/isImmutable.js | 24 + .../@babel/types/lib/validators/isLet.js | 14 + .../@babel/types/lib/validators/isNode.js | 12 + .../types/lib/validators/isNodesEquivalent.js | 67 + .../types/lib/validators/isPlaceholderType.js | 21 + .../types/lib/validators/isReferenced.js | 127 + .../@babel/types/lib/validators/isScope.js | 20 + .../lib/validators/isSpecifierDefault.js | 14 + .../@babel/types/lib/validators/isType.js | 24 + .../lib/validators/isValidES3Identifier.js | 14 + .../types/lib/validators/isValidIdentifier.js | 20 + .../@babel/types/lib/validators/isVar.js | 16 + .../types/lib/validators/matchesPattern.js | 42 + .../types/lib/validators/react/isCompatTag.js | 10 + .../lib/validators/react/isReactComponent.js | 12 + .../@babel/types/lib/validators/validate.js | 32 + node_modules/@babel/types/package.json | 39 + .../types/scripts/generators/asserts.js | 50 + .../types/scripts/generators/ast-types.js | 139 + .../types/scripts/generators/builders.js | 163 + .../types/scripts/generators/constants.js | 15 + .../@babel/types/scripts/generators/docs.js | 277 + .../@babel/types/scripts/generators/flow.js | 260 + .../scripts/generators/typescript-legacy.js | 369 + .../types/scripts/generators/validators.js | 87 + .../@babel/types/scripts/package.json | 1 + .../types/scripts/utils/formatBuilderName.js | 8 + .../@babel/types/scripts/utils/lowerFirst.js | 3 + .../types/scripts/utils/stringifyValidator.js | 66 + .../types/scripts/utils/toFunctionName.js | 4 + .../@istanbuljs/load-nyc-config/CHANGELOG.md | 41 + .../@istanbuljs/load-nyc-config/LICENSE | 16 + .../@istanbuljs/load-nyc-config/README.md | 64 + .../@istanbuljs/load-nyc-config/index.js | 166 + .../@istanbuljs/load-nyc-config/load-esm.js | 12 + .../@istanbuljs/load-nyc-config/package.json | 49 + node_modules/@istanbuljs/schema/CHANGELOG.md | 44 + node_modules/@istanbuljs/schema/LICENSE | 21 + node_modules/@istanbuljs/schema/README.md | 30 + .../@istanbuljs/schema/default-exclude.js | 22 + .../@istanbuljs/schema/default-extension.js | 10 + node_modules/@istanbuljs/schema/index.js | 466 + node_modules/@istanbuljs/schema/package.json | 30 + node_modules/@octokit/auth-token/LICENSE | 21 + node_modules/@octokit/auth-token/README.md | 290 + .../@octokit/auth-token/dist-node/index.js | 55 + .../auth-token/dist-node/index.js.map | 1 + .../@octokit/auth-token/dist-src/auth.js | 21 + .../@octokit/auth-token/dist-src/hook.js | 6 + .../@octokit/auth-token/dist-src/index.js | 14 + .../@octokit/auth-token/dist-src/types.js | 1 + .../dist-src/with-authorization-prefix.js | 11 + .../@octokit/auth-token/dist-types/auth.d.ts | 2 + .../@octokit/auth-token/dist-types/hook.d.ts | 2 + .../@octokit/auth-token/dist-types/index.d.ts | 7 + .../@octokit/auth-token/dist-types/types.d.ts | 33 + .../dist-types/with-authorization-prefix.d.ts | 6 + .../@octokit/auth-token/dist-web/index.js | 55 + .../@octokit/auth-token/dist-web/index.js.map | 1 + node_modules/@octokit/auth-token/package.json | 45 + node_modules/@octokit/core/LICENSE | 21 + node_modules/@octokit/core/README.md | 448 + node_modules/@octokit/core/dist-node/index.js | 176 + .../@octokit/core/dist-node/index.js.map | 1 + node_modules/@octokit/core/dist-src/index.js | 125 + node_modules/@octokit/core/dist-src/types.js | 1 + .../@octokit/core/dist-src/version.js | 1 + .../@octokit/core/dist-types/index.d.ts | 30 + .../@octokit/core/dist-types/types.d.ts | 44 + .../@octokit/core/dist-types/version.d.ts | 1 + node_modules/@octokit/core/dist-web/index.js | 130 + .../@octokit/core/dist-web/index.js.map | 1 + node_modules/@octokit/core/package.json | 57 + node_modules/@octokit/endpoint/LICENSE | 21 + node_modules/@octokit/endpoint/README.md | 421 + .../@octokit/endpoint/dist-node/index.js | 390 + .../@octokit/endpoint/dist-node/index.js.map | 1 + .../@octokit/endpoint/dist-src/defaults.js | 17 + .../dist-src/endpoint-with-defaults.js | 5 + .../@octokit/endpoint/dist-src/index.js | 3 + .../@octokit/endpoint/dist-src/merge.js | 26 + .../@octokit/endpoint/dist-src/parse.js | 81 + .../dist-src/util/add-query-parameters.js | 17 + .../util/extract-url-variable-names.js | 11 + .../endpoint/dist-src/util/lowercase-keys.js | 9 + .../endpoint/dist-src/util/merge-deep.js | 16 + .../@octokit/endpoint/dist-src/util/omit.js | 8 + .../util/remove-undefined-properties.js | 8 + .../endpoint/dist-src/util/url-template.js | 164 + .../@octokit/endpoint/dist-src/version.js | 1 + .../endpoint/dist-src/with-defaults.js | 13 + .../endpoint/dist-types/defaults.d.ts | 2 + .../dist-types/endpoint-with-defaults.d.ts | 3 + .../@octokit/endpoint/dist-types/index.d.ts | 1 + .../@octokit/endpoint/dist-types/merge.d.ts | 2 + .../@octokit/endpoint/dist-types/parse.d.ts | 2 + .../dist-types/util/add-query-parameters.d.ts | 4 + .../util/extract-url-variable-names.d.ts | 1 + .../dist-types/util/lowercase-keys.d.ts | 5 + .../endpoint/dist-types/util/merge-deep.d.ts | 1 + .../endpoint/dist-types/util/omit.d.ts | 5 + .../util/remove-undefined-properties.d.ts | 1 + .../dist-types/util/url-template.d.ts | 3 + .../@octokit/endpoint/dist-types/version.d.ts | 1 + .../endpoint/dist-types/with-defaults.d.ts | 2 + .../@octokit/endpoint/dist-web/index.js | 381 + .../@octokit/endpoint/dist-web/index.js.map | 1 + node_modules/@octokit/endpoint/package.json | 44 + node_modules/@octokit/graphql/LICENSE | 21 + node_modules/@octokit/graphql/README.md | 409 + .../@octokit/graphql/dist-node/index.js | 118 + .../@octokit/graphql/dist-node/index.js.map | 1 + .../@octokit/graphql/dist-src/error.js | 21 + .../@octokit/graphql/dist-src/graphql.js | 52 + .../@octokit/graphql/dist-src/index.js | 18 + .../@octokit/graphql/dist-src/types.js | 1 + .../@octokit/graphql/dist-src/version.js | 1 + .../graphql/dist-src/with-defaults.js | 12 + .../@octokit/graphql/dist-types/error.d.ts | 13 + .../@octokit/graphql/dist-types/graphql.d.ts | 3 + .../@octokit/graphql/dist-types/index.d.ts | 5 + .../@octokit/graphql/dist-types/types.d.ts | 55 + .../@octokit/graphql/dist-types/version.d.ts | 1 + .../graphql/dist-types/with-defaults.d.ts | 3 + .../@octokit/graphql/dist-web/index.js | 106 + .../@octokit/graphql/dist-web/index.js.map | 1 + node_modules/@octokit/graphql/package.json | 47 + node_modules/@octokit/openapi-types/LICENSE | 7 + node_modules/@octokit/openapi-types/README.md | 17 + .../@octokit/openapi-types/package.json | 20 + .../@octokit/openapi-types/types.d.ts | 34021 ++++++++++++ .../@octokit/plugin-paginate-rest/LICENSE | 7 + .../@octokit/plugin-paginate-rest/README.md | 269 + .../plugin-paginate-rest/dist-node/index.js | 217 + .../dist-node/index.js.map | 1 + .../dist-src/compose-paginate.js | 5 + .../generated/paginating-endpoints.js | 200 + .../plugin-paginate-rest/dist-src/index.js | 17 + .../plugin-paginate-rest/dist-src/iterator.js | 39 + .../normalize-paginated-list-response.js | 47 + .../plugin-paginate-rest/dist-src/paginate.js | 24 + .../dist-src/paginating-endpoints.js | 10 + .../plugin-paginate-rest/dist-src/types.js | 1 + .../plugin-paginate-rest/dist-src/version.js | 1 + .../dist-types/compose-paginate.d.ts | 2 + .../generated/paginating-endpoints.d.ts | 1476 + .../dist-types/index.d.ts | 16 + .../dist-types/iterator.d.ts | 20 + .../normalize-paginated-list-response.d.ts | 18 + .../dist-types/paginate.d.ts | 3 + .../dist-types/paginating-endpoints.d.ts | 3 + .../dist-types/types.d.ts | 242 + .../dist-types/version.d.ts | 1 + .../plugin-paginate-rest/dist-web/index.js | 342 + .../dist-web/index.js.map | 1 + .../plugin-paginate-rest/package.json | 52 + .../plugin-rest-endpoint-methods/LICENSE | 7 + .../plugin-rest-endpoint-methods/README.md | 76 + .../dist-node/index.js | 1025 + .../dist-node/index.js.map | 1 + .../dist-src/endpoints-to-methods.js | 60 + .../dist-src/generated/endpoints.js | 1434 + .../dist-src/generated/method-types.js | 1 + .../parameters-and-response-types.js | 1 + .../dist-src/index.js | 18 + .../dist-src/types.js | 1 + .../dist-src/version.js | 1 + .../dist-types/endpoints-to-methods.d.ts | 4 + .../dist-types/generated/endpoints.d.ts | 3 + .../dist-types/generated/method-types.d.ts | 8460 +++ .../parameters-and-response-types.d.ts | 2837 + .../dist-types/index.d.ts | 11 + .../dist-types/types.d.ts | 18 + .../dist-types/version.d.ts | 1 + .../dist-web/index.js | 1515 + .../dist-web/index.js.map | 1 + .../plugin-rest-endpoint-methods/package.json | 60 + node_modules/@octokit/request-error/LICENSE | 21 + node_modules/@octokit/request-error/README.md | 67 + .../@octokit/request-error/dist-node/index.js | 74 + .../request-error/dist-node/index.js.map | 1 + .../@octokit/request-error/dist-src/index.js | 55 + .../@octokit/request-error/dist-src/types.js | 1 + .../request-error/dist-types/index.d.ts | 33 + .../request-error/dist-types/types.d.ts | 9 + .../@octokit/request-error/dist-web/index.js | 59 + .../request-error/dist-web/index.js.map | 1 + .../@octokit/request-error/package.json | 47 + node_modules/@octokit/request/LICENSE | 21 + node_modules/@octokit/request/README.md | 551 + .../@octokit/request/dist-node/index.js | 177 + .../@octokit/request/dist-node/index.js.map | 1 + .../request/dist-src/fetch-wrapper.js | 119 + .../request/dist-src/get-buffer-response.js | 3 + .../@octokit/request/dist-src/index.js | 9 + .../@octokit/request/dist-src/version.js | 1 + .../request/dist-src/with-defaults.js | 22 + .../request/dist-types/fetch-wrapper.d.ts | 11 + .../dist-types/get-buffer-response.d.ts | 2 + .../@octokit/request/dist-types/index.d.ts | 1 + .../@octokit/request/dist-types/version.d.ts | 1 + .../request/dist-types/with-defaults.d.ts | 2 + .../@octokit/request/dist-web/index.js | 158 + .../@octokit/request/dist-web/index.js.map | 1 + node_modules/@octokit/request/package.json | 56 + node_modules/@octokit/types/LICENSE | 7 + node_modules/@octokit/types/README.md | 65 + .../@octokit/types/dist-node/index.js | 8 + .../@octokit/types/dist-node/index.js.map | 1 + .../@octokit/types/dist-src/AuthInterface.js | 1 + .../types/dist-src/EndpointDefaults.js | 1 + .../types/dist-src/EndpointInterface.js | 1 + .../types/dist-src/EndpointOptions.js | 1 + node_modules/@octokit/types/dist-src/Fetch.js | 1 + .../GetResponseTypeFromEndpointMethod.js | 1 + .../types/dist-src/OctokitResponse.js | 1 + .../@octokit/types/dist-src/RequestError.js | 1 + .../@octokit/types/dist-src/RequestHeaders.js | 1 + .../types/dist-src/RequestInterface.js | 1 + .../@octokit/types/dist-src/RequestMethod.js | 1 + .../@octokit/types/dist-src/RequestOptions.js | 1 + .../types/dist-src/RequestParameters.js | 1 + .../types/dist-src/RequestRequestOptions.js | 1 + .../types/dist-src/ResponseHeaders.js | 1 + node_modules/@octokit/types/dist-src/Route.js | 1 + .../@octokit/types/dist-src/Signal.js | 1 + .../types/dist-src/StrategyInterface.js | 1 + node_modules/@octokit/types/dist-src/Url.js | 1 + .../@octokit/types/dist-src/VERSION.js | 1 + .../types/dist-src/generated/Endpoints.js | 1 + node_modules/@octokit/types/dist-src/index.js | 21 + .../types/dist-types/AuthInterface.d.ts | 31 + .../types/dist-types/EndpointDefaults.d.ts | 21 + .../types/dist-types/EndpointInterface.d.ts | 65 + .../types/dist-types/EndpointOptions.d.ts | 7 + .../@octokit/types/dist-types/Fetch.d.ts | 4 + .../GetResponseTypeFromEndpointMethod.d.ts | 5 + .../types/dist-types/OctokitResponse.d.ts | 17 + .../types/dist-types/RequestError.d.ts | 11 + .../types/dist-types/RequestHeaders.d.ts | 15 + .../types/dist-types/RequestInterface.d.ts | 34 + .../types/dist-types/RequestMethod.d.ts | 4 + .../types/dist-types/RequestOptions.d.ts | 14 + .../types/dist-types/RequestParameters.d.ts | 45 + .../dist-types/RequestRequestOptions.d.ts | 26 + .../types/dist-types/ResponseHeaders.d.ts | 20 + .../@octokit/types/dist-types/Route.d.ts | 4 + .../@octokit/types/dist-types/Signal.d.ts | 6 + .../types/dist-types/StrategyInterface.d.ts | 4 + .../@octokit/types/dist-types/Url.d.ts | 4 + .../@octokit/types/dist-types/VERSION.d.ts | 1 + .../types/dist-types/generated/Endpoints.d.ts | 3162 ++ .../@octokit/types/dist-types/index.d.ts | 21 + node_modules/@octokit/types/dist-web/index.js | 4 + .../@octokit/types/dist-web/index.js.map | 1 + node_modules/@octokit/types/package.json | 54 + node_modules/aggregate-error/index.d.ts | 51 + node_modules/aggregate-error/index.js | 47 + node_modules/aggregate-error/license | 9 + node_modules/aggregate-error/package.json | 41 + node_modules/aggregate-error/readme.md | 61 + node_modules/ansi-regex/index.d.ts | 37 + node_modules/ansi-regex/index.js | 10 + node_modules/ansi-regex/license | 9 + node_modules/ansi-regex/package.json | 55 + node_modules/ansi-regex/readme.md | 78 + node_modules/ansi-styles/index.js | 165 + node_modules/ansi-styles/license | 9 + node_modules/ansi-styles/package.json | 56 + node_modules/ansi-styles/readme.md | 147 + node_modules/append-transform/CHANGELOG.md | 14 + node_modules/append-transform/index.js | 91 + node_modules/append-transform/license | 21 + node_modules/append-transform/package.json | 47 + node_modules/append-transform/readme.md | 76 + node_modules/archy/.travis.yml | 4 + node_modules/archy/LICENSE | 18 + node_modules/archy/examples/beep.js | 24 + node_modules/archy/examples/multi_line.js | 25 + node_modules/archy/index.js | 35 + node_modules/archy/package.json | 40 + node_modules/archy/readme.markdown | 88 + node_modules/archy/test/beep.js | 40 + node_modules/archy/test/multi_line.js | 45 + node_modules/archy/test/non_unicode.js | 40 + node_modules/argparse/CHANGELOG.md | 185 + node_modules/argparse/LICENSE | 21 + node_modules/argparse/README.md | 257 + node_modules/argparse/index.js | 3 + node_modules/argparse/lib/action.js | 146 + node_modules/argparse/lib/action/append.js | 53 + .../argparse/lib/action/append/constant.js | 47 + node_modules/argparse/lib/action/count.js | 40 + node_modules/argparse/lib/action/help.js | 47 + node_modules/argparse/lib/action/store.js | 50 + .../argparse/lib/action/store/constant.js | 43 + .../argparse/lib/action/store/false.js | 27 + .../argparse/lib/action/store/true.js | 26 + .../argparse/lib/action/subparsers.js | 149 + node_modules/argparse/lib/action/version.js | 47 + node_modules/argparse/lib/action_container.js | 482 + node_modules/argparse/lib/argparse.js | 14 + node_modules/argparse/lib/argument/error.js | 50 + .../argparse/lib/argument/exclusive.js | 54 + node_modules/argparse/lib/argument/group.js | 75 + node_modules/argparse/lib/argument_parser.js | 1161 + node_modules/argparse/lib/const.js | 21 + .../argparse/lib/help/added_formatters.js | 87 + node_modules/argparse/lib/help/formatter.js | 795 + node_modules/argparse/lib/namespace.js | 76 + node_modules/argparse/lib/utils.js | 57 + node_modules/argparse/package.json | 34 + node_modules/asn1.js/.eslintrc.js | 27 + node_modules/asn1.js/LICENSE | 21 + node_modules/asn1.js/README.md | 100 + node_modules/asn1.js/lib/asn1.js | 11 + node_modules/asn1.js/lib/asn1/api.js | 57 + node_modules/asn1.js/lib/asn1/base/buffer.js | 153 + node_modules/asn1.js/lib/asn1/base/index.js | 8 + node_modules/asn1.js/lib/asn1/base/node.js | 638 + .../asn1.js/lib/asn1/base/reporter.js | 123 + .../asn1.js/lib/asn1/constants/der.js | 58 + .../asn1.js/lib/asn1/constants/index.js | 21 + node_modules/asn1.js/lib/asn1/decoders/der.js | 335 + .../asn1.js/lib/asn1/decoders/index.js | 6 + node_modules/asn1.js/lib/asn1/decoders/pem.js | 51 + node_modules/asn1.js/lib/asn1/encoders/der.js | 295 + .../asn1.js/lib/asn1/encoders/index.js | 6 + node_modules/asn1.js/lib/asn1/encoders/pem.js | 23 + node_modules/asn1.js/package.json | 36 + .../balanced-match/.github/FUNDING.yml | 2 + node_modules/balanced-match/LICENSE.md | 21 + node_modules/balanced-match/README.md | 97 + node_modules/balanced-match/index.js | 62 + node_modules/balanced-match/package.json | 48 + node_modules/before-after-hook/LICENSE | 201 + node_modules/before-after-hook/README.md | 655 + node_modules/before-after-hook/index.d.ts | 186 + node_modules/before-after-hook/index.js | 57 + node_modules/before-after-hook/lib/add.js | 46 + .../before-after-hook/lib/register.js | 27 + node_modules/before-after-hook/lib/remove.js | 19 + node_modules/before-after-hook/package.json | 66 + node_modules/bn.js/LICENSE | 19 + node_modules/bn.js/README.md | 200 + node_modules/bn.js/lib/bn.js | 3446 ++ node_modules/bn.js/package.json | 36 + node_modules/brace-expansion/LICENSE | 21 + node_modules/brace-expansion/README.md | 129 + node_modules/brace-expansion/index.js | 201 + node_modules/brace-expansion/package.json | 47 + node_modules/browserslist/LICENSE | 20 + node_modules/browserslist/README.md | 710 + node_modules/browserslist/browser.js | 46 + node_modules/browserslist/cli.js | 145 + node_modules/browserslist/error.d.ts | 7 + node_modules/browserslist/error.js | 12 + node_modules/browserslist/index.d.ts | 172 + node_modules/browserslist/index.js | 1215 + node_modules/browserslist/node.js | 388 + node_modules/browserslist/package.json | 35 + node_modules/browserslist/update-db.js | 331 + node_modules/caching-transform/index.js | 102 + node_modules/caching-transform/license | 21 + node_modules/caching-transform/package.json | 46 + node_modules/caching-transform/readme.md | 163 + node_modules/camelcase/index.d.ts | 63 + node_modules/camelcase/index.js | 76 + node_modules/camelcase/license | 9 + node_modules/camelcase/package.json | 43 + node_modules/camelcase/readme.md | 99 + node_modules/caniuse-lite/LICENSE | 395 + node_modules/caniuse-lite/README.md | 92 + node_modules/caniuse-lite/data/agents.js | 1 + .../caniuse-lite/data/browserVersions.js | 1 + node_modules/caniuse-lite/data/browsers.js | 1 + node_modules/caniuse-lite/data/features.js | 1 + .../caniuse-lite/data/features/aac.js | 1 + .../data/features/abortcontroller.js | 1 + .../caniuse-lite/data/features/ac3-ec3.js | 1 + .../data/features/accelerometer.js | 1 + .../data/features/addeventlistener.js | 1 + .../data/features/alternate-stylesheet.js | 1 + .../data/features/ambient-light.js | 1 + .../caniuse-lite/data/features/apng.js | 1 + .../data/features/array-find-index.js | 1 + .../caniuse-lite/data/features/array-find.js | 1 + .../caniuse-lite/data/features/array-flat.js | 1 + .../data/features/array-includes.js | 1 + .../data/features/arrow-functions.js | 1 + .../caniuse-lite/data/features/asmjs.js | 1 + .../data/features/async-clipboard.js | 1 + .../data/features/async-functions.js | 1 + .../caniuse-lite/data/features/atob-btoa.js | 1 + .../caniuse-lite/data/features/audio-api.js | 1 + .../caniuse-lite/data/features/audio.js | 1 + .../caniuse-lite/data/features/audiotracks.js | 1 + .../caniuse-lite/data/features/autofocus.js | 1 + .../caniuse-lite/data/features/auxclick.js | 1 + .../caniuse-lite/data/features/av1.js | 1 + .../caniuse-lite/data/features/avif.js | 1 + .../data/features/background-attachment.js | 1 + .../data/features/background-clip-text.js | 1 + .../data/features/background-img-opts.js | 1 + .../data/features/background-position-x-y.js | 1 + .../features/background-repeat-round-space.js | 1 + .../data/features/background-sync.js | 1 + .../data/features/battery-status.js | 1 + .../caniuse-lite/data/features/beacon.js | 1 + .../data/features/beforeafterprint.js | 1 + .../caniuse-lite/data/features/bigint.js | 1 + .../caniuse-lite/data/features/blobbuilder.js | 1 + .../caniuse-lite/data/features/bloburls.js | 1 + .../data/features/border-image.js | 1 + .../data/features/border-radius.js | 1 + .../data/features/broadcastchannel.js | 1 + .../caniuse-lite/data/features/brotli.js | 1 + .../caniuse-lite/data/features/calc.js | 1 + .../data/features/canvas-blending.js | 1 + .../caniuse-lite/data/features/canvas-text.js | 1 + .../caniuse-lite/data/features/canvas.js | 1 + .../caniuse-lite/data/features/ch-unit.js | 1 + .../data/features/chacha20-poly1305.js | 1 + .../data/features/channel-messaging.js | 1 + .../data/features/childnode-remove.js | 1 + .../caniuse-lite/data/features/classlist.js | 1 + .../client-hints-dpr-width-viewport.js | 1 + .../caniuse-lite/data/features/clipboard.js | 1 + .../caniuse-lite/data/features/colr.js | 1 + .../data/features/comparedocumentposition.js | 1 + .../data/features/console-basic.js | 1 + .../data/features/console-time.js | 1 + .../caniuse-lite/data/features/const.js | 1 + .../data/features/constraint-validation.js | 1 + .../data/features/contenteditable.js | 1 + .../data/features/contentsecuritypolicy.js | 1 + .../data/features/contentsecuritypolicy2.js | 1 + .../data/features/cookie-store-api.js | 1 + .../caniuse-lite/data/features/cors.js | 1 + .../data/features/createimagebitmap.js | 1 + .../data/features/credential-management.js | 1 + .../data/features/cryptography.js | 1 + .../caniuse-lite/data/features/css-all.js | 1 + .../data/features/css-animation.js | 1 + .../data/features/css-any-link.js | 1 + .../data/features/css-appearance.js | 1 + .../data/features/css-apply-rule.js | 1 + .../data/features/css-at-counter-style.js | 1 + .../data/features/css-backdrop-filter.js | 1 + .../data/features/css-background-offsets.js | 1 + .../data/features/css-backgroundblendmode.js | 1 + .../data/features/css-boxdecorationbreak.js | 1 + .../data/features/css-boxshadow.js | 1 + .../caniuse-lite/data/features/css-canvas.js | 1 + .../data/features/css-caret-color.js | 1 + .../data/features/css-cascade-layers.js | 1 + .../data/features/css-case-insensitive.js | 1 + .../data/features/css-clip-path.js | 1 + .../data/features/css-color-adjust.js | 1 + .../data/features/css-color-function.js | 1 + .../data/features/css-conic-gradients.js | 1 + .../data/features/css-container-queries.js | 1 + .../data/features/css-containment.js | 1 + .../data/features/css-content-visibility.js | 1 + .../data/features/css-counters.js | 1 + .../data/features/css-crisp-edges.js | 1 + .../data/features/css-cross-fade.js | 1 + .../data/features/css-default-pseudo.js | 1 + .../data/features/css-descendant-gtgt.js | 1 + .../data/features/css-deviceadaptation.js | 1 + .../data/features/css-dir-pseudo.js | 1 + .../data/features/css-display-contents.js | 1 + .../data/features/css-element-function.js | 1 + .../data/features/css-env-function.js | 1 + .../data/features/css-exclusions.js | 1 + .../data/features/css-featurequeries.js | 1 + .../data/features/css-filter-function.js | 1 + .../caniuse-lite/data/features/css-filters.js | 1 + .../data/features/css-first-letter.js | 1 + .../data/features/css-first-line.js | 1 + .../caniuse-lite/data/features/css-fixed.js | 1 + .../data/features/css-focus-visible.js | 1 + .../data/features/css-focus-within.js | 1 + .../features/css-font-rendering-controls.js | 1 + .../data/features/css-font-stretch.js | 1 + .../data/features/css-gencontent.js | 1 + .../data/features/css-gradients.js | 1 + .../caniuse-lite/data/features/css-grid.js | 1 + .../data/features/css-hanging-punctuation.js | 1 + .../caniuse-lite/data/features/css-has.js | 1 + .../data/features/css-hyphenate.js | 1 + .../caniuse-lite/data/features/css-hyphens.js | 1 + .../data/features/css-image-orientation.js | 1 + .../data/features/css-image-set.js | 1 + .../data/features/css-in-out-of-range.js | 1 + .../data/features/css-indeterminate-pseudo.js | 1 + .../data/features/css-initial-letter.js | 1 + .../data/features/css-initial-value.js | 1 + .../data/features/css-letter-spacing.js | 1 + .../data/features/css-line-clamp.js | 1 + .../data/features/css-logical-props.js | 1 + .../data/features/css-marker-pseudo.js | 1 + .../caniuse-lite/data/features/css-masks.js | 1 + .../data/features/css-matches-pseudo.js | 1 + .../data/features/css-math-functions.js | 1 + .../data/features/css-media-interaction.js | 1 + .../data/features/css-media-resolution.js | 1 + .../data/features/css-media-scripting.js | 1 + .../data/features/css-mediaqueries.js | 1 + .../data/features/css-mixblendmode.js | 1 + .../data/features/css-motion-paths.js | 1 + .../data/features/css-namespaces.js | 1 + .../caniuse-lite/data/features/css-nesting.js | 1 + .../data/features/css-not-sel-list.js | 1 + .../data/features/css-nth-child-of.js | 1 + .../caniuse-lite/data/features/css-opacity.js | 1 + .../data/features/css-optional-pseudo.js | 1 + .../data/features/css-overflow-anchor.js | 1 + .../data/features/css-overflow-overlay.js | 1 + .../data/features/css-overflow.js | 1 + .../data/features/css-overscroll-behavior.js | 1 + .../data/features/css-page-break.js | 1 + .../data/features/css-paged-media.js | 1 + .../data/features/css-paint-api.js | 1 + .../data/features/css-placeholder-shown.js | 1 + .../data/features/css-placeholder.js | 1 + .../data/features/css-read-only-write.js | 1 + .../data/features/css-rebeccapurple.js | 1 + .../data/features/css-reflections.js | 1 + .../caniuse-lite/data/features/css-regions.js | 1 + .../data/features/css-repeating-gradients.js | 1 + .../caniuse-lite/data/features/css-resize.js | 1 + .../data/features/css-revert-value.js | 1 + .../data/features/css-rrggbbaa.js | 1 + .../data/features/css-scroll-behavior.js | 1 + .../data/features/css-scroll-timeline.js | 1 + .../data/features/css-scrollbar.js | 1 + .../caniuse-lite/data/features/css-sel2.js | 1 + .../caniuse-lite/data/features/css-sel3.js | 1 + .../data/features/css-selection.js | 1 + .../caniuse-lite/data/features/css-shapes.js | 1 + .../data/features/css-snappoints.js | 1 + .../caniuse-lite/data/features/css-sticky.js | 1 + .../caniuse-lite/data/features/css-subgrid.js | 1 + .../data/features/css-supports-api.js | 1 + .../caniuse-lite/data/features/css-table.js | 1 + .../data/features/css-text-align-last.js | 1 + .../data/features/css-text-indent.js | 1 + .../data/features/css-text-justify.js | 1 + .../data/features/css-text-orientation.js | 1 + .../data/features/css-text-spacing.js | 1 + .../data/features/css-textshadow.js | 1 + .../data/features/css-touch-action-2.js | 1 + .../data/features/css-touch-action.js | 1 + .../data/features/css-transitions.js | 1 + .../data/features/css-unicode-bidi.js | 1 + .../data/features/css-unset-value.js | 1 + .../data/features/css-variables.js | 1 + .../data/features/css-widows-orphans.js | 1 + .../data/features/css-writing-mode.js | 1 + .../caniuse-lite/data/features/css-zoom.js | 1 + .../caniuse-lite/data/features/css3-attr.js | 1 + .../data/features/css3-boxsizing.js | 1 + .../caniuse-lite/data/features/css3-colors.js | 1 + .../data/features/css3-cursors-grab.js | 1 + .../data/features/css3-cursors-newer.js | 1 + .../data/features/css3-cursors.js | 1 + .../data/features/css3-tabsize.js | 1 + .../data/features/currentcolor.js | 1 + .../data/features/custom-elements.js | 1 + .../data/features/custom-elementsv1.js | 1 + .../caniuse-lite/data/features/customevent.js | 1 + .../caniuse-lite/data/features/datalist.js | 1 + .../caniuse-lite/data/features/dataset.js | 1 + .../caniuse-lite/data/features/datauri.js | 1 + .../data/features/date-tolocaledatestring.js | 1 + .../caniuse-lite/data/features/decorators.js | 1 + .../caniuse-lite/data/features/details.js | 1 + .../data/features/deviceorientation.js | 1 + .../data/features/devicepixelratio.js | 1 + .../caniuse-lite/data/features/dialog.js | 1 + .../data/features/dispatchevent.js | 1 + .../caniuse-lite/data/features/dnssec.js | 1 + .../data/features/do-not-track.js | 1 + .../data/features/document-currentscript.js | 1 + .../data/features/document-evaluate-xpath.js | 1 + .../data/features/document-execcommand.js | 1 + .../data/features/document-policy.js | 1 + .../features/document-scrollingelement.js | 1 + .../data/features/documenthead.js | 1 + .../data/features/dom-manip-convenience.js | 1 + .../caniuse-lite/data/features/dom-range.js | 1 + .../data/features/domcontentloaded.js | 1 + .../features/domfocusin-domfocusout-events.js | 1 + .../caniuse-lite/data/features/dommatrix.js | 1 + .../caniuse-lite/data/features/download.js | 1 + .../caniuse-lite/data/features/dragndrop.js | 1 + .../data/features/element-closest.js | 1 + .../data/features/element-from-point.js | 1 + .../data/features/element-scroll-methods.js | 1 + .../caniuse-lite/data/features/eme.js | 1 + .../caniuse-lite/data/features/eot.js | 1 + .../caniuse-lite/data/features/es5.js | 1 + .../caniuse-lite/data/features/es6-class.js | 1 + .../data/features/es6-generators.js | 1 + .../features/es6-module-dynamic-import.js | 1 + .../caniuse-lite/data/features/es6-module.js | 1 + .../caniuse-lite/data/features/es6-number.js | 1 + .../data/features/es6-string-includes.js | 1 + .../caniuse-lite/data/features/es6.js | 1 + .../caniuse-lite/data/features/eventsource.js | 1 + .../data/features/extended-system-fonts.js | 1 + .../data/features/feature-policy.js | 1 + .../caniuse-lite/data/features/fetch.js | 1 + .../data/features/fieldset-disabled.js | 1 + .../caniuse-lite/data/features/fileapi.js | 1 + .../caniuse-lite/data/features/filereader.js | 1 + .../data/features/filereadersync.js | 1 + .../caniuse-lite/data/features/filesystem.js | 1 + .../caniuse-lite/data/features/flac.js | 1 + .../caniuse-lite/data/features/flexbox-gap.js | 1 + .../caniuse-lite/data/features/flexbox.js | 1 + .../caniuse-lite/data/features/flow-root.js | 1 + .../data/features/focusin-focusout-events.js | 1 + .../features/focusoptions-preventscroll.js | 1 + .../data/features/font-family-system-ui.js | 1 + .../data/features/font-feature.js | 1 + .../data/features/font-kerning.js | 1 + .../data/features/font-loading.js | 1 + .../data/features/font-metrics-overrides.js | 1 + .../data/features/font-size-adjust.js | 1 + .../caniuse-lite/data/features/font-smooth.js | 1 + .../data/features/font-unicode-range.js | 1 + .../data/features/font-variant-alternates.js | 1 + .../data/features/font-variant-east-asian.js | 1 + .../data/features/font-variant-numeric.js | 1 + .../caniuse-lite/data/features/fontface.js | 1 + .../data/features/form-attribute.js | 1 + .../data/features/form-submit-attributes.js | 1 + .../data/features/form-validation.js | 1 + .../caniuse-lite/data/features/forms.js | 1 + .../caniuse-lite/data/features/fullscreen.js | 1 + .../caniuse-lite/data/features/gamepad.js | 1 + .../caniuse-lite/data/features/geolocation.js | 1 + .../data/features/getboundingclientrect.js | 1 + .../data/features/getcomputedstyle.js | 1 + .../data/features/getelementsbyclassname.js | 1 + .../data/features/getrandomvalues.js | 1 + .../caniuse-lite/data/features/gyroscope.js | 1 + .../data/features/hardwareconcurrency.js | 1 + .../caniuse-lite/data/features/hashchange.js | 1 + .../caniuse-lite/data/features/heif.js | 1 + .../caniuse-lite/data/features/hevc.js | 1 + .../caniuse-lite/data/features/hidden.js | 1 + .../data/features/high-resolution-time.js | 1 + .../caniuse-lite/data/features/history.js | 1 + .../data/features/html-media-capture.js | 1 + .../data/features/html5semantic.js | 1 + .../data/features/http-live-streaming.js | 1 + .../caniuse-lite/data/features/http2.js | 1 + .../caniuse-lite/data/features/http3.js | 1 + .../data/features/iframe-sandbox.js | 1 + .../data/features/iframe-seamless.js | 1 + .../data/features/iframe-srcdoc.js | 1 + .../data/features/imagecapture.js | 1 + .../caniuse-lite/data/features/ime.js | 1 + .../img-naturalwidth-naturalheight.js | 1 + .../caniuse-lite/data/features/import-maps.js | 1 + .../caniuse-lite/data/features/imports.js | 1 + .../data/features/indeterminate-checkbox.js | 1 + .../caniuse-lite/data/features/indexeddb.js | 1 + .../caniuse-lite/data/features/indexeddb2.js | 1 + .../data/features/inline-block.js | 1 + .../caniuse-lite/data/features/innertext.js | 1 + .../data/features/input-autocomplete-onoff.js | 1 + .../caniuse-lite/data/features/input-color.js | 1 + .../data/features/input-datetime.js | 1 + .../data/features/input-email-tel-url.js | 1 + .../caniuse-lite/data/features/input-event.js | 1 + .../data/features/input-file-accept.js | 1 + .../data/features/input-file-directory.js | 1 + .../data/features/input-file-multiple.js | 1 + .../data/features/input-inputmode.js | 1 + .../data/features/input-minlength.js | 1 + .../data/features/input-number.js | 1 + .../data/features/input-pattern.js | 1 + .../data/features/input-placeholder.js | 1 + .../caniuse-lite/data/features/input-range.js | 1 + .../data/features/input-search.js | 1 + .../data/features/input-selection.js | 1 + .../data/features/insert-adjacent.js | 1 + .../data/features/insertadjacenthtml.js | 1 + .../data/features/internationalization.js | 1 + .../data/features/intersectionobserver-v2.js | 1 + .../data/features/intersectionobserver.js | 1 + .../data/features/intl-pluralrules.js | 1 + .../data/features/intrinsic-width.js | 1 + .../caniuse-lite/data/features/jpeg2000.js | 1 + .../caniuse-lite/data/features/jpegxl.js | 1 + .../caniuse-lite/data/features/jpegxr.js | 1 + .../data/features/js-regexp-lookbehind.js | 1 + .../caniuse-lite/data/features/json.js | 1 + .../features/justify-content-space-evenly.js | 1 + .../data/features/kerning-pairs-ligatures.js | 1 + .../data/features/keyboardevent-charcode.js | 1 + .../data/features/keyboardevent-code.js | 1 + .../keyboardevent-getmodifierstate.js | 1 + .../data/features/keyboardevent-key.js | 1 + .../data/features/keyboardevent-location.js | 1 + .../data/features/keyboardevent-which.js | 1 + .../caniuse-lite/data/features/lazyload.js | 1 + .../caniuse-lite/data/features/let.js | 1 + .../data/features/link-icon-png.js | 1 + .../data/features/link-icon-svg.js | 1 + .../data/features/link-rel-dns-prefetch.js | 1 + .../data/features/link-rel-modulepreload.js | 1 + .../data/features/link-rel-preconnect.js | 1 + .../data/features/link-rel-prefetch.js | 1 + .../data/features/link-rel-preload.js | 1 + .../data/features/link-rel-prerender.js | 1 + .../data/features/loading-lazy-attr.js | 1 + .../data/features/localecompare.js | 1 + .../data/features/magnetometer.js | 1 + .../data/features/matchesselector.js | 1 + .../caniuse-lite/data/features/matchmedia.js | 1 + .../caniuse-lite/data/features/mathml.js | 1 + .../caniuse-lite/data/features/maxlength.js | 1 + .../data/features/media-attribute.js | 1 + .../data/features/media-fragments.js | 1 + .../data/features/media-session-api.js | 1 + .../data/features/mediacapture-fromelement.js | 1 + .../data/features/mediarecorder.js | 1 + .../caniuse-lite/data/features/mediasource.js | 1 + .../caniuse-lite/data/features/menu.js | 1 + .../data/features/meta-theme-color.js | 1 + .../caniuse-lite/data/features/meter.js | 1 + .../caniuse-lite/data/features/midi.js | 1 + .../caniuse-lite/data/features/minmaxwh.js | 1 + .../caniuse-lite/data/features/mp3.js | 1 + .../caniuse-lite/data/features/mpeg-dash.js | 1 + .../caniuse-lite/data/features/mpeg4.js | 1 + .../data/features/multibackgrounds.js | 1 + .../caniuse-lite/data/features/multicolumn.js | 1 + .../data/features/mutation-events.js | 1 + .../data/features/mutationobserver.js | 1 + .../data/features/namevalue-storage.js | 1 + .../data/features/native-filesystem-api.js | 1 + .../caniuse-lite/data/features/nav-timing.js | 1 + .../data/features/navigator-language.js | 1 + .../caniuse-lite/data/features/netinfo.js | 1 + .../data/features/notifications.js | 1 + .../data/features/object-entries.js | 1 + .../caniuse-lite/data/features/object-fit.js | 1 + .../data/features/object-observe.js | 1 + .../data/features/object-values.js | 1 + .../caniuse-lite/data/features/objectrtc.js | 1 + .../data/features/offline-apps.js | 1 + .../data/features/offscreencanvas.js | 1 + .../caniuse-lite/data/features/ogg-vorbis.js | 1 + .../caniuse-lite/data/features/ogv.js | 1 + .../caniuse-lite/data/features/ol-reversed.js | 1 + .../data/features/once-event-listener.js | 1 + .../data/features/online-status.js | 1 + .../caniuse-lite/data/features/opus.js | 1 + .../data/features/orientation-sensor.js | 1 + .../caniuse-lite/data/features/outline.js | 1 + .../data/features/pad-start-end.js | 1 + .../data/features/page-transition-events.js | 1 + .../data/features/pagevisibility.js | 1 + .../data/features/passive-event-listener.js | 1 + .../data/features/passwordrules.js | 1 + .../caniuse-lite/data/features/path2d.js | 1 + .../data/features/payment-request.js | 1 + .../caniuse-lite/data/features/pdf-viewer.js | 1 + .../data/features/permissions-api.js | 1 + .../data/features/permissions-policy.js | 1 + .../data/features/picture-in-picture.js | 1 + .../caniuse-lite/data/features/picture.js | 1 + .../caniuse-lite/data/features/ping.js | 1 + .../caniuse-lite/data/features/png-alpha.js | 1 + .../data/features/pointer-events.js | 1 + .../caniuse-lite/data/features/pointer.js | 1 + .../caniuse-lite/data/features/pointerlock.js | 1 + .../caniuse-lite/data/features/portals.js | 1 + .../data/features/prefers-color-scheme.js | 1 + .../data/features/prefers-reduced-motion.js | 1 + .../data/features/private-class-fields.js | 1 + .../features/private-methods-and-accessors.js | 1 + .../caniuse-lite/data/features/progress.js | 1 + .../data/features/promise-finally.js | 1 + .../caniuse-lite/data/features/promises.js | 1 + .../caniuse-lite/data/features/proximity.js | 1 + .../caniuse-lite/data/features/proxy.js | 1 + .../data/features/public-class-fields.js | 1 + .../data/features/publickeypinning.js | 1 + .../caniuse-lite/data/features/push-api.js | 1 + .../data/features/queryselector.js | 1 + .../data/features/readonly-attr.js | 1 + .../data/features/referrer-policy.js | 1 + .../data/features/registerprotocolhandler.js | 1 + .../data/features/rel-noopener.js | 1 + .../data/features/rel-noreferrer.js | 1 + .../caniuse-lite/data/features/rellist.js | 1 + .../caniuse-lite/data/features/rem.js | 1 + .../data/features/requestanimationframe.js | 1 + .../data/features/requestidlecallback.js | 1 + .../data/features/resizeobserver.js | 1 + .../data/features/resource-timing.js | 1 + .../data/features/rest-parameters.js | 1 + .../data/features/rtcpeerconnection.js | 1 + .../caniuse-lite/data/features/ruby.js | 1 + .../caniuse-lite/data/features/run-in.js | 1 + .../features/same-site-cookie-attribute.js | 1 + .../data/features/screen-orientation.js | 1 + .../data/features/script-async.js | 1 + .../data/features/script-defer.js | 1 + .../data/features/scrollintoview.js | 1 + .../data/features/scrollintoviewifneeded.js | 1 + .../caniuse-lite/data/features/sdch.js | 1 + .../data/features/selection-api.js | 1 + .../data/features/server-timing.js | 1 + .../data/features/serviceworkers.js | 1 + .../data/features/setimmediate.js | 1 + .../caniuse-lite/data/features/sha-2.js | 1 + .../caniuse-lite/data/features/shadowdom.js | 1 + .../caniuse-lite/data/features/shadowdomv1.js | 1 + .../data/features/sharedarraybuffer.js | 1 + .../data/features/sharedworkers.js | 1 + .../caniuse-lite/data/features/sni.js | 1 + .../caniuse-lite/data/features/spdy.js | 1 + .../data/features/speech-recognition.js | 1 + .../data/features/speech-synthesis.js | 1 + .../data/features/spellcheck-attribute.js | 1 + .../caniuse-lite/data/features/sql-storage.js | 1 + .../caniuse-lite/data/features/srcset.js | 1 + .../caniuse-lite/data/features/stream.js | 1 + .../caniuse-lite/data/features/streams.js | 1 + .../data/features/stricttransportsecurity.js | 1 + .../data/features/style-scoped.js | 1 + .../data/features/subresource-integrity.js | 1 + .../caniuse-lite/data/features/svg-css.js | 1 + .../caniuse-lite/data/features/svg-filters.js | 1 + .../caniuse-lite/data/features/svg-fonts.js | 1 + .../data/features/svg-fragment.js | 1 + .../caniuse-lite/data/features/svg-html.js | 1 + .../caniuse-lite/data/features/svg-html5.js | 1 + .../caniuse-lite/data/features/svg-img.js | 1 + .../caniuse-lite/data/features/svg-smil.js | 1 + .../caniuse-lite/data/features/svg.js | 1 + .../caniuse-lite/data/features/sxg.js | 1 + .../data/features/tabindex-attr.js | 1 + .../data/features/template-literals.js | 1 + .../caniuse-lite/data/features/template.js | 1 + .../caniuse-lite/data/features/temporal.js | 1 + .../caniuse-lite/data/features/testfeat.js | 1 + .../data/features/text-decoration.js | 1 + .../data/features/text-emphasis.js | 1 + .../data/features/text-overflow.js | 1 + .../data/features/text-size-adjust.js | 1 + .../caniuse-lite/data/features/text-stroke.js | 1 + .../data/features/text-underline-offset.js | 1 + .../caniuse-lite/data/features/textcontent.js | 1 + .../caniuse-lite/data/features/textencoder.js | 1 + .../caniuse-lite/data/features/tls1-1.js | 1 + .../caniuse-lite/data/features/tls1-2.js | 1 + .../caniuse-lite/data/features/tls1-3.js | 1 + .../data/features/token-binding.js | 1 + .../caniuse-lite/data/features/touch.js | 1 + .../data/features/transforms2d.js | 1 + .../data/features/transforms3d.js | 1 + .../data/features/trusted-types.js | 1 + .../caniuse-lite/data/features/ttf.js | 1 + .../caniuse-lite/data/features/typedarrays.js | 1 + .../caniuse-lite/data/features/u2f.js | 1 + .../data/features/unhandledrejection.js | 1 + .../data/features/upgradeinsecurerequests.js | 1 + .../features/url-scroll-to-text-fragment.js | 1 + .../caniuse-lite/data/features/url.js | 1 + .../data/features/urlsearchparams.js | 1 + .../caniuse-lite/data/features/use-strict.js | 1 + .../data/features/user-select-none.js | 1 + .../caniuse-lite/data/features/user-timing.js | 1 + .../data/features/variable-fonts.js | 1 + .../data/features/vector-effect.js | 1 + .../caniuse-lite/data/features/vibration.js | 1 + .../caniuse-lite/data/features/video.js | 1 + .../caniuse-lite/data/features/videotracks.js | 1 + .../data/features/viewport-unit-variants.js | 1 + .../data/features/viewport-units.js | 1 + .../caniuse-lite/data/features/wai-aria.js | 1 + .../caniuse-lite/data/features/wake-lock.js | 1 + .../caniuse-lite/data/features/wasm.js | 1 + .../caniuse-lite/data/features/wav.js | 1 + .../caniuse-lite/data/features/wbr-element.js | 1 + .../data/features/web-animation.js | 1 + .../data/features/web-app-manifest.js | 1 + .../data/features/web-bluetooth.js | 1 + .../caniuse-lite/data/features/web-serial.js | 1 + .../caniuse-lite/data/features/web-share.js | 1 + .../caniuse-lite/data/features/webauthn.js | 1 + .../caniuse-lite/data/features/webgl.js | 1 + .../caniuse-lite/data/features/webgl2.js | 1 + .../caniuse-lite/data/features/webgpu.js | 1 + .../caniuse-lite/data/features/webhid.js | 1 + .../data/features/webkit-user-drag.js | 1 + .../caniuse-lite/data/features/webm.js | 1 + .../caniuse-lite/data/features/webnfc.js | 1 + .../caniuse-lite/data/features/webp.js | 1 + .../caniuse-lite/data/features/websockets.js | 1 + .../caniuse-lite/data/features/webusb.js | 1 + .../caniuse-lite/data/features/webvr.js | 1 + .../caniuse-lite/data/features/webvtt.js | 1 + .../caniuse-lite/data/features/webworkers.js | 1 + .../caniuse-lite/data/features/webxr.js | 1 + .../caniuse-lite/data/features/will-change.js | 1 + .../caniuse-lite/data/features/woff.js | 1 + .../caniuse-lite/data/features/woff2.js | 1 + .../caniuse-lite/data/features/word-break.js | 1 + .../caniuse-lite/data/features/wordwrap.js | 1 + .../data/features/x-doc-messaging.js | 1 + .../data/features/x-frame-options.js | 1 + .../caniuse-lite/data/features/xhr2.js | 1 + .../caniuse-lite/data/features/xhtml.js | 1 + .../caniuse-lite/data/features/xhtmlsmil.js | 1 + .../data/features/xml-serializer.js | 1 + node_modules/caniuse-lite/data/regions/AD.js | 1 + node_modules/caniuse-lite/data/regions/AE.js | 1 + node_modules/caniuse-lite/data/regions/AF.js | 1 + node_modules/caniuse-lite/data/regions/AG.js | 1 + node_modules/caniuse-lite/data/regions/AI.js | 1 + node_modules/caniuse-lite/data/regions/AL.js | 1 + node_modules/caniuse-lite/data/regions/AM.js | 1 + node_modules/caniuse-lite/data/regions/AO.js | 1 + node_modules/caniuse-lite/data/regions/AR.js | 1 + node_modules/caniuse-lite/data/regions/AS.js | 1 + node_modules/caniuse-lite/data/regions/AT.js | 1 + node_modules/caniuse-lite/data/regions/AU.js | 1 + node_modules/caniuse-lite/data/regions/AW.js | 1 + node_modules/caniuse-lite/data/regions/AX.js | 1 + node_modules/caniuse-lite/data/regions/AZ.js | 1 + node_modules/caniuse-lite/data/regions/BA.js | 1 + node_modules/caniuse-lite/data/regions/BB.js | 1 + node_modules/caniuse-lite/data/regions/BD.js | 1 + node_modules/caniuse-lite/data/regions/BE.js | 1 + node_modules/caniuse-lite/data/regions/BF.js | 1 + node_modules/caniuse-lite/data/regions/BG.js | 1 + node_modules/caniuse-lite/data/regions/BH.js | 1 + node_modules/caniuse-lite/data/regions/BI.js | 1 + node_modules/caniuse-lite/data/regions/BJ.js | 1 + node_modules/caniuse-lite/data/regions/BM.js | 1 + node_modules/caniuse-lite/data/regions/BN.js | 1 + node_modules/caniuse-lite/data/regions/BO.js | 1 + node_modules/caniuse-lite/data/regions/BR.js | 1 + node_modules/caniuse-lite/data/regions/BS.js | 1 + node_modules/caniuse-lite/data/regions/BT.js | 1 + node_modules/caniuse-lite/data/regions/BW.js | 1 + node_modules/caniuse-lite/data/regions/BY.js | 1 + node_modules/caniuse-lite/data/regions/BZ.js | 1 + node_modules/caniuse-lite/data/regions/CA.js | 1 + node_modules/caniuse-lite/data/regions/CD.js | 1 + node_modules/caniuse-lite/data/regions/CF.js | 1 + node_modules/caniuse-lite/data/regions/CG.js | 1 + node_modules/caniuse-lite/data/regions/CH.js | 1 + node_modules/caniuse-lite/data/regions/CI.js | 1 + node_modules/caniuse-lite/data/regions/CK.js | 1 + node_modules/caniuse-lite/data/regions/CL.js | 1 + node_modules/caniuse-lite/data/regions/CM.js | 1 + node_modules/caniuse-lite/data/regions/CN.js | 1 + node_modules/caniuse-lite/data/regions/CO.js | 1 + node_modules/caniuse-lite/data/regions/CR.js | 1 + node_modules/caniuse-lite/data/regions/CU.js | 1 + node_modules/caniuse-lite/data/regions/CV.js | 1 + node_modules/caniuse-lite/data/regions/CX.js | 1 + node_modules/caniuse-lite/data/regions/CY.js | 1 + node_modules/caniuse-lite/data/regions/CZ.js | 1 + node_modules/caniuse-lite/data/regions/DE.js | 1 + node_modules/caniuse-lite/data/regions/DJ.js | 1 + node_modules/caniuse-lite/data/regions/DK.js | 1 + node_modules/caniuse-lite/data/regions/DM.js | 1 + node_modules/caniuse-lite/data/regions/DO.js | 1 + node_modules/caniuse-lite/data/regions/DZ.js | 1 + node_modules/caniuse-lite/data/regions/EC.js | 1 + node_modules/caniuse-lite/data/regions/EE.js | 1 + node_modules/caniuse-lite/data/regions/EG.js | 1 + node_modules/caniuse-lite/data/regions/ER.js | 1 + node_modules/caniuse-lite/data/regions/ES.js | 1 + node_modules/caniuse-lite/data/regions/ET.js | 1 + node_modules/caniuse-lite/data/regions/FI.js | 1 + node_modules/caniuse-lite/data/regions/FJ.js | 1 + node_modules/caniuse-lite/data/regions/FK.js | 1 + node_modules/caniuse-lite/data/regions/FM.js | 1 + node_modules/caniuse-lite/data/regions/FO.js | 1 + node_modules/caniuse-lite/data/regions/FR.js | 1 + node_modules/caniuse-lite/data/regions/GA.js | 1 + node_modules/caniuse-lite/data/regions/GB.js | 1 + node_modules/caniuse-lite/data/regions/GD.js | 1 + node_modules/caniuse-lite/data/regions/GE.js | 1 + node_modules/caniuse-lite/data/regions/GF.js | 1 + node_modules/caniuse-lite/data/regions/GG.js | 1 + node_modules/caniuse-lite/data/regions/GH.js | 1 + node_modules/caniuse-lite/data/regions/GI.js | 1 + node_modules/caniuse-lite/data/regions/GL.js | 1 + node_modules/caniuse-lite/data/regions/GM.js | 1 + node_modules/caniuse-lite/data/regions/GN.js | 1 + node_modules/caniuse-lite/data/regions/GP.js | 1 + node_modules/caniuse-lite/data/regions/GQ.js | 1 + node_modules/caniuse-lite/data/regions/GR.js | 1 + node_modules/caniuse-lite/data/regions/GT.js | 1 + node_modules/caniuse-lite/data/regions/GU.js | 1 + node_modules/caniuse-lite/data/regions/GW.js | 1 + node_modules/caniuse-lite/data/regions/GY.js | 1 + node_modules/caniuse-lite/data/regions/HK.js | 1 + node_modules/caniuse-lite/data/regions/HN.js | 1 + node_modules/caniuse-lite/data/regions/HR.js | 1 + node_modules/caniuse-lite/data/regions/HT.js | 1 + node_modules/caniuse-lite/data/regions/HU.js | 1 + node_modules/caniuse-lite/data/regions/ID.js | 1 + node_modules/caniuse-lite/data/regions/IE.js | 1 + node_modules/caniuse-lite/data/regions/IL.js | 1 + node_modules/caniuse-lite/data/regions/IM.js | 1 + node_modules/caniuse-lite/data/regions/IN.js | 1 + node_modules/caniuse-lite/data/regions/IQ.js | 1 + node_modules/caniuse-lite/data/regions/IR.js | 1 + node_modules/caniuse-lite/data/regions/IS.js | 1 + node_modules/caniuse-lite/data/regions/IT.js | 1 + node_modules/caniuse-lite/data/regions/JE.js | 1 + node_modules/caniuse-lite/data/regions/JM.js | 1 + node_modules/caniuse-lite/data/regions/JO.js | 1 + node_modules/caniuse-lite/data/regions/JP.js | 1 + node_modules/caniuse-lite/data/regions/KE.js | 1 + node_modules/caniuse-lite/data/regions/KG.js | 1 + node_modules/caniuse-lite/data/regions/KH.js | 1 + node_modules/caniuse-lite/data/regions/KI.js | 1 + node_modules/caniuse-lite/data/regions/KM.js | 1 + node_modules/caniuse-lite/data/regions/KN.js | 1 + node_modules/caniuse-lite/data/regions/KP.js | 1 + node_modules/caniuse-lite/data/regions/KR.js | 1 + node_modules/caniuse-lite/data/regions/KW.js | 1 + node_modules/caniuse-lite/data/regions/KY.js | 1 + node_modules/caniuse-lite/data/regions/KZ.js | 1 + node_modules/caniuse-lite/data/regions/LA.js | 1 + node_modules/caniuse-lite/data/regions/LB.js | 1 + node_modules/caniuse-lite/data/regions/LC.js | 1 + node_modules/caniuse-lite/data/regions/LI.js | 1 + node_modules/caniuse-lite/data/regions/LK.js | 1 + node_modules/caniuse-lite/data/regions/LR.js | 1 + node_modules/caniuse-lite/data/regions/LS.js | 1 + node_modules/caniuse-lite/data/regions/LT.js | 1 + node_modules/caniuse-lite/data/regions/LU.js | 1 + node_modules/caniuse-lite/data/regions/LV.js | 1 + node_modules/caniuse-lite/data/regions/LY.js | 1 + node_modules/caniuse-lite/data/regions/MA.js | 1 + node_modules/caniuse-lite/data/regions/MC.js | 1 + node_modules/caniuse-lite/data/regions/MD.js | 1 + node_modules/caniuse-lite/data/regions/ME.js | 1 + node_modules/caniuse-lite/data/regions/MG.js | 1 + node_modules/caniuse-lite/data/regions/MH.js | 1 + node_modules/caniuse-lite/data/regions/MK.js | 1 + node_modules/caniuse-lite/data/regions/ML.js | 1 + node_modules/caniuse-lite/data/regions/MM.js | 1 + node_modules/caniuse-lite/data/regions/MN.js | 1 + node_modules/caniuse-lite/data/regions/MO.js | 1 + node_modules/caniuse-lite/data/regions/MP.js | 1 + node_modules/caniuse-lite/data/regions/MQ.js | 1 + node_modules/caniuse-lite/data/regions/MR.js | 1 + node_modules/caniuse-lite/data/regions/MS.js | 1 + node_modules/caniuse-lite/data/regions/MT.js | 1 + node_modules/caniuse-lite/data/regions/MU.js | 1 + node_modules/caniuse-lite/data/regions/MV.js | 1 + node_modules/caniuse-lite/data/regions/MW.js | 1 + node_modules/caniuse-lite/data/regions/MX.js | 1 + node_modules/caniuse-lite/data/regions/MY.js | 1 + node_modules/caniuse-lite/data/regions/MZ.js | 1 + node_modules/caniuse-lite/data/regions/NA.js | 1 + node_modules/caniuse-lite/data/regions/NC.js | 1 + node_modules/caniuse-lite/data/regions/NE.js | 1 + node_modules/caniuse-lite/data/regions/NF.js | 1 + node_modules/caniuse-lite/data/regions/NG.js | 1 + node_modules/caniuse-lite/data/regions/NI.js | 1 + node_modules/caniuse-lite/data/regions/NL.js | 1 + node_modules/caniuse-lite/data/regions/NO.js | 1 + node_modules/caniuse-lite/data/regions/NP.js | 1 + node_modules/caniuse-lite/data/regions/NR.js | 1 + node_modules/caniuse-lite/data/regions/NU.js | 1 + node_modules/caniuse-lite/data/regions/NZ.js | 1 + node_modules/caniuse-lite/data/regions/OM.js | 1 + node_modules/caniuse-lite/data/regions/PA.js | 1 + node_modules/caniuse-lite/data/regions/PE.js | 1 + node_modules/caniuse-lite/data/regions/PF.js | 1 + node_modules/caniuse-lite/data/regions/PG.js | 1 + node_modules/caniuse-lite/data/regions/PH.js | 1 + node_modules/caniuse-lite/data/regions/PK.js | 1 + node_modules/caniuse-lite/data/regions/PL.js | 1 + node_modules/caniuse-lite/data/regions/PM.js | 1 + node_modules/caniuse-lite/data/regions/PN.js | 1 + node_modules/caniuse-lite/data/regions/PR.js | 1 + node_modules/caniuse-lite/data/regions/PS.js | 1 + node_modules/caniuse-lite/data/regions/PT.js | 1 + node_modules/caniuse-lite/data/regions/PW.js | 1 + node_modules/caniuse-lite/data/regions/PY.js | 1 + node_modules/caniuse-lite/data/regions/QA.js | 1 + node_modules/caniuse-lite/data/regions/RE.js | 1 + node_modules/caniuse-lite/data/regions/RO.js | 1 + node_modules/caniuse-lite/data/regions/RS.js | 1 + node_modules/caniuse-lite/data/regions/RU.js | 1 + node_modules/caniuse-lite/data/regions/RW.js | 1 + node_modules/caniuse-lite/data/regions/SA.js | 1 + node_modules/caniuse-lite/data/regions/SB.js | 1 + node_modules/caniuse-lite/data/regions/SC.js | 1 + node_modules/caniuse-lite/data/regions/SD.js | 1 + node_modules/caniuse-lite/data/regions/SE.js | 1 + node_modules/caniuse-lite/data/regions/SG.js | 1 + node_modules/caniuse-lite/data/regions/SH.js | 1 + node_modules/caniuse-lite/data/regions/SI.js | 1 + node_modules/caniuse-lite/data/regions/SK.js | 1 + node_modules/caniuse-lite/data/regions/SL.js | 1 + node_modules/caniuse-lite/data/regions/SM.js | 1 + node_modules/caniuse-lite/data/regions/SN.js | 1 + node_modules/caniuse-lite/data/regions/SO.js | 1 + node_modules/caniuse-lite/data/regions/SR.js | 1 + node_modules/caniuse-lite/data/regions/ST.js | 1 + node_modules/caniuse-lite/data/regions/SV.js | 1 + node_modules/caniuse-lite/data/regions/SY.js | 1 + node_modules/caniuse-lite/data/regions/SZ.js | 1 + node_modules/caniuse-lite/data/regions/TC.js | 1 + node_modules/caniuse-lite/data/regions/TD.js | 1 + node_modules/caniuse-lite/data/regions/TG.js | 1 + node_modules/caniuse-lite/data/regions/TH.js | 1 + node_modules/caniuse-lite/data/regions/TJ.js | 1 + node_modules/caniuse-lite/data/regions/TK.js | 1 + node_modules/caniuse-lite/data/regions/TL.js | 1 + node_modules/caniuse-lite/data/regions/TM.js | 1 + node_modules/caniuse-lite/data/regions/TN.js | 1 + node_modules/caniuse-lite/data/regions/TO.js | 1 + node_modules/caniuse-lite/data/regions/TR.js | 1 + node_modules/caniuse-lite/data/regions/TT.js | 1 + node_modules/caniuse-lite/data/regions/TV.js | 1 + node_modules/caniuse-lite/data/regions/TW.js | 1 + node_modules/caniuse-lite/data/regions/TZ.js | 1 + node_modules/caniuse-lite/data/regions/UA.js | 1 + node_modules/caniuse-lite/data/regions/UG.js | 1 + node_modules/caniuse-lite/data/regions/US.js | 1 + node_modules/caniuse-lite/data/regions/UY.js | 1 + node_modules/caniuse-lite/data/regions/UZ.js | 1 + node_modules/caniuse-lite/data/regions/VA.js | 1 + node_modules/caniuse-lite/data/regions/VC.js | 1 + node_modules/caniuse-lite/data/regions/VE.js | 1 + node_modules/caniuse-lite/data/regions/VG.js | 1 + node_modules/caniuse-lite/data/regions/VI.js | 1 + node_modules/caniuse-lite/data/regions/VN.js | 1 + node_modules/caniuse-lite/data/regions/VU.js | 1 + node_modules/caniuse-lite/data/regions/WF.js | 1 + node_modules/caniuse-lite/data/regions/WS.js | 1 + node_modules/caniuse-lite/data/regions/YE.js | 1 + node_modules/caniuse-lite/data/regions/YT.js | 1 + node_modules/caniuse-lite/data/regions/ZA.js | 1 + node_modules/caniuse-lite/data/regions/ZM.js | 1 + node_modules/caniuse-lite/data/regions/ZW.js | 1 + .../caniuse-lite/data/regions/alt-af.js | 1 + .../caniuse-lite/data/regions/alt-an.js | 1 + .../caniuse-lite/data/regions/alt-as.js | 1 + .../caniuse-lite/data/regions/alt-eu.js | 1 + .../caniuse-lite/data/regions/alt-na.js | 1 + .../caniuse-lite/data/regions/alt-oc.js | 1 + .../caniuse-lite/data/regions/alt-sa.js | 1 + .../caniuse-lite/data/regions/alt-ww.js | 1 + .../caniuse-lite/dist/lib/statuses.js | 9 + .../caniuse-lite/dist/lib/supported.js | 9 + .../caniuse-lite/dist/unpacker/agents.js | 47 + .../dist/unpacker/browserVersions.js | 1 + .../caniuse-lite/dist/unpacker/browsers.js | 1 + .../caniuse-lite/dist/unpacker/feature.js | 48 + .../caniuse-lite/dist/unpacker/features.js | 6 + .../caniuse-lite/dist/unpacker/index.js | 4 + .../caniuse-lite/dist/unpacker/region.js | 22 + node_modules/caniuse-lite/package.json | 31 + node_modules/chalk/index.js | 228 + node_modules/chalk/index.js.flow | 93 + node_modules/chalk/license | 9 + node_modules/chalk/package.json | 71 + node_modules/chalk/readme.md | 314 + node_modules/chalk/templates.js | 128 + node_modules/chalk/types/index.d.ts | 97 + node_modules/clean-stack/index.d.ts | 47 + node_modules/clean-stack/index.js | 40 + node_modules/clean-stack/license | 9 + node_modules/clean-stack/package.json | 39 + node_modules/clean-stack/readme.md | 76 + node_modules/cliui/CHANGELOG.md | 76 + node_modules/cliui/LICENSE.txt | 14 + node_modules/cliui/README.md | 115 + node_modules/cliui/index.js | 354 + node_modules/cliui/package.json | 65 + node_modules/color-convert/CHANGELOG.md | 54 + node_modules/color-convert/LICENSE | 21 + node_modules/color-convert/README.md | 68 + node_modules/color-convert/conversions.js | 868 + node_modules/color-convert/index.js | 78 + node_modules/color-convert/package.json | 46 + node_modules/color-convert/route.js | 97 + node_modules/color-name/.eslintrc.json | 43 + node_modules/color-name/.npmignore | 107 + node_modules/color-name/LICENSE | 8 + node_modules/color-name/README.md | 11 + node_modules/color-name/index.js | 152 + node_modules/color-name/package.json | 25 + node_modules/color-name/test.js | 7 + node_modules/commondir/LICENSE | 24 + node_modules/commondir/example/dir.js | 3 + node_modules/commondir/index.js | 29 + node_modules/commondir/package.json | 34 + node_modules/commondir/readme.markdown | 48 + node_modules/commondir/test/dirs.js | 55 + node_modules/concat-map/.travis.yml | 4 + node_modules/concat-map/LICENSE | 18 + node_modules/concat-map/README.markdown | 62 + node_modules/concat-map/example/map.js | 6 + node_modules/concat-map/index.js | 13 + node_modules/concat-map/package.json | 43 + node_modules/concat-map/test/map.js | 39 + node_modules/convert-source-map/LICENSE | 23 + node_modules/convert-source-map/README.md | 120 + node_modules/convert-source-map/index.js | 136 + node_modules/convert-source-map/package.json | 44 + node_modules/cross-spawn/CHANGELOG.md | 130 + node_modules/cross-spawn/LICENSE | 21 + node_modules/cross-spawn/README.md | 96 + node_modules/cross-spawn/index.js | 39 + node_modules/cross-spawn/lib/enoent.js | 59 + node_modules/cross-spawn/lib/parse.js | 91 + node_modules/cross-spawn/lib/util/escape.js | 45 + .../cross-spawn/lib/util/readShebang.js | 23 + .../cross-spawn/lib/util/resolveCommand.js | 52 + node_modules/cross-spawn/package.json | 73 + node_modules/debug/LICENSE | 19 + node_modules/debug/README.md | 455 + node_modules/debug/package.json | 59 + node_modules/debug/src/browser.js | 269 + node_modules/debug/src/common.js | 274 + node_modules/debug/src/index.js | 10 + node_modules/debug/src/node.js | 263 + node_modules/decamelize/index.js | 13 + node_modules/decamelize/license | 21 + node_modules/decamelize/package.json | 38 + node_modules/decamelize/readme.md | 48 + node_modules/default-require-extensions/js.js | 8 + .../default-require-extensions/json.js | 14 + .../default-require-extensions/license | 9 + .../default-require-extensions/package.json | 37 + .../default-require-extensions/readme.md | 27 + node_modules/deprecation/LICENSE | 15 + node_modules/deprecation/README.md | 77 + node_modules/deprecation/dist-node/index.js | 20 + node_modules/deprecation/dist-src/index.js | 14 + .../deprecation/dist-types/index.d.ts | 3 + node_modules/deprecation/dist-web/index.js | 16 + node_modules/deprecation/package.json | 34 + .../electron-to-chromium/CHANGELOG.md | 14 + node_modules/electron-to-chromium/LICENSE | 5 + node_modules/electron-to-chromium/README.md | 186 + .../electron-to-chromium/chromium-versions.js | 41 + .../full-chromium-versions.js | 1576 + .../electron-to-chromium/full-versions.js | 1136 + node_modules/electron-to-chromium/index.js | 36 + .../electron-to-chromium/package.json | 38 + node_modules/electron-to-chromium/versions.js | 75 + node_modules/emoji-regex/LICENSE-MIT.txt | 20 + node_modules/emoji-regex/README.md | 73 + node_modules/emoji-regex/es2015/index.js | 6 + node_modules/emoji-regex/es2015/text.js | 6 + node_modules/emoji-regex/index.d.ts | 23 + node_modules/emoji-regex/index.js | 6 + node_modules/emoji-regex/package.json | 50 + node_modules/emoji-regex/text.js | 6 + node_modules/es6-error/CHANGELOG.md | 26 + node_modules/es6-error/LICENSE.md | 21 + node_modules/es6-error/README.md | 59 + node_modules/es6-error/es6/index.js | 72 + node_modules/es6-error/lib/index.js | 79 + node_modules/es6-error/package.json | 48 + node_modules/es6-error/typings/index.d.ts | 1 + node_modules/escalade/dist/index.js | 22 + node_modules/escalade/dist/index.mjs | 22 + node_modules/escalade/index.d.ts | 3 + node_modules/escalade/license | 9 + node_modules/escalade/package.json | 61 + node_modules/escalade/readme.md | 211 + node_modules/escalade/sync/index.d.ts | 2 + node_modules/escalade/sync/index.js | 18 + node_modules/escalade/sync/index.mjs | 18 + node_modules/escape-string-regexp/index.js | 11 + node_modules/escape-string-regexp/license | 21 + .../escape-string-regexp/package.json | 41 + node_modules/escape-string-regexp/readme.md | 27 + node_modules/esprima/ChangeLog | 235 + node_modules/esprima/LICENSE.BSD | 21 + node_modules/esprima/README.md | 46 + node_modules/esprima/bin/esparse.js | 139 + node_modules/esprima/bin/esvalidate.js | 236 + node_modules/esprima/dist/esprima.js | 6709 +++ node_modules/esprima/package.json | 112 + node_modules/find-cache-dir/index.js | 67 + node_modules/find-cache-dir/license | 9 + node_modules/find-cache-dir/package.json | 44 + node_modules/find-cache-dir/readme.md | 123 + node_modules/find-up/index.d.ts | 137 + node_modules/find-up/index.js | 89 + node_modules/find-up/license | 9 + node_modules/find-up/package.json | 53 + node_modules/find-up/readme.md | 156 + node_modules/foreground-child/CHANGELOG.md | 99 + node_modules/foreground-child/LICENSE | 15 + node_modules/foreground-child/README.md | 62 + node_modules/foreground-child/changelog.sh | 10 + node_modules/foreground-child/index.js | 133 + node_modules/foreground-child/package.json | 40 + node_modules/fromentries/LICENSE | 20 + node_modules/fromentries/README.md | 70 + node_modules/fromentries/index.d.ts | 3 + node_modules/fromentries/index.js | 7 + node_modules/fromentries/package.json | 58 + node_modules/fs.realpath/LICENSE | 43 + node_modules/fs.realpath/README.md | 33 + node_modules/fs.realpath/index.js | 66 + node_modules/fs.realpath/old.js | 303 + node_modules/fs.realpath/package.json | 26 + node_modules/gensync/LICENSE | 7 + node_modules/gensync/README.md | 196 + node_modules/gensync/index.js | 373 + node_modules/gensync/index.js.flow | 32 + node_modules/gensync/package.json | 37 + node_modules/gensync/test/.babelrc | 5 + node_modules/gensync/test/index.test.js | 489 + node_modules/get-caller-file/LICENSE.md | 6 + node_modules/get-caller-file/README.md | 41 + node_modules/get-caller-file/index.d.ts | 2 + node_modules/get-caller-file/index.js | 22 + node_modules/get-caller-file/index.js.map | 1 + node_modules/get-caller-file/package.json | 42 + node_modules/get-package-type/CHANGELOG.md | 10 + node_modules/get-package-type/LICENSE | 21 + node_modules/get-package-type/README.md | 32 + node_modules/get-package-type/async.cjs | 52 + node_modules/get-package-type/cache.cjs | 3 + node_modules/get-package-type/index.cjs | 7 + .../get-package-type/is-node-modules.cjs | 15 + node_modules/get-package-type/package.json | 35 + node_modules/get-package-type/sync.cjs | 42 + node_modules/glob/LICENSE | 21 + node_modules/glob/README.md | 378 + node_modules/glob/common.js | 238 + node_modules/glob/glob.js | 790 + node_modules/glob/package.json | 55 + node_modules/glob/sync.js | 486 + node_modules/globals/globals.json | 1563 + node_modules/globals/index.js | 2 + node_modules/globals/license | 9 + node_modules/globals/package.json | 41 + node_modules/globals/readme.md | 41 + node_modules/graceful-fs/LICENSE | 15 + node_modules/graceful-fs/README.md | 143 + node_modules/graceful-fs/clone.js | 23 + node_modules/graceful-fs/graceful-fs.js | 429 + node_modules/graceful-fs/legacy-streams.js | 118 + node_modules/graceful-fs/package.json | 50 + node_modules/graceful-fs/polyfills.js | 346 + node_modules/has-flag/index.js | 8 + node_modules/has-flag/license | 9 + node_modules/has-flag/package.json | 44 + node_modules/has-flag/readme.md | 70 + node_modules/hasha/index.d.ts | 167 + node_modules/hasha/index.js | 150 + node_modules/hasha/license | 9 + node_modules/hasha/package.json | 62 + node_modules/hasha/readme.md | 129 + node_modules/hasha/thread.js | 57 + node_modules/hook-std/index.d.ts | 172 + node_modules/hook-std/index.js | 71 + node_modules/hook-std/license | 9 + node_modules/hook-std/package.json | 45 + node_modules/hook-std/readme.md | 99 + node_modules/html-escaper/LICENSE.txt | 19 + node_modules/html-escaper/README.md | 97 + node_modules/html-escaper/cjs/index.js | 65 + node_modules/html-escaper/cjs/package.json | 1 + node_modules/html-escaper/esm/index.js | 62 + node_modules/html-escaper/index.js | 70 + node_modules/html-escaper/min.js | 1 + node_modules/html-escaper/package.json | 42 + node_modules/html-escaper/test/index.js | 23 + node_modules/html-escaper/test/package.json | 1 + node_modules/imurmurhash/README.md | 122 + node_modules/imurmurhash/imurmurhash.js | 138 + node_modules/imurmurhash/imurmurhash.min.js | 12 + node_modules/imurmurhash/package.json | 40 + node_modules/indent-string/index.d.ts | 42 + node_modules/indent-string/index.js | 35 + node_modules/indent-string/license | 9 + node_modules/indent-string/package.json | 37 + node_modules/indent-string/readme.md | 70 + node_modules/inflight/LICENSE | 15 + node_modules/inflight/README.md | 37 + node_modules/inflight/inflight.js | 54 + node_modules/inflight/package.json | 29 + node_modules/inherits/LICENSE | 16 + node_modules/inherits/README.md | 42 + node_modules/inherits/inherits.js | 9 + node_modules/inherits/inherits_browser.js | 27 + node_modules/inherits/package.json | 29 + .../is-fullwidth-code-point/index.d.ts | 17 + node_modules/is-fullwidth-code-point/index.js | 50 + node_modules/is-fullwidth-code-point/license | 9 + .../is-fullwidth-code-point/package.json | 42 + .../is-fullwidth-code-point/readme.md | 39 + node_modules/is-plain-object/LICENSE | 21 + node_modules/is-plain-object/README.md | 125 + .../is-plain-object/dist/is-plain-object.js | 38 + .../is-plain-object/dist/is-plain-object.mjs | 34 + .../is-plain-object/is-plain-object.d.ts | 1 + node_modules/is-plain-object/package.json | 85 + node_modules/is-stream/index.d.ts | 79 + node_modules/is-stream/index.js | 28 + node_modules/is-stream/license | 9 + node_modules/is-stream/package.json | 42 + node_modules/is-stream/readme.md | 60 + node_modules/is-typedarray/LICENSE.md | 18 + node_modules/is-typedarray/README.md | 16 + node_modules/is-typedarray/index.js | 41 + node_modules/is-typedarray/package.json | 30 + node_modules/is-typedarray/test.js | 34 + node_modules/is-windows/LICENSE | 21 + node_modules/is-windows/README.md | 95 + node_modules/is-windows/index.js | 27 + node_modules/is-windows/package.json | 71 + node_modules/isexe/.npmignore | 2 + node_modules/isexe/LICENSE | 15 + node_modules/isexe/README.md | 51 + node_modules/isexe/index.js | 57 + node_modules/isexe/mode.js | 41 + node_modules/isexe/package.json | 31 + node_modules/isexe/test/basic.js | 221 + node_modules/isexe/windows.js | 42 + .../istanbul-lib-coverage/CHANGELOG.md | 172 + node_modules/istanbul-lib-coverage/LICENSE | 24 + node_modules/istanbul-lib-coverage/README.md | 29 + node_modules/istanbul-lib-coverage/index.js | 64 + .../istanbul-lib-coverage/lib/coverage-map.js | 134 + .../lib/coverage-summary.js | 102 + .../lib/data-properties.js | 12 + .../lib/file-coverage.js | 318 + .../istanbul-lib-coverage/lib/percent.js | 15 + .../istanbul-lib-coverage/package.json | 47 + node_modules/istanbul-lib-hook/CHANGELOG.md | 184 + node_modules/istanbul-lib-hook/LICENSE | 24 + node_modules/istanbul-lib-hook/README.md | 6 + node_modules/istanbul-lib-hook/index.js | 6 + node_modules/istanbul-lib-hook/lib/hook.js | 237 + node_modules/istanbul-lib-hook/package.json | 40 + .../istanbul-lib-instrument/CHANGELOG.md | 571 + node_modules/istanbul-lib-instrument/LICENSE | 24 + .../istanbul-lib-instrument/README.md | 21 + .../istanbul-lib-instrument/dist/constants.js | 22 + .../istanbul-lib-instrument/dist/index.js | 42 + .../dist/instrumenter.js | 182 + .../dist/read-coverage.js | 87 + .../dist/source-coverage.js | 121 + .../istanbul-lib-instrument/dist/visitor.js | 683 + .../istanbul-lib-instrument/package.json | 54 + .../istanbul-lib-processinfo/CHANGELOG.md | 61 + node_modules/istanbul-lib-processinfo/LICENSE | 15 + .../istanbul-lib-processinfo/README.md | 188 + .../istanbul-lib-processinfo/index.js | 347 + .../istanbul-lib-processinfo/package.json | 43 + node_modules/istanbul-lib-report/CHANGELOG.md | 185 + node_modules/istanbul-lib-report/LICENSE | 24 + node_modules/istanbul-lib-report/README.md | 43 + node_modules/istanbul-lib-report/index.js | 40 + .../istanbul-lib-report/lib/context.js | 132 + .../istanbul-lib-report/lib/file-writer.js | 189 + node_modules/istanbul-lib-report/lib/path.js | 169 + .../istanbul-lib-report/lib/report-base.js | 16 + .../lib/summarizer-factory.js | 284 + node_modules/istanbul-lib-report/lib/tree.js | 137 + .../istanbul-lib-report/lib/watermarks.js | 15 + .../istanbul-lib-report/lib/xml-writer.js | 90 + .../node_modules/has-flag/index.d.ts | 39 + .../node_modules/has-flag/index.js | 8 + .../node_modules/has-flag/license | 9 + .../node_modules/has-flag/package.json | 46 + .../node_modules/has-flag/readme.md | 89 + .../node_modules/supports-color/browser.js | 5 + .../node_modules/supports-color/index.js | 135 + .../node_modules/supports-color/license | 9 + .../node_modules/supports-color/package.json | 53 + .../node_modules/supports-color/readme.md | 76 + node_modules/istanbul-lib-report/package.json | 45 + .../istanbul-lib-source-maps/CHANGELOG.md | 288 + node_modules/istanbul-lib-source-maps/LICENSE | 24 + .../istanbul-lib-source-maps/README.md | 11 + .../istanbul-lib-source-maps/index.js | 15 + .../lib/get-mapping.js | 182 + .../istanbul-lib-source-maps/lib/map-store.js | 226 + .../istanbul-lib-source-maps/lib/mapped.js | 113 + .../istanbul-lib-source-maps/lib/pathutils.js | 21 + .../lib/transform-utils.js | 21 + .../lib/transformer.js | 133 + .../node_modules/source-map/CHANGELOG.md | 301 + .../node_modules/source-map/LICENSE | 28 + .../node_modules/source-map/README.md | 742 + .../source-map/dist/source-map.debug.js | 3234 ++ .../source-map/dist/source-map.js | 3233 ++ .../source-map/dist/source-map.min.js | 2 + .../source-map/dist/source-map.min.js.map | 1 + .../node_modules/source-map/lib/array-set.js | 121 + .../node_modules/source-map/lib/base64-vlq.js | 140 + .../node_modules/source-map/lib/base64.js | 67 + .../source-map/lib/binary-search.js | 111 + .../source-map/lib/mapping-list.js | 79 + .../node_modules/source-map/lib/quick-sort.js | 114 + .../source-map/lib/source-map-consumer.js | 1145 + .../source-map/lib/source-map-generator.js | 425 + .../source-map/lib/source-node.js | 413 + .../node_modules/source-map/lib/util.js | 488 + .../node_modules/source-map/package.json | 73 + .../node_modules/source-map/source-map.d.ts | 98 + .../node_modules/source-map/source-map.js | 8 + .../istanbul-lib-source-maps/package.json | 46 + node_modules/istanbul-reports/CHANGELOG.md | 386 + node_modules/istanbul-reports/LICENSE | 24 + node_modules/istanbul-reports/README.md | 13 + node_modules/istanbul-reports/index.js | 24 + .../istanbul-reports/lib/clover/index.js | 164 + .../istanbul-reports/lib/cobertura/index.js | 150 + .../istanbul-reports/lib/html-spa/.babelrc | 3 + .../lib/html-spa/assets/bundle.js | 30 + .../lib/html-spa/assets/sort-arrow-sprite.png | Bin 0 -> 209 bytes .../lib/html-spa/assets/spa.css | 298 + .../istanbul-reports/lib/html-spa/index.js | 175 + .../lib/html-spa/src/fileBreadcrumbs.js | 31 + .../lib/html-spa/src/filterToggle.js | 50 + .../lib/html-spa/src/flattenToggle.js | 25 + .../lib/html-spa/src/getChildData.js | 155 + .../lib/html-spa/src/index.js | 156 + .../lib/html-spa/src/routing.js | 52 + .../lib/html-spa/src/summaryHeader.js | 63 + .../lib/html-spa/src/summaryTableHeader.js | 124 + .../lib/html-spa/src/summaryTableLine.js | 158 + .../lib/html-spa/webpack.config.js | 22 + .../istanbul-reports/lib/html/annotator.js | 269 + .../istanbul-reports/lib/html/assets/base.css | 224 + .../lib/html/assets/block-navigation.js | 78 + .../lib/html/assets/favicon.png | Bin 0 -> 540 bytes .../lib/html/assets/sort-arrow-sprite.png | Bin 0 -> 209 bytes .../lib/html/assets/sorter.js | 169 + .../lib/html/assets/vendor/prettify.css | 1 + .../lib/html/assets/vendor/prettify.js | 1 + .../istanbul-reports/lib/html/index.js | 416 + .../lib/html/insertion-text.js | 114 + .../lib/json-summary/index.js | 56 + .../istanbul-reports/lib/json/index.js | 44 + .../istanbul-reports/lib/lcov/index.js | 33 + .../istanbul-reports/lib/lcovonly/index.js | 68 + .../istanbul-reports/lib/none/index.js | 10 + .../istanbul-reports/lib/teamcity/index.js | 67 + .../istanbul-reports/lib/text-lcov/index.js | 17 + .../lib/text-summary/index.js | 62 + .../istanbul-reports/lib/text/index.js | 298 + node_modules/istanbul-reports/package.json | 61 + node_modules/js-tokens/CHANGELOG.md | 151 + node_modules/js-tokens/LICENSE | 21 + node_modules/js-tokens/README.md | 240 + node_modules/js-tokens/index.js | 23 + node_modules/js-tokens/package.json | 30 + node_modules/js-yaml/CHANGELOG.md | 557 + node_modules/js-yaml/LICENSE | 21 + node_modules/js-yaml/README.md | 299 + node_modules/js-yaml/bin/js-yaml.js | 132 + node_modules/js-yaml/dist/js-yaml.js | 3989 ++ node_modules/js-yaml/dist/js-yaml.min.js | 1 + node_modules/js-yaml/index.js | 7 + node_modules/js-yaml/lib/js-yaml.js | 39 + node_modules/js-yaml/lib/js-yaml/common.js | 59 + node_modules/js-yaml/lib/js-yaml/dumper.js | 850 + node_modules/js-yaml/lib/js-yaml/exception.js | 43 + node_modules/js-yaml/lib/js-yaml/loader.js | 1644 + node_modules/js-yaml/lib/js-yaml/mark.js | 76 + node_modules/js-yaml/lib/js-yaml/schema.js | 108 + .../js-yaml/lib/js-yaml/schema/core.js | 18 + .../lib/js-yaml/schema/default_full.js | 25 + .../lib/js-yaml/schema/default_safe.js | 28 + .../js-yaml/lib/js-yaml/schema/failsafe.js | 17 + .../js-yaml/lib/js-yaml/schema/json.js | 25 + node_modules/js-yaml/lib/js-yaml/type.js | 61 + .../js-yaml/lib/js-yaml/type/binary.js | 138 + node_modules/js-yaml/lib/js-yaml/type/bool.js | 35 + .../js-yaml/lib/js-yaml/type/float.js | 116 + node_modules/js-yaml/lib/js-yaml/type/int.js | 173 + .../js-yaml/lib/js-yaml/type/js/function.js | 93 + .../js-yaml/lib/js-yaml/type/js/regexp.js | 60 + .../js-yaml/lib/js-yaml/type/js/undefined.js | 28 + node_modules/js-yaml/lib/js-yaml/type/map.js | 8 + .../js-yaml/lib/js-yaml/type/merge.js | 12 + node_modules/js-yaml/lib/js-yaml/type/null.js | 34 + node_modules/js-yaml/lib/js-yaml/type/omap.js | 44 + .../js-yaml/lib/js-yaml/type/pairs.js | 53 + node_modules/js-yaml/lib/js-yaml/type/seq.js | 8 + node_modules/js-yaml/lib/js-yaml/type/set.js | 29 + node_modules/js-yaml/lib/js-yaml/type/str.js | 8 + .../js-yaml/lib/js-yaml/type/timestamp.js | 88 + node_modules/js-yaml/package.json | 49 + node_modules/jsesc/LICENSE-MIT.txt | 20 + node_modules/jsesc/README.md | 421 + node_modules/jsesc/bin/jsesc | 148 + node_modules/jsesc/jsesc.js | 329 + node_modules/jsesc/man/jsesc.1 | 94 + node_modules/jsesc/package.json | 54 + node_modules/json5/CHANGELOG.md | 362 + node_modules/json5/LICENSE.md | 23 + node_modules/json5/README.md | 234 + node_modules/json5/dist/index.js | 1710 + node_modules/json5/dist/index.min.js | 1 + node_modules/json5/dist/index.min.mjs | 1 + node_modules/json5/dist/index.mjs | 1399 + node_modules/json5/lib/cli.js | 112 + node_modules/json5/lib/index.d.ts | 4 + node_modules/json5/lib/index.js | 9 + node_modules/json5/lib/parse.d.ts | 15 + node_modules/json5/lib/parse.js | 1087 + node_modules/json5/lib/register.js | 13 + node_modules/json5/lib/require.js | 4 + node_modules/json5/lib/stringify.d.ts | 89 + node_modules/json5/lib/stringify.js | 261 + node_modules/json5/lib/unicode.d.ts | 3 + node_modules/json5/lib/unicode.js | 4 + node_modules/json5/lib/util.d.ts | 5 + node_modules/json5/lib/util.js | 35 + node_modules/json5/package.json | 72 + node_modules/locate-path/index.d.ts | 83 + node_modules/locate-path/index.js | 65 + node_modules/locate-path/license | 9 + node_modules/locate-path/package.json | 45 + node_modules/locate-path/readme.md | 122 + node_modules/lodash.flattendeep/LICENSE | 47 + node_modules/lodash.flattendeep/README.md | 18 + node_modules/lodash.flattendeep/index.js | 350 + node_modules/lodash.flattendeep/package.json | 17 + node_modules/make-dir/index.d.ts | 66 + node_modules/make-dir/index.js | 156 + node_modules/make-dir/license | 9 + node_modules/make-dir/package.json | 59 + node_modules/make-dir/readme.md | 125 + node_modules/minimalistic-assert/LICENSE | 13 + node_modules/minimalistic-assert/index.js | 11 + node_modules/minimalistic-assert/package.json | 19 + node_modules/minimalistic-assert/readme.md | 4 + node_modules/minimatch/LICENSE | 15 + node_modules/minimatch/README.md | 230 + node_modules/minimatch/minimatch.js | 947 + node_modules/minimatch/package.json | 33 + node_modules/minimist/.travis.yml | 8 + node_modules/minimist/LICENSE | 18 + node_modules/minimist/example/parse.js | 2 + node_modules/minimist/index.js | 249 + node_modules/minimist/package.json | 45 + node_modules/minimist/readme.markdown | 98 + node_modules/minimist/test/all_bool.js | 32 + node_modules/minimist/test/bool.js | 178 + node_modules/minimist/test/dash.js | 31 + node_modules/minimist/test/default_bool.js | 35 + node_modules/minimist/test/dotted.js | 22 + node_modules/minimist/test/kv_short.js | 16 + node_modules/minimist/test/long.js | 31 + node_modules/minimist/test/num.js | 36 + node_modules/minimist/test/parse.js | 197 + node_modules/minimist/test/parse_modified.js | 9 + node_modules/minimist/test/proto.js | 60 + node_modules/minimist/test/short.js | 67 + node_modules/minimist/test/stop_early.js | 15 + node_modules/minimist/test/unknown.js | 102 + node_modules/minimist/test/whitespace.js | 8 + node_modules/ms/index.js | 162 + node_modules/ms/license.md | 21 + node_modules/ms/package.json | 37 + node_modules/ms/readme.md | 60 + node_modules/nanocolors/LICENSE | 21 + node_modules/nanocolors/README.md | 172 + node_modules/nanocolors/index.browser.cjs | 35 + node_modules/nanocolors/index.browser.js | 59 + node_modules/nanocolors/index.cjs | 103 + node_modules/nanocolors/index.d.ts | 58 + node_modules/nanocolors/index.js | 128 + node_modules/nanocolors/package.json | 35 + node_modules/node-fetch/LICENSE.md | 22 + node_modules/node-fetch/README.md | 590 + node_modules/node-fetch/browser.js | 25 + node_modules/node-fetch/lib/index.es.js | 1688 + node_modules/node-fetch/lib/index.js | 1697 + node_modules/node-fetch/lib/index.mjs | 1686 + node_modules/node-fetch/package.json | 76 + node_modules/node-preload/CHANGELOG.md | 61 + node_modules/node-preload/LICENSE | 21 + node_modules/node-preload/README.md | 47 + node_modules/node-preload/generate-require.js | 31 + node_modules/node-preload/hook-spawn.js | 21 + node_modules/node-preload/index.js | 5 + .../node-preload/internal-preload-module.js | 25 + node_modules/node-preload/package.json | 50 + node_modules/node-preload/preload-list-env.js | 8 + node_modules/node-preload/preload-list.js | 15 + .../node-preload/preload-path/node-preload.js | 11 + .../node-preload/process-node-options.js | 16 + .../.github/workflows/nightly-sync.yml | 35 + node_modules/node-releases/LICENSE | 21 + node_modules/node-releases/README.md | 31 + .../node-releases/data/processed/envs.json | 1587 + node_modules/node-releases/data/raw/iojs.json | 43 + .../node-releases/data/raw/nodejs.json | 600 + .../release-schedule/release-schedule.json | 105 + node_modules/node-releases/package.json | 24 + node_modules/nyc/CHANGELOG.md | 1017 + node_modules/nyc/LICENSE.txt | 16 + node_modules/nyc/README.md | 388 + node_modules/nyc/bin/nyc.js | 118 + node_modules/nyc/bin/wrap.js | 4 + node_modules/nyc/index.js | 546 + .../nyc/lib/commands/check-coverage.js | 28 + node_modules/nyc/lib/commands/helpers.js | 74 + node_modules/nyc/lib/commands/instrument.js | 63 + node_modules/nyc/lib/commands/merge.js | 46 + node_modules/nyc/lib/commands/report.js | 30 + node_modules/nyc/lib/config-util.js | 65 + node_modules/nyc/lib/fs-promises.js | 51 + node_modules/nyc/lib/hash.js | 30 + .../nyc/lib/instrumenters/istanbul.js | 44 + node_modules/nyc/lib/instrumenters/noop.js | 22 + node_modules/nyc/lib/process-args.js | 39 + node_modules/nyc/lib/register-env.js | 27 + node_modules/nyc/lib/source-maps.js | 84 + node_modules/nyc/lib/wrap.js | 28 + node_modules/nyc/package.json | 107 + node_modules/once/LICENSE | 15 + node_modules/once/README.md | 79 + node_modules/once/once.js | 42 + node_modules/once/package.json | 33 + node_modules/openpgp/LICENSE | 165 + node_modules/openpgp/README.md | 673 + .../dist/lightweight/bn.interface.min.mjs | 3 + .../dist/lightweight/bn.interface.min.mjs.map | 1 + .../openpgp/dist/lightweight/bn.interface.mjs | 340 + .../openpgp/dist/lightweight/bn.min.mjs | 3 + .../openpgp/dist/lightweight/bn.min.mjs.map | 1 + node_modules/openpgp/dist/lightweight/bn.mjs | 3434 ++ .../openpgp/dist/lightweight/elliptic.min.mjs | 3 + .../dist/lightweight/elliptic.min.mjs.map | 1 + .../openpgp/dist/lightweight/elliptic.mjs | 4313 ++ .../openpgp/dist/lightweight/openpgp.min.mjs | 3 + .../dist/lightweight/openpgp.min.mjs.map | 1 + .../openpgp/dist/lightweight/openpgp.mjs | 31019 +++++++++++ .../dist/lightweight/ponyfill.es6.min.mjs | 3 + .../dist/lightweight/ponyfill.es6.min.mjs.map | 1 + .../openpgp/dist/lightweight/ponyfill.es6.mjs | 3831 ++ .../lightweight/web-streams-adapter.min.mjs | 17 + .../web-streams-adapter.min.mjs.map | 1 + .../dist/lightweight/web-streams-adapter.mjs | 561 + node_modules/openpgp/dist/node/openpgp.js | 43587 ++++++++++++++++ node_modules/openpgp/dist/node/openpgp.min.js | 17 + .../openpgp/dist/node/openpgp.min.js.map | 1 + .../openpgp/dist/node/openpgp.min.mjs | 17 + .../openpgp/dist/node/openpgp.min.mjs.map | 1 + node_modules/openpgp/dist/node/openpgp.mjs | 43524 +++++++++++++++ node_modules/openpgp/dist/openpgp.js | 43570 +++++++++++++++ node_modules/openpgp/dist/openpgp.min.js | 17 + node_modules/openpgp/dist/openpgp.min.js.map | 1 + node_modules/openpgp/dist/openpgp.min.mjs | 17 + node_modules/openpgp/dist/openpgp.min.mjs.map | 1 + node_modules/openpgp/dist/openpgp.mjs | 43512 +++++++++++++++ node_modules/openpgp/lightweight/package.json | 5 + node_modules/openpgp/openpgp.d.ts | 890 + node_modules/openpgp/package.json | 100 + node_modules/p-limit/index.d.ts | 38 + node_modules/p-limit/index.js | 57 + node_modules/p-limit/license | 9 + node_modules/p-limit/package.json | 52 + node_modules/p-limit/readme.md | 101 + node_modules/p-locate/index.d.ts | 64 + node_modules/p-locate/index.js | 52 + node_modules/p-locate/license | 9 + node_modules/p-locate/package.json | 53 + node_modules/p-locate/readme.md | 90 + node_modules/p-map/index.d.ts | 65 + node_modules/p-map/index.js | 81 + node_modules/p-map/license | 9 + node_modules/p-map/package.json | 52 + node_modules/p-map/readme.md | 99 + node_modules/p-try/index.d.ts | 39 + node_modules/p-try/index.js | 9 + node_modules/p-try/license | 9 + node_modules/p-try/package.json | 42 + node_modules/p-try/readme.md | 58 + node_modules/package-hash/LICENSE | 14 + node_modules/package-hash/README.md | 79 + node_modules/package-hash/index.js | 162 + node_modules/package-hash/package.json | 60 + node_modules/path-exists/index.d.ts | 28 + node_modules/path-exists/index.js | 23 + node_modules/path-exists/license | 9 + node_modules/path-exists/package.json | 39 + node_modules/path-exists/readme.md | 52 + node_modules/path-is-absolute/index.js | 20 + node_modules/path-is-absolute/license | 21 + node_modules/path-is-absolute/package.json | 43 + node_modules/path-is-absolute/readme.md | 59 + node_modules/path-key/index.d.ts | 40 + node_modules/path-key/index.js | 16 + node_modules/path-key/license | 9 + node_modules/path-key/package.json | 39 + node_modules/path-key/readme.md | 61 + node_modules/pkg-dir/index.d.ts | 44 + node_modules/pkg-dir/index.js | 17 + node_modules/pkg-dir/license | 9 + node_modules/pkg-dir/package.json | 56 + node_modules/pkg-dir/readme.md | 66 + node_modules/process-on-spawn/CHANGELOG.md | 10 + node_modules/process-on-spawn/LICENSE | 21 + node_modules/process-on-spawn/README.md | 64 + node_modules/process-on-spawn/index.js | 112 + node_modules/process-on-spawn/package.json | 34 + node_modules/release-zalgo/LICENSE | 14 + node_modules/release-zalgo/README.md | 194 + node_modules/release-zalgo/index.js | 9 + node_modules/release-zalgo/lib/Async.js | 21 + node_modules/release-zalgo/lib/Sync.js | 24 + node_modules/release-zalgo/lib/Thenable.js | 39 + node_modules/release-zalgo/lib/constants.js | 6 + node_modules/release-zalgo/lib/unwrapSync.js | 54 + node_modules/release-zalgo/package.json | 49 + node_modules/require-directory/.jshintrc | 67 + node_modules/require-directory/.npmignore | 1 + node_modules/require-directory/.travis.yml | 3 + node_modules/require-directory/LICENSE | 22 + .../require-directory/README.markdown | 184 + node_modules/require-directory/index.js | 86 + node_modules/require-directory/package.json | 40 + .../require-main-filename/CHANGELOG.md | 26 + .../require-main-filename/LICENSE.txt | 14 + node_modules/require-main-filename/README.md | 26 + node_modules/require-main-filename/index.js | 18 + .../require-main-filename/package.json | 35 + node_modules/resolve-from/index.d.ts | 31 + node_modules/resolve-from/index.js | 47 + node_modules/resolve-from/license | 9 + node_modules/resolve-from/package.json | 36 + node_modules/resolve-from/readme.md | 72 + node_modules/rimraf/CHANGELOG.md | 65 + node_modules/rimraf/LICENSE | 15 + node_modules/rimraf/README.md | 101 + node_modules/rimraf/bin.js | 68 + node_modules/rimraf/package.json | 32 + node_modules/rimraf/rimraf.js | 360 + node_modules/safe-buffer/LICENSE | 21 + node_modules/safe-buffer/README.md | 584 + node_modules/safe-buffer/index.d.ts | 187 + node_modules/safe-buffer/index.js | 62 + node_modules/safe-buffer/package.json | 37 + node_modules/safer-buffer/LICENSE | 21 + node_modules/safer-buffer/Porting-Buffer.md | 268 + node_modules/safer-buffer/Readme.md | 156 + node_modules/safer-buffer/dangerous.js | 58 + node_modules/safer-buffer/package.json | 34 + node_modules/safer-buffer/safer.js | 77 + node_modules/safer-buffer/tests.js | 406 + node_modules/semver/CHANGELOG.md | 70 + node_modules/semver/LICENSE | 15 + node_modules/semver/README.md | 443 + node_modules/semver/bin/semver.js | 174 + node_modules/semver/package.json | 28 + node_modules/semver/range.bnf | 16 + node_modules/semver/semver.js | 1596 + node_modules/set-blocking/CHANGELOG.md | 26 + node_modules/set-blocking/LICENSE.txt | 14 + node_modules/set-blocking/README.md | 31 + node_modules/set-blocking/index.js | 7 + node_modules/set-blocking/package.json | 42 + node_modules/shebang-command/index.js | 19 + node_modules/shebang-command/license | 9 + node_modules/shebang-command/package.json | 34 + node_modules/shebang-command/readme.md | 34 + node_modules/shebang-regex/index.d.ts | 22 + node_modules/shebang-regex/index.js | 2 + node_modules/shebang-regex/license | 9 + node_modules/shebang-regex/package.json | 35 + node_modules/shebang-regex/readme.md | 33 + node_modules/signal-exit/LICENSE.txt | 16 + node_modules/signal-exit/README.md | 39 + node_modules/signal-exit/index.js | 178 + node_modules/signal-exit/package.json | 36 + node_modules/signal-exit/signals.js | 53 + node_modules/source-map/CHANGELOG.md | 301 + node_modules/source-map/LICENSE | 28 + node_modules/source-map/README.md | 729 + .../source-map/dist/source-map.debug.js | 3091 ++ node_modules/source-map/dist/source-map.js | 3090 ++ .../source-map/dist/source-map.min.js | 2 + .../source-map/dist/source-map.min.js.map | 1 + node_modules/source-map/lib/array-set.js | 121 + node_modules/source-map/lib/base64-vlq.js | 140 + node_modules/source-map/lib/base64.js | 67 + node_modules/source-map/lib/binary-search.js | 111 + node_modules/source-map/lib/mapping-list.js | 79 + node_modules/source-map/lib/quick-sort.js | 114 + .../source-map/lib/source-map-consumer.js | 1082 + .../source-map/lib/source-map-generator.js | 416 + node_modules/source-map/lib/source-node.js | 413 + node_modules/source-map/lib/util.js | 417 + node_modules/source-map/package.json | 72 + node_modules/source-map/source-map.js | 8 + node_modules/spawn-wrap/CHANGELOG.md | 43 + node_modules/spawn-wrap/LICENSE | 15 + node_modules/spawn-wrap/README.md | 111 + node_modules/spawn-wrap/index.js | 165 + node_modules/spawn-wrap/lib/debug.js | 32 + node_modules/spawn-wrap/lib/exe-type.js | 53 + node_modules/spawn-wrap/lib/homedir.js | 5 + node_modules/spawn-wrap/lib/munge.js | 84 + node_modules/spawn-wrap/lib/mungers/cmd.js | 59 + node_modules/spawn-wrap/lib/mungers/env.js | 49 + node_modules/spawn-wrap/lib/mungers/node.js | 79 + node_modules/spawn-wrap/lib/mungers/npm.js | 32 + node_modules/spawn-wrap/lib/mungers/sh.js | 61 + .../spawn-wrap/lib/mungers/shebang.js | 43 + .../spawn-wrap/lib/which-or-undefined.js | 12 + node_modules/spawn-wrap/package.json | 45 + node_modules/spawn-wrap/shim.js | 156 + node_modules/sprintf-js/.npmignore | 1 + node_modules/sprintf-js/LICENSE | 24 + node_modules/sprintf-js/README.md | 88 + node_modules/sprintf-js/bower.json | 14 + node_modules/sprintf-js/demo/angular.html | 20 + .../sprintf-js/dist/angular-sprintf.min.js | 4 + .../dist/angular-sprintf.min.js.map | 1 + .../sprintf-js/dist/angular-sprintf.min.map | 1 + node_modules/sprintf-js/dist/sprintf.min.js | 4 + .../sprintf-js/dist/sprintf.min.js.map | 1 + node_modules/sprintf-js/dist/sprintf.min.map | 1 + node_modules/sprintf-js/gruntfile.js | 36 + node_modules/sprintf-js/package.json | 22 + .../sprintf-js/src/angular-sprintf.js | 18 + node_modules/sprintf-js/src/sprintf.js | 208 + node_modules/sprintf-js/test/test.js | 82 + node_modules/string-width/index.d.ts | 29 + node_modules/string-width/index.js | 47 + node_modules/string-width/license | 9 + node_modules/string-width/package.json | 56 + node_modules/string-width/readme.md | 50 + node_modules/strip-ansi/index.d.ts | 17 + node_modules/strip-ansi/index.js | 4 + node_modules/strip-ansi/license | 9 + node_modules/strip-ansi/package.json | 54 + node_modules/strip-ansi/readme.md | 46 + node_modules/strip-bom/index.d.ts | 14 + node_modules/strip-bom/index.js | 15 + node_modules/strip-bom/license | 9 + node_modules/strip-bom/package.json | 42 + node_modules/strip-bom/readme.md | 54 + node_modules/supports-color/browser.js | 5 + node_modules/supports-color/index.js | 131 + node_modules/supports-color/license | 9 + node_modules/supports-color/package.json | 53 + node_modules/supports-color/readme.md | 66 + node_modules/test-exclude/CHANGELOG.md | 352 + node_modules/test-exclude/LICENSE.txt | 14 + node_modules/test-exclude/README.md | 96 + node_modules/test-exclude/index.js | 161 + .../test-exclude/is-outside-dir-posix.js | 7 + .../test-exclude/is-outside-dir-win32.js | 10 + node_modules/test-exclude/is-outside-dir.js | 7 + node_modules/test-exclude/package.json | 45 + node_modules/to-fast-properties/index.js | 27 + node_modules/to-fast-properties/license | 10 + node_modules/to-fast-properties/package.json | 35 + node_modules/to-fast-properties/readme.md | 37 + node_modules/tr46/.npmignore | 4 + node_modules/tr46/index.js | 193 + node_modules/tr46/lib/.gitkeep | 0 node_modules/tr46/lib/mappingTable.json | 1 + node_modules/tr46/package.json | 31 + node_modules/tunnel/.idea/encodings.xml | 6 + node_modules/tunnel/.idea/modules.xml | 8 + node_modules/tunnel/.idea/node-tunnel.iml | 12 + node_modules/tunnel/.idea/vcs.xml | 6 + node_modules/tunnel/.idea/workspace.xml | 797 + node_modules/tunnel/.travis.yml | 6 + node_modules/tunnel/CHANGELOG.md | 22 + node_modules/tunnel/LICENSE | 21 + node_modules/tunnel/README.md | 185 + node_modules/tunnel/index.js | 1 + node_modules/tunnel/lib/tunnel.js | 264 + node_modules/tunnel/package.json | 34 + node_modules/type-fest/index.d.ts | 20 + node_modules/type-fest/license | 9 + node_modules/type-fest/package.json | 51 + node_modules/type-fest/readme.md | 635 + node_modules/type-fest/source/basic.d.ts | 67 + node_modules/type-fest/source/except.d.ts | 22 + .../type-fest/source/literal-union.d.ts | 33 + .../type-fest/source/merge-exclusive.d.ts | 39 + node_modules/type-fest/source/merge.d.ts | 22 + node_modules/type-fest/source/mutable.d.ts | 22 + node_modules/type-fest/source/opaque.d.ts | 40 + .../type-fest/source/package-json.d.ts | 501 + .../type-fest/source/partial-deep.d.ts | 72 + node_modules/type-fest/source/promisable.d.ts | 23 + .../type-fest/source/readonly-deep.d.ts | 59 + .../source/require-at-least-one.d.ts | 32 + .../type-fest/source/require-exactly-one.d.ts | 36 + .../type-fest/source/set-optional.d.ts | 32 + .../type-fest/source/set-required.d.ts | 32 + node_modules/typedarray-to-buffer/.airtap.yml | 15 + node_modules/typedarray-to-buffer/.travis.yml | 11 + node_modules/typedarray-to-buffer/LICENSE | 21 + node_modules/typedarray-to-buffer/README.md | 85 + node_modules/typedarray-to-buffer/index.js | 25 + .../typedarray-to-buffer/package.json | 50 + .../typedarray-to-buffer/test/basic.js | 50 + node_modules/universal-user-agent/LICENSE.md | 7 + node_modules/universal-user-agent/README.md | 25 + .../universal-user-agent/dist-node/index.js | 18 + .../dist-node/index.js.map | 1 + .../universal-user-agent/dist-src/index.js | 9 + .../dist-types/index.d.ts | 1 + .../universal-user-agent/dist-web/index.js | 12 + .../dist-web/index.js.map | 1 + .../universal-user-agent/package.json | 31 + node_modules/uuid/AUTHORS | 5 + node_modules/uuid/CHANGELOG.md | 119 + node_modules/uuid/LICENSE.md | 21 + node_modules/uuid/README.md | 276 + node_modules/uuid/bin/uuid | 65 + node_modules/uuid/index.js | 8 + node_modules/uuid/lib/bytesToUuid.js | 26 + node_modules/uuid/lib/md5-browser.js | 216 + node_modules/uuid/lib/md5.js | 25 + node_modules/uuid/lib/rng-browser.js | 34 + node_modules/uuid/lib/rng.js | 8 + node_modules/uuid/lib/sha1-browser.js | 89 + node_modules/uuid/lib/sha1.js | 25 + node_modules/uuid/lib/v35.js | 57 + node_modules/uuid/package.json | 49 + node_modules/uuid/v1.js | 109 + node_modules/uuid/v3.js | 4 + node_modules/uuid/v4.js | 29 + node_modules/uuid/v5.js | 3 + node_modules/webidl-conversions/LICENSE.md | 12 + node_modules/webidl-conversions/README.md | 53 + node_modules/webidl-conversions/lib/index.js | 189 + node_modules/webidl-conversions/package.json | 23 + node_modules/whatwg-url/LICENSE.txt | 21 + node_modules/whatwg-url/README.md | 67 + node_modules/whatwg-url/lib/URL-impl.js | 200 + node_modules/whatwg-url/lib/URL.js | 196 + node_modules/whatwg-url/lib/public-api.js | 11 + .../whatwg-url/lib/url-state-machine.js | 1297 + node_modules/whatwg-url/lib/utils.js | 20 + node_modules/whatwg-url/package.json | 32 + node_modules/which-module/CHANGELOG.md | 26 + node_modules/which-module/LICENSE | 13 + node_modules/which-module/README.md | 55 + node_modules/which-module/index.js | 9 + node_modules/which-module/package.json | 41 + node_modules/which/CHANGELOG.md | 166 + node_modules/which/LICENSE | 15 + node_modules/which/README.md | 54 + node_modules/which/bin/node-which | 52 + node_modules/which/package.json | 43 + node_modules/which/which.js | 125 + node_modules/wrap-ansi/index.js | 186 + node_modules/wrap-ansi/license | 9 + .../node_modules/ansi-styles/index.d.ts | 345 + .../node_modules/ansi-styles/index.js | 163 + .../node_modules/ansi-styles/license | 9 + .../node_modules/ansi-styles/package.json | 56 + .../node_modules/ansi-styles/readme.md | 152 + .../node_modules/color-convert/CHANGELOG.md | 54 + .../node_modules/color-convert/LICENSE | 21 + .../node_modules/color-convert/README.md | 68 + .../node_modules/color-convert/conversions.js | 839 + .../node_modules/color-convert/index.js | 81 + .../node_modules/color-convert/package.json | 48 + .../node_modules/color-convert/route.js | 97 + .../wrap-ansi/node_modules/color-name/LICENSE | 8 + .../node_modules/color-name/README.md | 11 + .../node_modules/color-name/index.js | 152 + .../node_modules/color-name/package.json | 28 + node_modules/wrap-ansi/package.json | 61 + node_modules/wrap-ansi/readme.md | 97 + node_modules/wrappy/LICENSE | 15 + node_modules/wrappy/README.md | 36 + node_modules/wrappy/package.json | 29 + node_modules/wrappy/wrappy.js | 33 + node_modules/write-file-atomic/CHANGELOG.md | 32 + node_modules/write-file-atomic/LICENSE | 6 + node_modules/write-file-atomic/README.md | 72 + node_modules/write-file-atomic/index.js | 259 + node_modules/write-file-atomic/package.json | 48 + node_modules/y18n/CHANGELOG.md | 35 + node_modules/y18n/LICENSE | 13 + node_modules/y18n/README.md | 109 + node_modules/y18n/index.js | 188 + node_modules/y18n/package.json | 39 + node_modules/yargs-parser/CHANGELOG.md | 601 + node_modules/yargs-parser/LICENSE.txt | 14 + node_modules/yargs-parser/README.md | 449 + node_modules/yargs-parser/index.js | 1032 + .../yargs-parser/lib/tokenize-arg-string.js | 40 + node_modules/yargs-parser/package.json | 46 + node_modules/yargs/CHANGELOG.md | 420 + node_modules/yargs/LICENSE | 21 + node_modules/yargs/README.md | 140 + .../yargs/build/lib/apply-extends.d.ts | 2 + node_modules/yargs/build/lib/apply-extends.js | 65 + node_modules/yargs/build/lib/argsert.d.ts | 2 + node_modules/yargs/build/lib/argsert.js | 65 + node_modules/yargs/build/lib/command.d.ts | 64 + node_modules/yargs/build/lib/command.js | 416 + .../yargs/build/lib/common-types.d.ts | 36 + node_modules/yargs/build/lib/common-types.js | 25 + .../yargs/build/lib/completion-templates.d.ts | 2 + .../yargs/build/lib/completion-templates.js | 50 + node_modules/yargs/build/lib/completion.d.ts | 21 + node_modules/yargs/build/lib/completion.js | 135 + node_modules/yargs/build/lib/is-promise.d.ts | 1 + node_modules/yargs/build/lib/is-promise.js | 9 + node_modules/yargs/build/lib/levenshtein.d.ts | 1 + node_modules/yargs/build/lib/levenshtein.js | 58 + node_modules/yargs/build/lib/middleware.d.ts | 10 + node_modules/yargs/build/lib/middleware.js | 57 + node_modules/yargs/build/lib/obj-filter.d.ts | 1 + node_modules/yargs/build/lib/obj-filter.js | 14 + .../yargs/build/lib/parse-command.d.ts | 11 + node_modules/yargs/build/lib/parse-command.js | 36 + .../yargs/build/lib/process-argv.d.ts | 2 + node_modules/yargs/build/lib/process-argv.js | 31 + node_modules/yargs/build/lib/usage.d.ts | 49 + node_modules/yargs/build/lib/usage.js | 540 + node_modules/yargs/build/lib/validation.d.ts | 34 + node_modules/yargs/build/lib/validation.js | 330 + node_modules/yargs/build/lib/yargs.d.ts | 274 + node_modules/yargs/build/lib/yargs.js | 1190 + node_modules/yargs/build/lib/yerror.d.ts | 4 + node_modules/yargs/build/lib/yerror.js | 11 + node_modules/yargs/index.js | 40 + node_modules/yargs/locales/be.json | 46 + node_modules/yargs/locales/de.json | 46 + node_modules/yargs/locales/en.json | 51 + node_modules/yargs/locales/es.json | 46 + node_modules/yargs/locales/fi.json | 49 + node_modules/yargs/locales/fr.json | 53 + node_modules/yargs/locales/hi.json | 49 + node_modules/yargs/locales/hu.json | 46 + node_modules/yargs/locales/id.json | 50 + node_modules/yargs/locales/it.json | 46 + node_modules/yargs/locales/ja.json | 51 + node_modules/yargs/locales/ko.json | 49 + node_modules/yargs/locales/nb.json | 44 + node_modules/yargs/locales/nl.json | 49 + node_modules/yargs/locales/nn.json | 44 + node_modules/yargs/locales/pirate.json | 13 + node_modules/yargs/locales/pl.json | 49 + node_modules/yargs/locales/pt.json | 45 + node_modules/yargs/locales/pt_BR.json | 48 + node_modules/yargs/locales/ru.json | 46 + node_modules/yargs/locales/th.json | 46 + node_modules/yargs/locales/tr.json | 48 + node_modules/yargs/locales/zh_CN.json | 48 + node_modules/yargs/locales/zh_TW.json | 47 + node_modules/yargs/package.json | 92 + node_modules/yargs/yargs.js | 14 + 2693 files changed, 506616 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 action.yml create mode 100644 lib/main.js create mode 100644 lib/utils.js create mode 120000 node_modules/.bin/browserslist create mode 120000 node_modules/.bin/esparse create mode 120000 node_modules/.bin/esvalidate create mode 120000 node_modules/.bin/js-yaml create mode 120000 node_modules/.bin/jsesc create mode 120000 node_modules/.bin/json5 create mode 120000 node_modules/.bin/node-which create mode 120000 node_modules/.bin/nyc create mode 120000 node_modules/.bin/parser create mode 120000 node_modules/.bin/rimraf create mode 120000 node_modules/.bin/semver create mode 120000 node_modules/.bin/uuid create mode 100644 node_modules/.package-lock.json create mode 100644 node_modules/@actions/core/LICENSE.md create mode 100644 node_modules/@actions/core/README.md create mode 100644 node_modules/@actions/core/lib/command.d.ts create mode 100644 node_modules/@actions/core/lib/command.js create mode 100644 node_modules/@actions/core/lib/command.js.map create mode 100644 node_modules/@actions/core/lib/core.d.ts create mode 100644 node_modules/@actions/core/lib/core.js create mode 100644 node_modules/@actions/core/lib/core.js.map create mode 100644 node_modules/@actions/core/lib/file-command.d.ts create mode 100644 node_modules/@actions/core/lib/file-command.js create mode 100644 node_modules/@actions/core/lib/file-command.js.map create mode 100644 node_modules/@actions/core/lib/oidc-utils.d.ts create mode 100644 node_modules/@actions/core/lib/oidc-utils.js create mode 100644 node_modules/@actions/core/lib/oidc-utils.js.map create mode 100644 node_modules/@actions/core/lib/path-utils.d.ts create mode 100644 node_modules/@actions/core/lib/path-utils.js create mode 100644 node_modules/@actions/core/lib/path-utils.js.map create mode 100644 node_modules/@actions/core/lib/summary.d.ts create mode 100644 node_modules/@actions/core/lib/summary.js create mode 100644 node_modules/@actions/core/lib/summary.js.map create mode 100644 node_modules/@actions/core/lib/utils.d.ts create mode 100644 node_modules/@actions/core/lib/utils.js create mode 100644 node_modules/@actions/core/lib/utils.js.map create mode 120000 node_modules/@actions/core/node_modules/.bin/uuid create mode 100644 node_modules/@actions/core/node_modules/uuid/CHANGELOG.md create mode 100644 node_modules/@actions/core/node_modules/uuid/CONTRIBUTING.md create mode 100644 node_modules/@actions/core/node_modules/uuid/LICENSE.md create mode 100644 node_modules/@actions/core/node_modules/uuid/README.md create mode 100755 node_modules/@actions/core/node_modules/uuid/dist/bin/uuid create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/index.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/md5.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/nil.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/parse.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/regex.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/rng.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/sha1.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/stringify.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v1.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v3.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v35.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v4.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v5.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/validate.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-browser/version.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/index.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/md5.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/nil.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/parse.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/regex.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/rng.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/sha1.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/stringify.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/v1.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/v3.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/v35.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/v4.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/v5.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/validate.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/esm-node/version.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/index.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/md5-browser.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/md5.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/nil.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/parse.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/regex.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/rng-browser.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/rng.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/sha1-browser.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/sha1.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/stringify.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/umd/uuid.min.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/umd/uuidNIL.min.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/umd/uuidParse.min.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/umd/uuidStringify.min.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/umd/uuidValidate.min.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/umd/uuidVersion.min.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv1.min.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv3.min.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv4.min.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv5.min.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/uuid-bin.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/v1.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/v3.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/v35.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/v4.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/v5.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/validate.js create mode 100644 node_modules/@actions/core/node_modules/uuid/dist/version.js create mode 100644 node_modules/@actions/core/node_modules/uuid/package.json create mode 100644 node_modules/@actions/core/node_modules/uuid/wrapper.mjs create mode 100644 node_modules/@actions/core/package.json create mode 100644 node_modules/@actions/exec/LICENSE.md create mode 100644 node_modules/@actions/exec/README.md create mode 100644 node_modules/@actions/exec/lib/exec.d.ts create mode 100644 node_modules/@actions/exec/lib/exec.js create mode 100644 node_modules/@actions/exec/lib/exec.js.map create mode 100644 node_modules/@actions/exec/lib/interfaces.d.ts create mode 100644 node_modules/@actions/exec/lib/interfaces.js create mode 100644 node_modules/@actions/exec/lib/interfaces.js.map create mode 100644 node_modules/@actions/exec/lib/toolrunner.d.ts create mode 100644 node_modules/@actions/exec/lib/toolrunner.js create mode 100644 node_modules/@actions/exec/lib/toolrunner.js.map create mode 100644 node_modules/@actions/exec/package.json create mode 100644 node_modules/@actions/github/LICENSE.md create mode 100644 node_modules/@actions/github/README.md create mode 100644 node_modules/@actions/github/lib/context.d.ts create mode 100644 node_modules/@actions/github/lib/context.js create mode 100644 node_modules/@actions/github/lib/context.js.map create mode 100644 node_modules/@actions/github/lib/github.d.ts create mode 100644 node_modules/@actions/github/lib/github.js create mode 100644 node_modules/@actions/github/lib/github.js.map create mode 100644 node_modules/@actions/github/lib/interfaces.d.ts create mode 100644 node_modules/@actions/github/lib/interfaces.js create mode 100644 node_modules/@actions/github/lib/interfaces.js.map create mode 100644 node_modules/@actions/github/lib/internal/utils.d.ts create mode 100644 node_modules/@actions/github/lib/internal/utils.js create mode 100644 node_modules/@actions/github/lib/internal/utils.js.map create mode 100644 node_modules/@actions/github/lib/utils.d.ts create mode 100644 node_modules/@actions/github/lib/utils.js create mode 100644 node_modules/@actions/github/lib/utils.js.map create mode 100644 node_modules/@actions/github/package.json create mode 100644 node_modules/@actions/glob/LICENSE.md create mode 100644 node_modules/@actions/glob/README.md create mode 100644 node_modules/@actions/glob/lib/glob.d.ts create mode 100644 node_modules/@actions/glob/lib/glob.js create mode 100644 node_modules/@actions/glob/lib/glob.js.map create mode 100644 node_modules/@actions/glob/lib/internal-glob-options-helper.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-glob-options-helper.js create mode 100644 node_modules/@actions/glob/lib/internal-glob-options-helper.js.map create mode 100644 node_modules/@actions/glob/lib/internal-glob-options.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-glob-options.js create mode 100644 node_modules/@actions/glob/lib/internal-glob-options.js.map create mode 100644 node_modules/@actions/glob/lib/internal-globber.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-globber.js create mode 100644 node_modules/@actions/glob/lib/internal-globber.js.map create mode 100644 node_modules/@actions/glob/lib/internal-hash-file-options.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-hash-file-options.js create mode 100644 node_modules/@actions/glob/lib/internal-hash-file-options.js.map create mode 100644 node_modules/@actions/glob/lib/internal-hash-files.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-hash-files.js create mode 100644 node_modules/@actions/glob/lib/internal-hash-files.js.map create mode 100644 node_modules/@actions/glob/lib/internal-match-kind.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-match-kind.js create mode 100644 node_modules/@actions/glob/lib/internal-match-kind.js.map create mode 100644 node_modules/@actions/glob/lib/internal-path-helper.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-path-helper.js create mode 100644 node_modules/@actions/glob/lib/internal-path-helper.js.map create mode 100644 node_modules/@actions/glob/lib/internal-path.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-path.js create mode 100644 node_modules/@actions/glob/lib/internal-path.js.map create mode 100644 node_modules/@actions/glob/lib/internal-pattern-helper.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-pattern-helper.js create mode 100644 node_modules/@actions/glob/lib/internal-pattern-helper.js.map create mode 100644 node_modules/@actions/glob/lib/internal-pattern.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-pattern.js create mode 100644 node_modules/@actions/glob/lib/internal-pattern.js.map create mode 100644 node_modules/@actions/glob/lib/internal-search-state.d.ts create mode 100644 node_modules/@actions/glob/lib/internal-search-state.js create mode 100644 node_modules/@actions/glob/lib/internal-search-state.js.map create mode 100644 node_modules/@actions/glob/package.json create mode 100644 node_modules/@actions/http-client/LICENSE create mode 100644 node_modules/@actions/http-client/README.md create mode 100644 node_modules/@actions/http-client/lib/auth.d.ts create mode 100644 node_modules/@actions/http-client/lib/auth.js create mode 100644 node_modules/@actions/http-client/lib/auth.js.map create mode 100644 node_modules/@actions/http-client/lib/index.d.ts create mode 100644 node_modules/@actions/http-client/lib/index.js create mode 100644 node_modules/@actions/http-client/lib/index.js.map create mode 100644 node_modules/@actions/http-client/lib/interfaces.d.ts create mode 100644 node_modules/@actions/http-client/lib/interfaces.js create mode 100644 node_modules/@actions/http-client/lib/interfaces.js.map create mode 100644 node_modules/@actions/http-client/lib/proxy.d.ts create mode 100644 node_modules/@actions/http-client/lib/proxy.js create mode 100644 node_modules/@actions/http-client/lib/proxy.js.map create mode 100644 node_modules/@actions/http-client/package.json create mode 100644 node_modules/@actions/io/LICENSE.md create mode 100644 node_modules/@actions/io/README.md create mode 100644 node_modules/@actions/io/lib/io-util.d.ts create mode 100644 node_modules/@actions/io/lib/io-util.js create mode 100644 node_modules/@actions/io/lib/io-util.js.map create mode 100644 node_modules/@actions/io/lib/io.d.ts create mode 100644 node_modules/@actions/io/lib/io.js create mode 100644 node_modules/@actions/io/lib/io.js.map create mode 100644 node_modules/@actions/io/package.json create mode 100644 node_modules/@babel/code-frame/LICENSE create mode 100644 node_modules/@babel/code-frame/README.md create mode 100644 node_modules/@babel/code-frame/lib/index.js create mode 100644 node_modules/@babel/code-frame/package.json create mode 100644 node_modules/@babel/compat-data/LICENSE create mode 100644 node_modules/@babel/compat-data/corejs2-built-ins.js create mode 100644 node_modules/@babel/compat-data/corejs3-shipped-proposals.js create mode 100644 node_modules/@babel/compat-data/data/corejs2-built-ins.json create mode 100644 node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json create mode 100644 node_modules/@babel/compat-data/data/native-modules.json create mode 100644 node_modules/@babel/compat-data/data/overlapping-plugins.json create mode 100644 node_modules/@babel/compat-data/data/plugin-bugfixes.json create mode 100644 node_modules/@babel/compat-data/data/plugins.json create mode 100644 node_modules/@babel/compat-data/native-modules.js create mode 100644 node_modules/@babel/compat-data/overlapping-plugins.js create mode 100644 node_modules/@babel/compat-data/package.json create mode 100644 node_modules/@babel/compat-data/plugin-bugfixes.js create mode 100644 node_modules/@babel/compat-data/plugins.js create mode 100644 node_modules/@babel/core/LICENSE create mode 100644 node_modules/@babel/core/README.md create mode 100644 node_modules/@babel/core/lib/config/cache-contexts.js create mode 100644 node_modules/@babel/core/lib/config/caching.js create mode 100644 node_modules/@babel/core/lib/config/config-chain.js create mode 100644 node_modules/@babel/core/lib/config/config-descriptors.js create mode 100644 node_modules/@babel/core/lib/config/files/configuration.js create mode 100644 node_modules/@babel/core/lib/config/files/import.js create mode 100644 node_modules/@babel/core/lib/config/files/index-browser.js create mode 100644 node_modules/@babel/core/lib/config/files/index.js create mode 100644 node_modules/@babel/core/lib/config/files/module-types.js create mode 100644 node_modules/@babel/core/lib/config/files/package.js create mode 100644 node_modules/@babel/core/lib/config/files/plugins.js create mode 100644 node_modules/@babel/core/lib/config/files/types.js create mode 100644 node_modules/@babel/core/lib/config/files/utils.js create mode 100644 node_modules/@babel/core/lib/config/full.js create mode 100644 node_modules/@babel/core/lib/config/helpers/config-api.js create mode 100644 node_modules/@babel/core/lib/config/helpers/environment.js create mode 100644 node_modules/@babel/core/lib/config/index.js create mode 100644 node_modules/@babel/core/lib/config/item.js create mode 100644 node_modules/@babel/core/lib/config/partial.js create mode 100644 node_modules/@babel/core/lib/config/pattern-to-regex.js create mode 100644 node_modules/@babel/core/lib/config/plugin.js create mode 100644 node_modules/@babel/core/lib/config/printer.js create mode 100644 node_modules/@babel/core/lib/config/resolve-targets-browser.js create mode 100644 node_modules/@babel/core/lib/config/resolve-targets.js create mode 100644 node_modules/@babel/core/lib/config/util.js create mode 100644 node_modules/@babel/core/lib/config/validation/option-assertions.js create mode 100644 node_modules/@babel/core/lib/config/validation/options.js create mode 100644 node_modules/@babel/core/lib/config/validation/plugins.js create mode 100644 node_modules/@babel/core/lib/config/validation/removed.js create mode 100644 node_modules/@babel/core/lib/gensync-utils/async.js create mode 100644 node_modules/@babel/core/lib/gensync-utils/fs.js create mode 100644 node_modules/@babel/core/lib/index.js create mode 100644 node_modules/@babel/core/lib/parse.js create mode 100644 node_modules/@babel/core/lib/parser/index.js create mode 100644 node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js create mode 100644 node_modules/@babel/core/lib/tools/build-external-helpers.js create mode 100644 node_modules/@babel/core/lib/transform-ast.js create mode 100644 node_modules/@babel/core/lib/transform-file-browser.js create mode 100644 node_modules/@babel/core/lib/transform-file.js create mode 100644 node_modules/@babel/core/lib/transform.js create mode 100644 node_modules/@babel/core/lib/transformation/block-hoist-plugin.js create mode 100644 node_modules/@babel/core/lib/transformation/file/file.js create mode 100644 node_modules/@babel/core/lib/transformation/file/generate.js create mode 100644 node_modules/@babel/core/lib/transformation/file/merge-map.js create mode 100644 node_modules/@babel/core/lib/transformation/index.js create mode 100644 node_modules/@babel/core/lib/transformation/normalize-file.js create mode 100644 node_modules/@babel/core/lib/transformation/normalize-opts.js create mode 100644 node_modules/@babel/core/lib/transformation/plugin-pass.js create mode 100644 node_modules/@babel/core/lib/transformation/util/clone-deep-browser.js create mode 100644 node_modules/@babel/core/lib/transformation/util/clone-deep.js create mode 100644 node_modules/@babel/core/package.json create mode 100644 node_modules/@babel/core/src/config/files/index-browser.ts create mode 100644 node_modules/@babel/core/src/config/files/index.ts create mode 100644 node_modules/@babel/core/src/config/resolve-targets-browser.ts create mode 100644 node_modules/@babel/core/src/config/resolve-targets.ts create mode 100644 node_modules/@babel/core/src/transform-file-browser.ts create mode 100644 node_modules/@babel/core/src/transform-file.ts create mode 100644 node_modules/@babel/core/src/transformation/util/clone-deep-browser.ts create mode 100644 node_modules/@babel/core/src/transformation/util/clone-deep.ts create mode 100644 node_modules/@babel/generator/LICENSE create mode 100644 node_modules/@babel/generator/README.md create mode 100644 node_modules/@babel/generator/lib/buffer.js create mode 100644 node_modules/@babel/generator/lib/generators/base.js create mode 100644 node_modules/@babel/generator/lib/generators/classes.js create mode 100644 node_modules/@babel/generator/lib/generators/expressions.js create mode 100644 node_modules/@babel/generator/lib/generators/flow.js create mode 100644 node_modules/@babel/generator/lib/generators/index.js create mode 100644 node_modules/@babel/generator/lib/generators/jsx.js create mode 100644 node_modules/@babel/generator/lib/generators/methods.js create mode 100644 node_modules/@babel/generator/lib/generators/modules.js create mode 100644 node_modules/@babel/generator/lib/generators/statements.js create mode 100644 node_modules/@babel/generator/lib/generators/template-literals.js create mode 100644 node_modules/@babel/generator/lib/generators/types.js create mode 100644 node_modules/@babel/generator/lib/generators/typescript.js create mode 100644 node_modules/@babel/generator/lib/index.js create mode 100644 node_modules/@babel/generator/lib/node/index.js create mode 100644 node_modules/@babel/generator/lib/node/parentheses.js create mode 100644 node_modules/@babel/generator/lib/node/whitespace.js create mode 100644 node_modules/@babel/generator/lib/printer.js create mode 100644 node_modules/@babel/generator/lib/source-map.js create mode 100644 node_modules/@babel/generator/package.json create mode 100644 node_modules/@babel/helper-compilation-targets/LICENSE create mode 100644 node_modules/@babel/helper-compilation-targets/README.md create mode 100644 node_modules/@babel/helper-compilation-targets/lib/debug.js create mode 100644 node_modules/@babel/helper-compilation-targets/lib/filter-items.js create mode 100644 node_modules/@babel/helper-compilation-targets/lib/index.js create mode 100644 node_modules/@babel/helper-compilation-targets/lib/options.js create mode 100644 node_modules/@babel/helper-compilation-targets/lib/pretty.js create mode 100644 node_modules/@babel/helper-compilation-targets/lib/targets.js create mode 100644 node_modules/@babel/helper-compilation-targets/lib/types.js create mode 100644 node_modules/@babel/helper-compilation-targets/lib/utils.js create mode 100644 node_modules/@babel/helper-compilation-targets/package.json create mode 100644 node_modules/@babel/helper-function-name/LICENSE create mode 100644 node_modules/@babel/helper-function-name/README.md create mode 100644 node_modules/@babel/helper-function-name/lib/index.js create mode 100644 node_modules/@babel/helper-function-name/package.json create mode 100644 node_modules/@babel/helper-get-function-arity/LICENSE create mode 100644 node_modules/@babel/helper-get-function-arity/README.md create mode 100644 node_modules/@babel/helper-get-function-arity/lib/index.js create mode 100644 node_modules/@babel/helper-get-function-arity/package.json create mode 100644 node_modules/@babel/helper-hoist-variables/LICENSE create mode 100644 node_modules/@babel/helper-hoist-variables/README.md create mode 100644 node_modules/@babel/helper-hoist-variables/lib/index.js create mode 100644 node_modules/@babel/helper-hoist-variables/package.json create mode 100644 node_modules/@babel/helper-member-expression-to-functions/LICENSE create mode 100644 node_modules/@babel/helper-member-expression-to-functions/README.md create mode 100644 node_modules/@babel/helper-member-expression-to-functions/lib/index.js create mode 100644 node_modules/@babel/helper-member-expression-to-functions/lib/index.js.map create mode 100644 node_modules/@babel/helper-member-expression-to-functions/package.json create mode 100644 node_modules/@babel/helper-module-imports/LICENSE create mode 100644 node_modules/@babel/helper-module-imports/README.md create mode 100644 node_modules/@babel/helper-module-imports/lib/import-builder.js create mode 100644 node_modules/@babel/helper-module-imports/lib/import-injector.js create mode 100644 node_modules/@babel/helper-module-imports/lib/index.js create mode 100644 node_modules/@babel/helper-module-imports/lib/is-module.js create mode 100644 node_modules/@babel/helper-module-imports/package.json create mode 100644 node_modules/@babel/helper-module-transforms/LICENSE create mode 100644 node_modules/@babel/helper-module-transforms/README.md create mode 100644 node_modules/@babel/helper-module-transforms/lib/get-module-name.js create mode 100644 node_modules/@babel/helper-module-transforms/lib/index.js create mode 100644 node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js create mode 100644 node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js create mode 100644 node_modules/@babel/helper-module-transforms/lib/rewrite-this.js create mode 100644 node_modules/@babel/helper-module-transforms/package.json create mode 100644 node_modules/@babel/helper-optimise-call-expression/LICENSE create mode 100644 node_modules/@babel/helper-optimise-call-expression/README.md create mode 100644 node_modules/@babel/helper-optimise-call-expression/lib/index.js create mode 100644 node_modules/@babel/helper-optimise-call-expression/package.json create mode 100644 node_modules/@babel/helper-replace-supers/LICENSE create mode 100644 node_modules/@babel/helper-replace-supers/README.md create mode 100644 node_modules/@babel/helper-replace-supers/lib/index.js create mode 100644 node_modules/@babel/helper-replace-supers/package.json create mode 100644 node_modules/@babel/helper-simple-access/LICENSE create mode 100644 node_modules/@babel/helper-simple-access/README.md create mode 100644 node_modules/@babel/helper-simple-access/lib/index.js create mode 100644 node_modules/@babel/helper-simple-access/package.json create mode 100644 node_modules/@babel/helper-split-export-declaration/LICENSE create mode 100644 node_modules/@babel/helper-split-export-declaration/README.md create mode 100644 node_modules/@babel/helper-split-export-declaration/lib/index.js create mode 100644 node_modules/@babel/helper-split-export-declaration/package.json create mode 100644 node_modules/@babel/helper-validator-identifier/LICENSE create mode 100644 node_modules/@babel/helper-validator-identifier/README.md create mode 100644 node_modules/@babel/helper-validator-identifier/lib/identifier.js create mode 100644 node_modules/@babel/helper-validator-identifier/lib/index.js create mode 100644 node_modules/@babel/helper-validator-identifier/lib/keyword.js create mode 100644 node_modules/@babel/helper-validator-identifier/package.json create mode 100644 node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js create mode 100644 node_modules/@babel/helper-validator-option/LICENSE create mode 100644 node_modules/@babel/helper-validator-option/README.md create mode 100644 node_modules/@babel/helper-validator-option/lib/find-suggestion.js create mode 100644 node_modules/@babel/helper-validator-option/lib/index.js create mode 100644 node_modules/@babel/helper-validator-option/lib/validator.js create mode 100644 node_modules/@babel/helper-validator-option/package.json create mode 100644 node_modules/@babel/helpers/LICENSE create mode 100644 node_modules/@babel/helpers/README.md create mode 100644 node_modules/@babel/helpers/lib/helpers-generated.js create mode 100644 node_modules/@babel/helpers/lib/helpers.js create mode 100644 node_modules/@babel/helpers/lib/helpers/jsx.js create mode 100644 node_modules/@babel/helpers/lib/helpers/objectSpread2.js create mode 100644 node_modules/@babel/helpers/lib/helpers/typeof.js create mode 100644 node_modules/@babel/helpers/lib/helpers/wrapRegExp.js create mode 100644 node_modules/@babel/helpers/lib/index.js create mode 100644 node_modules/@babel/helpers/package.json create mode 100644 node_modules/@babel/helpers/scripts/generate-helpers.js create mode 100644 node_modules/@babel/helpers/scripts/package.json create mode 100644 node_modules/@babel/highlight/LICENSE create mode 100644 node_modules/@babel/highlight/README.md create mode 100644 node_modules/@babel/highlight/lib/index.js create mode 100644 node_modules/@babel/highlight/package.json create mode 100644 node_modules/@babel/parser/CHANGELOG.md create mode 100644 node_modules/@babel/parser/LICENSE create mode 100644 node_modules/@babel/parser/README.md create mode 100755 node_modules/@babel/parser/bin/babel-parser.js create mode 100644 node_modules/@babel/parser/lib/index.js create mode 100644 node_modules/@babel/parser/lib/index.js.map create mode 100644 node_modules/@babel/parser/package.json create mode 100644 node_modules/@babel/parser/typings/babel-parser.d.ts create mode 100644 node_modules/@babel/template/LICENSE create mode 100644 node_modules/@babel/template/README.md create mode 100644 node_modules/@babel/template/lib/builder.js create mode 100644 node_modules/@babel/template/lib/formatters.js create mode 100644 node_modules/@babel/template/lib/index.js create mode 100644 node_modules/@babel/template/lib/literal.js create mode 100644 node_modules/@babel/template/lib/options.js create mode 100644 node_modules/@babel/template/lib/parse.js create mode 100644 node_modules/@babel/template/lib/populate.js create mode 100644 node_modules/@babel/template/lib/string.js create mode 100644 node_modules/@babel/template/package.json create mode 100644 node_modules/@babel/traverse/LICENSE create mode 100644 node_modules/@babel/traverse/README.md create mode 100644 node_modules/@babel/traverse/lib/cache.js create mode 100644 node_modules/@babel/traverse/lib/context.js create mode 100644 node_modules/@babel/traverse/lib/hub.js create mode 100644 node_modules/@babel/traverse/lib/index.js create mode 100644 node_modules/@babel/traverse/lib/path/ancestry.js create mode 100644 node_modules/@babel/traverse/lib/path/comments.js create mode 100644 node_modules/@babel/traverse/lib/path/context.js create mode 100644 node_modules/@babel/traverse/lib/path/conversion.js create mode 100644 node_modules/@babel/traverse/lib/path/evaluation.js create mode 100644 node_modules/@babel/traverse/lib/path/family.js create mode 100644 node_modules/@babel/traverse/lib/path/generated/asserts.js create mode 100644 node_modules/@babel/traverse/lib/path/generated/validators.js create mode 100644 node_modules/@babel/traverse/lib/path/generated/virtual-types.js create mode 100644 node_modules/@babel/traverse/lib/path/index.js create mode 100644 node_modules/@babel/traverse/lib/path/inference/index.js create mode 100644 node_modules/@babel/traverse/lib/path/inference/inferer-reference.js create mode 100644 node_modules/@babel/traverse/lib/path/inference/inferers.js create mode 100644 node_modules/@babel/traverse/lib/path/introspection.js create mode 100644 node_modules/@babel/traverse/lib/path/lib/hoister.js create mode 100644 node_modules/@babel/traverse/lib/path/lib/removal-hooks.js create mode 100644 node_modules/@babel/traverse/lib/path/lib/virtual-types.js create mode 100644 node_modules/@babel/traverse/lib/path/modification.js create mode 100644 node_modules/@babel/traverse/lib/path/removal.js create mode 100644 node_modules/@babel/traverse/lib/path/replacement.js create mode 100644 node_modules/@babel/traverse/lib/scope/binding.js create mode 100644 node_modules/@babel/traverse/lib/scope/index.js create mode 100644 node_modules/@babel/traverse/lib/scope/lib/renamer.js create mode 100644 node_modules/@babel/traverse/lib/types.js create mode 100644 node_modules/@babel/traverse/lib/visitors.js create mode 100644 node_modules/@babel/traverse/package.json create mode 100644 node_modules/@babel/traverse/scripts/generators/asserts.js create mode 100644 node_modules/@babel/traverse/scripts/generators/validators.js create mode 100644 node_modules/@babel/traverse/scripts/generators/virtual-types.js create mode 100644 node_modules/@babel/traverse/scripts/package.json create mode 100644 node_modules/@babel/types/LICENSE create mode 100644 node_modules/@babel/types/README.md create mode 100644 node_modules/@babel/types/lib/asserts/assertNode.js create mode 100644 node_modules/@babel/types/lib/asserts/generated/index.js create mode 100644 node_modules/@babel/types/lib/ast-types/generated/index.js create mode 100644 node_modules/@babel/types/lib/builders/builder.js create mode 100644 node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js create mode 100644 node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js create mode 100644 node_modules/@babel/types/lib/builders/generated/index.js create mode 100644 node_modules/@babel/types/lib/builders/generated/uppercase.js create mode 100644 node_modules/@babel/types/lib/builders/react/buildChildren.js create mode 100644 node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js create mode 100644 node_modules/@babel/types/lib/clone/clone.js create mode 100644 node_modules/@babel/types/lib/clone/cloneDeep.js create mode 100644 node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js create mode 100644 node_modules/@babel/types/lib/clone/cloneNode.js create mode 100644 node_modules/@babel/types/lib/clone/cloneWithoutLoc.js create mode 100644 node_modules/@babel/types/lib/comments/addComment.js create mode 100644 node_modules/@babel/types/lib/comments/addComments.js create mode 100644 node_modules/@babel/types/lib/comments/inheritInnerComments.js create mode 100644 node_modules/@babel/types/lib/comments/inheritLeadingComments.js create mode 100644 node_modules/@babel/types/lib/comments/inheritTrailingComments.js create mode 100644 node_modules/@babel/types/lib/comments/inheritsComments.js create mode 100644 node_modules/@babel/types/lib/comments/removeComments.js create mode 100644 node_modules/@babel/types/lib/constants/generated/index.js create mode 100644 node_modules/@babel/types/lib/constants/index.js create mode 100644 node_modules/@babel/types/lib/converters/Scope.js create mode 100644 node_modules/@babel/types/lib/converters/ensureBlock.js create mode 100644 node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js create mode 100644 node_modules/@babel/types/lib/converters/toBindingIdentifierName.js create mode 100644 node_modules/@babel/types/lib/converters/toBlock.js create mode 100644 node_modules/@babel/types/lib/converters/toComputedKey.js create mode 100644 node_modules/@babel/types/lib/converters/toExpression.js create mode 100644 node_modules/@babel/types/lib/converters/toIdentifier.js create mode 100644 node_modules/@babel/types/lib/converters/toKeyAlias.js create mode 100644 node_modules/@babel/types/lib/converters/toSequenceExpression.js create mode 100644 node_modules/@babel/types/lib/converters/toStatement.js create mode 100644 node_modules/@babel/types/lib/converters/valueToNode.js create mode 100644 node_modules/@babel/types/lib/definitions/core.js create mode 100644 node_modules/@babel/types/lib/definitions/experimental.js create mode 100644 node_modules/@babel/types/lib/definitions/flow.js create mode 100644 node_modules/@babel/types/lib/definitions/index.js create mode 100644 node_modules/@babel/types/lib/definitions/jsx.js create mode 100644 node_modules/@babel/types/lib/definitions/misc.js create mode 100644 node_modules/@babel/types/lib/definitions/placeholders.js create mode 100644 node_modules/@babel/types/lib/definitions/typescript.js create mode 100644 node_modules/@babel/types/lib/definitions/utils.js create mode 100644 node_modules/@babel/types/lib/index-legacy.d.ts create mode 100644 node_modules/@babel/types/lib/index.d.ts create mode 100644 node_modules/@babel/types/lib/index.js create mode 100644 node_modules/@babel/types/lib/index.js.flow create mode 100644 node_modules/@babel/types/lib/modifications/appendToMemberExpression.js create mode 100644 node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js create mode 100644 node_modules/@babel/types/lib/modifications/inherits.js create mode 100644 node_modules/@babel/types/lib/modifications/prependToMemberExpression.js create mode 100644 node_modules/@babel/types/lib/modifications/removeProperties.js create mode 100644 node_modules/@babel/types/lib/modifications/removePropertiesDeep.js create mode 100644 node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js create mode 100644 node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js create mode 100644 node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js create mode 100644 node_modules/@babel/types/lib/traverse/traverse.js create mode 100644 node_modules/@babel/types/lib/traverse/traverseFast.js create mode 100644 node_modules/@babel/types/lib/utils/inherit.js create mode 100644 node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js create mode 100644 node_modules/@babel/types/lib/utils/shallowEqual.js create mode 100644 node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js create mode 100644 node_modules/@babel/types/lib/validators/generated/index.js create mode 100644 node_modules/@babel/types/lib/validators/is.js create mode 100644 node_modules/@babel/types/lib/validators/isBinding.js create mode 100644 node_modules/@babel/types/lib/validators/isBlockScoped.js create mode 100644 node_modules/@babel/types/lib/validators/isImmutable.js create mode 100644 node_modules/@babel/types/lib/validators/isLet.js create mode 100644 node_modules/@babel/types/lib/validators/isNode.js create mode 100644 node_modules/@babel/types/lib/validators/isNodesEquivalent.js create mode 100644 node_modules/@babel/types/lib/validators/isPlaceholderType.js create mode 100644 node_modules/@babel/types/lib/validators/isReferenced.js create mode 100644 node_modules/@babel/types/lib/validators/isScope.js create mode 100644 node_modules/@babel/types/lib/validators/isSpecifierDefault.js create mode 100644 node_modules/@babel/types/lib/validators/isType.js create mode 100644 node_modules/@babel/types/lib/validators/isValidES3Identifier.js create mode 100644 node_modules/@babel/types/lib/validators/isValidIdentifier.js create mode 100644 node_modules/@babel/types/lib/validators/isVar.js create mode 100644 node_modules/@babel/types/lib/validators/matchesPattern.js create mode 100644 node_modules/@babel/types/lib/validators/react/isCompatTag.js create mode 100644 node_modules/@babel/types/lib/validators/react/isReactComponent.js create mode 100644 node_modules/@babel/types/lib/validators/validate.js create mode 100644 node_modules/@babel/types/package.json create mode 100644 node_modules/@babel/types/scripts/generators/asserts.js create mode 100644 node_modules/@babel/types/scripts/generators/ast-types.js create mode 100644 node_modules/@babel/types/scripts/generators/builders.js create mode 100644 node_modules/@babel/types/scripts/generators/constants.js create mode 100644 node_modules/@babel/types/scripts/generators/docs.js create mode 100644 node_modules/@babel/types/scripts/generators/flow.js create mode 100644 node_modules/@babel/types/scripts/generators/typescript-legacy.js create mode 100644 node_modules/@babel/types/scripts/generators/validators.js create mode 100644 node_modules/@babel/types/scripts/package.json create mode 100644 node_modules/@babel/types/scripts/utils/formatBuilderName.js create mode 100644 node_modules/@babel/types/scripts/utils/lowerFirst.js create mode 100644 node_modules/@babel/types/scripts/utils/stringifyValidator.js create mode 100644 node_modules/@babel/types/scripts/utils/toFunctionName.js create mode 100644 node_modules/@istanbuljs/load-nyc-config/CHANGELOG.md create mode 100644 node_modules/@istanbuljs/load-nyc-config/LICENSE create mode 100644 node_modules/@istanbuljs/load-nyc-config/README.md create mode 100644 node_modules/@istanbuljs/load-nyc-config/index.js create mode 100644 node_modules/@istanbuljs/load-nyc-config/load-esm.js create mode 100644 node_modules/@istanbuljs/load-nyc-config/package.json create mode 100644 node_modules/@istanbuljs/schema/CHANGELOG.md create mode 100644 node_modules/@istanbuljs/schema/LICENSE create mode 100644 node_modules/@istanbuljs/schema/README.md create mode 100644 node_modules/@istanbuljs/schema/default-exclude.js create mode 100644 node_modules/@istanbuljs/schema/default-extension.js create mode 100644 node_modules/@istanbuljs/schema/index.js create mode 100644 node_modules/@istanbuljs/schema/package.json create mode 100644 node_modules/@octokit/auth-token/LICENSE create mode 100644 node_modules/@octokit/auth-token/README.md create mode 100644 node_modules/@octokit/auth-token/dist-node/index.js create mode 100644 node_modules/@octokit/auth-token/dist-node/index.js.map create mode 100644 node_modules/@octokit/auth-token/dist-src/auth.js create mode 100644 node_modules/@octokit/auth-token/dist-src/hook.js create mode 100644 node_modules/@octokit/auth-token/dist-src/index.js create mode 100644 node_modules/@octokit/auth-token/dist-src/types.js create mode 100644 node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js create mode 100644 node_modules/@octokit/auth-token/dist-types/auth.d.ts create mode 100644 node_modules/@octokit/auth-token/dist-types/hook.d.ts create mode 100644 node_modules/@octokit/auth-token/dist-types/index.d.ts create mode 100644 node_modules/@octokit/auth-token/dist-types/types.d.ts create mode 100644 node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts create mode 100644 node_modules/@octokit/auth-token/dist-web/index.js create mode 100644 node_modules/@octokit/auth-token/dist-web/index.js.map create mode 100644 node_modules/@octokit/auth-token/package.json create mode 100644 node_modules/@octokit/core/LICENSE create mode 100644 node_modules/@octokit/core/README.md create mode 100644 node_modules/@octokit/core/dist-node/index.js create mode 100644 node_modules/@octokit/core/dist-node/index.js.map create mode 100644 node_modules/@octokit/core/dist-src/index.js create mode 100644 node_modules/@octokit/core/dist-src/types.js create mode 100644 node_modules/@octokit/core/dist-src/version.js create mode 100644 node_modules/@octokit/core/dist-types/index.d.ts create mode 100644 node_modules/@octokit/core/dist-types/types.d.ts create mode 100644 node_modules/@octokit/core/dist-types/version.d.ts create mode 100644 node_modules/@octokit/core/dist-web/index.js create mode 100644 node_modules/@octokit/core/dist-web/index.js.map create mode 100644 node_modules/@octokit/core/package.json create mode 100644 node_modules/@octokit/endpoint/LICENSE create mode 100644 node_modules/@octokit/endpoint/README.md create mode 100644 node_modules/@octokit/endpoint/dist-node/index.js create mode 100644 node_modules/@octokit/endpoint/dist-node/index.js.map create mode 100644 node_modules/@octokit/endpoint/dist-src/defaults.js create mode 100644 node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js create mode 100644 node_modules/@octokit/endpoint/dist-src/index.js create mode 100644 node_modules/@octokit/endpoint/dist-src/merge.js create mode 100644 node_modules/@octokit/endpoint/dist-src/parse.js create mode 100644 node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js create mode 100644 node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js create mode 100644 node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js create mode 100644 node_modules/@octokit/endpoint/dist-src/util/merge-deep.js create mode 100644 node_modules/@octokit/endpoint/dist-src/util/omit.js create mode 100644 node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js create mode 100644 node_modules/@octokit/endpoint/dist-src/util/url-template.js create mode 100644 node_modules/@octokit/endpoint/dist-src/version.js create mode 100644 node_modules/@octokit/endpoint/dist-src/with-defaults.js create mode 100644 node_modules/@octokit/endpoint/dist-types/defaults.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/index.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/merge.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/parse.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/util/omit.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/version.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-web/index.js create mode 100644 node_modules/@octokit/endpoint/dist-web/index.js.map create mode 100644 node_modules/@octokit/endpoint/package.json create mode 100644 node_modules/@octokit/graphql/LICENSE create mode 100644 node_modules/@octokit/graphql/README.md create mode 100644 node_modules/@octokit/graphql/dist-node/index.js create mode 100644 node_modules/@octokit/graphql/dist-node/index.js.map create mode 100644 node_modules/@octokit/graphql/dist-src/error.js create mode 100644 node_modules/@octokit/graphql/dist-src/graphql.js create mode 100644 node_modules/@octokit/graphql/dist-src/index.js create mode 100644 node_modules/@octokit/graphql/dist-src/types.js create mode 100644 node_modules/@octokit/graphql/dist-src/version.js create mode 100644 node_modules/@octokit/graphql/dist-src/with-defaults.js create mode 100644 node_modules/@octokit/graphql/dist-types/error.d.ts create mode 100644 node_modules/@octokit/graphql/dist-types/graphql.d.ts create mode 100644 node_modules/@octokit/graphql/dist-types/index.d.ts create mode 100644 node_modules/@octokit/graphql/dist-types/types.d.ts create mode 100644 node_modules/@octokit/graphql/dist-types/version.d.ts create mode 100644 node_modules/@octokit/graphql/dist-types/with-defaults.d.ts create mode 100644 node_modules/@octokit/graphql/dist-web/index.js create mode 100644 node_modules/@octokit/graphql/dist-web/index.js.map create mode 100644 node_modules/@octokit/graphql/package.json create mode 100644 node_modules/@octokit/openapi-types/LICENSE create mode 100644 node_modules/@octokit/openapi-types/README.md create mode 100644 node_modules/@octokit/openapi-types/package.json create mode 100644 node_modules/@octokit/openapi-types/types.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/LICENSE create mode 100644 node_modules/@octokit/plugin-paginate-rest/README.md create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-node/index.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/index.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/types.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/version.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-web/index.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map create mode 100644 node_modules/@octokit/plugin-paginate-rest/package.json create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/README.md create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/package.json create mode 100644 node_modules/@octokit/request-error/LICENSE create mode 100644 node_modules/@octokit/request-error/README.md create mode 100644 node_modules/@octokit/request-error/dist-node/index.js create mode 100644 node_modules/@octokit/request-error/dist-node/index.js.map create mode 100644 node_modules/@octokit/request-error/dist-src/index.js create mode 100644 node_modules/@octokit/request-error/dist-src/types.js create mode 100644 node_modules/@octokit/request-error/dist-types/index.d.ts create mode 100644 node_modules/@octokit/request-error/dist-types/types.d.ts create mode 100644 node_modules/@octokit/request-error/dist-web/index.js create mode 100644 node_modules/@octokit/request-error/dist-web/index.js.map create mode 100644 node_modules/@octokit/request-error/package.json create mode 100644 node_modules/@octokit/request/LICENSE create mode 100644 node_modules/@octokit/request/README.md create mode 100644 node_modules/@octokit/request/dist-node/index.js create mode 100644 node_modules/@octokit/request/dist-node/index.js.map create mode 100644 node_modules/@octokit/request/dist-src/fetch-wrapper.js create mode 100644 node_modules/@octokit/request/dist-src/get-buffer-response.js create mode 100644 node_modules/@octokit/request/dist-src/index.js create mode 100644 node_modules/@octokit/request/dist-src/version.js create mode 100644 node_modules/@octokit/request/dist-src/with-defaults.js create mode 100644 node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts create mode 100644 node_modules/@octokit/request/dist-types/get-buffer-response.d.ts create mode 100644 node_modules/@octokit/request/dist-types/index.d.ts create mode 100644 node_modules/@octokit/request/dist-types/version.d.ts create mode 100644 node_modules/@octokit/request/dist-types/with-defaults.d.ts create mode 100644 node_modules/@octokit/request/dist-web/index.js create mode 100644 node_modules/@octokit/request/dist-web/index.js.map create mode 100644 node_modules/@octokit/request/package.json create mode 100644 node_modules/@octokit/types/LICENSE create mode 100644 node_modules/@octokit/types/README.md create mode 100644 node_modules/@octokit/types/dist-node/index.js create mode 100644 node_modules/@octokit/types/dist-node/index.js.map create mode 100644 node_modules/@octokit/types/dist-src/AuthInterface.js create mode 100644 node_modules/@octokit/types/dist-src/EndpointDefaults.js create mode 100644 node_modules/@octokit/types/dist-src/EndpointInterface.js create mode 100644 node_modules/@octokit/types/dist-src/EndpointOptions.js create mode 100644 node_modules/@octokit/types/dist-src/Fetch.js create mode 100644 node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js create mode 100644 node_modules/@octokit/types/dist-src/OctokitResponse.js create mode 100644 node_modules/@octokit/types/dist-src/RequestError.js create mode 100644 node_modules/@octokit/types/dist-src/RequestHeaders.js create mode 100644 node_modules/@octokit/types/dist-src/RequestInterface.js create mode 100644 node_modules/@octokit/types/dist-src/RequestMethod.js create mode 100644 node_modules/@octokit/types/dist-src/RequestOptions.js create mode 100644 node_modules/@octokit/types/dist-src/RequestParameters.js create mode 100644 node_modules/@octokit/types/dist-src/RequestRequestOptions.js create mode 100644 node_modules/@octokit/types/dist-src/ResponseHeaders.js create mode 100644 node_modules/@octokit/types/dist-src/Route.js create mode 100644 node_modules/@octokit/types/dist-src/Signal.js create mode 100644 node_modules/@octokit/types/dist-src/StrategyInterface.js create mode 100644 node_modules/@octokit/types/dist-src/Url.js create mode 100644 node_modules/@octokit/types/dist-src/VERSION.js create mode 100644 node_modules/@octokit/types/dist-src/generated/Endpoints.js create mode 100644 node_modules/@octokit/types/dist-src/index.js create mode 100644 node_modules/@octokit/types/dist-types/AuthInterface.d.ts create mode 100644 node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts create mode 100644 node_modules/@octokit/types/dist-types/EndpointInterface.d.ts create mode 100644 node_modules/@octokit/types/dist-types/EndpointOptions.d.ts create mode 100644 node_modules/@octokit/types/dist-types/Fetch.d.ts create mode 100644 node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts create mode 100644 node_modules/@octokit/types/dist-types/OctokitResponse.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestError.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestHeaders.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestInterface.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestMethod.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestOptions.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestParameters.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts create mode 100644 node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts create mode 100644 node_modules/@octokit/types/dist-types/Route.d.ts create mode 100644 node_modules/@octokit/types/dist-types/Signal.d.ts create mode 100644 node_modules/@octokit/types/dist-types/StrategyInterface.d.ts create mode 100644 node_modules/@octokit/types/dist-types/Url.d.ts create mode 100644 node_modules/@octokit/types/dist-types/VERSION.d.ts create mode 100644 node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts create mode 100644 node_modules/@octokit/types/dist-types/index.d.ts create mode 100644 node_modules/@octokit/types/dist-web/index.js create mode 100644 node_modules/@octokit/types/dist-web/index.js.map create mode 100644 node_modules/@octokit/types/package.json create mode 100644 node_modules/aggregate-error/index.d.ts create mode 100644 node_modules/aggregate-error/index.js create mode 100644 node_modules/aggregate-error/license create mode 100644 node_modules/aggregate-error/package.json create mode 100644 node_modules/aggregate-error/readme.md create mode 100644 node_modules/ansi-regex/index.d.ts create mode 100644 node_modules/ansi-regex/index.js create mode 100644 node_modules/ansi-regex/license create mode 100644 node_modules/ansi-regex/package.json create mode 100644 node_modules/ansi-regex/readme.md create mode 100644 node_modules/ansi-styles/index.js create mode 100644 node_modules/ansi-styles/license create mode 100644 node_modules/ansi-styles/package.json create mode 100644 node_modules/ansi-styles/readme.md create mode 100644 node_modules/append-transform/CHANGELOG.md create mode 100644 node_modules/append-transform/index.js create mode 100644 node_modules/append-transform/license create mode 100644 node_modules/append-transform/package.json create mode 100644 node_modules/append-transform/readme.md create mode 100644 node_modules/archy/.travis.yml create mode 100644 node_modules/archy/LICENSE create mode 100644 node_modules/archy/examples/beep.js create mode 100644 node_modules/archy/examples/multi_line.js create mode 100644 node_modules/archy/index.js create mode 100644 node_modules/archy/package.json create mode 100644 node_modules/archy/readme.markdown create mode 100644 node_modules/archy/test/beep.js create mode 100644 node_modules/archy/test/multi_line.js create mode 100644 node_modules/archy/test/non_unicode.js create mode 100644 node_modules/argparse/CHANGELOG.md create mode 100644 node_modules/argparse/LICENSE create mode 100644 node_modules/argparse/README.md create mode 100644 node_modules/argparse/index.js create mode 100644 node_modules/argparse/lib/action.js create mode 100644 node_modules/argparse/lib/action/append.js create mode 100644 node_modules/argparse/lib/action/append/constant.js create mode 100644 node_modules/argparse/lib/action/count.js create mode 100644 node_modules/argparse/lib/action/help.js create mode 100644 node_modules/argparse/lib/action/store.js create mode 100644 node_modules/argparse/lib/action/store/constant.js create mode 100644 node_modules/argparse/lib/action/store/false.js create mode 100644 node_modules/argparse/lib/action/store/true.js create mode 100644 node_modules/argparse/lib/action/subparsers.js create mode 100644 node_modules/argparse/lib/action/version.js create mode 100644 node_modules/argparse/lib/action_container.js create mode 100644 node_modules/argparse/lib/argparse.js create mode 100644 node_modules/argparse/lib/argument/error.js create mode 100644 node_modules/argparse/lib/argument/exclusive.js create mode 100644 node_modules/argparse/lib/argument/group.js create mode 100644 node_modules/argparse/lib/argument_parser.js create mode 100644 node_modules/argparse/lib/const.js create mode 100644 node_modules/argparse/lib/help/added_formatters.js create mode 100644 node_modules/argparse/lib/help/formatter.js create mode 100644 node_modules/argparse/lib/namespace.js create mode 100644 node_modules/argparse/lib/utils.js create mode 100644 node_modules/argparse/package.json create mode 100644 node_modules/asn1.js/.eslintrc.js create mode 100644 node_modules/asn1.js/LICENSE create mode 100644 node_modules/asn1.js/README.md create mode 100644 node_modules/asn1.js/lib/asn1.js create mode 100644 node_modules/asn1.js/lib/asn1/api.js create mode 100644 node_modules/asn1.js/lib/asn1/base/buffer.js create mode 100644 node_modules/asn1.js/lib/asn1/base/index.js create mode 100644 node_modules/asn1.js/lib/asn1/base/node.js create mode 100644 node_modules/asn1.js/lib/asn1/base/reporter.js create mode 100644 node_modules/asn1.js/lib/asn1/constants/der.js create mode 100644 node_modules/asn1.js/lib/asn1/constants/index.js create mode 100644 node_modules/asn1.js/lib/asn1/decoders/der.js create mode 100644 node_modules/asn1.js/lib/asn1/decoders/index.js create mode 100644 node_modules/asn1.js/lib/asn1/decoders/pem.js create mode 100644 node_modules/asn1.js/lib/asn1/encoders/der.js create mode 100644 node_modules/asn1.js/lib/asn1/encoders/index.js create mode 100644 node_modules/asn1.js/lib/asn1/encoders/pem.js create mode 100644 node_modules/asn1.js/package.json create mode 100644 node_modules/balanced-match/.github/FUNDING.yml create mode 100644 node_modules/balanced-match/LICENSE.md create mode 100644 node_modules/balanced-match/README.md create mode 100644 node_modules/balanced-match/index.js create mode 100644 node_modules/balanced-match/package.json create mode 100644 node_modules/before-after-hook/LICENSE create mode 100644 node_modules/before-after-hook/README.md create mode 100644 node_modules/before-after-hook/index.d.ts create mode 100644 node_modules/before-after-hook/index.js create mode 100644 node_modules/before-after-hook/lib/add.js create mode 100644 node_modules/before-after-hook/lib/register.js create mode 100644 node_modules/before-after-hook/lib/remove.js create mode 100644 node_modules/before-after-hook/package.json create mode 100644 node_modules/bn.js/LICENSE create mode 100644 node_modules/bn.js/README.md create mode 100644 node_modules/bn.js/lib/bn.js create mode 100644 node_modules/bn.js/package.json create mode 100644 node_modules/brace-expansion/LICENSE create mode 100644 node_modules/brace-expansion/README.md create mode 100644 node_modules/brace-expansion/index.js create mode 100644 node_modules/brace-expansion/package.json create mode 100644 node_modules/browserslist/LICENSE create mode 100644 node_modules/browserslist/README.md create mode 100644 node_modules/browserslist/browser.js create mode 100755 node_modules/browserslist/cli.js create mode 100644 node_modules/browserslist/error.d.ts create mode 100644 node_modules/browserslist/error.js create mode 100644 node_modules/browserslist/index.d.ts create mode 100644 node_modules/browserslist/index.js create mode 100644 node_modules/browserslist/node.js create mode 100644 node_modules/browserslist/package.json create mode 100644 node_modules/browserslist/update-db.js create mode 100644 node_modules/caching-transform/index.js create mode 100644 node_modules/caching-transform/license create mode 100644 node_modules/caching-transform/package.json create mode 100644 node_modules/caching-transform/readme.md create mode 100644 node_modules/camelcase/index.d.ts create mode 100644 node_modules/camelcase/index.js create mode 100644 node_modules/camelcase/license create mode 100644 node_modules/camelcase/package.json create mode 100644 node_modules/camelcase/readme.md create mode 100644 node_modules/caniuse-lite/LICENSE create mode 100644 node_modules/caniuse-lite/README.md create mode 100644 node_modules/caniuse-lite/data/agents.js create mode 100644 node_modules/caniuse-lite/data/browserVersions.js create mode 100644 node_modules/caniuse-lite/data/browsers.js create mode 100644 node_modules/caniuse-lite/data/features.js create mode 100644 node_modules/caniuse-lite/data/features/aac.js create mode 100644 node_modules/caniuse-lite/data/features/abortcontroller.js create mode 100644 node_modules/caniuse-lite/data/features/ac3-ec3.js create mode 100644 node_modules/caniuse-lite/data/features/accelerometer.js create mode 100644 node_modules/caniuse-lite/data/features/addeventlistener.js create mode 100644 node_modules/caniuse-lite/data/features/alternate-stylesheet.js create mode 100644 node_modules/caniuse-lite/data/features/ambient-light.js create mode 100644 node_modules/caniuse-lite/data/features/apng.js create mode 100644 node_modules/caniuse-lite/data/features/array-find-index.js create mode 100644 node_modules/caniuse-lite/data/features/array-find.js create mode 100644 node_modules/caniuse-lite/data/features/array-flat.js create mode 100644 node_modules/caniuse-lite/data/features/array-includes.js create mode 100644 node_modules/caniuse-lite/data/features/arrow-functions.js create mode 100644 node_modules/caniuse-lite/data/features/asmjs.js create mode 100644 node_modules/caniuse-lite/data/features/async-clipboard.js create mode 100644 node_modules/caniuse-lite/data/features/async-functions.js create mode 100644 node_modules/caniuse-lite/data/features/atob-btoa.js create mode 100644 node_modules/caniuse-lite/data/features/audio-api.js create mode 100644 node_modules/caniuse-lite/data/features/audio.js create mode 100644 node_modules/caniuse-lite/data/features/audiotracks.js create mode 100644 node_modules/caniuse-lite/data/features/autofocus.js create mode 100644 node_modules/caniuse-lite/data/features/auxclick.js create mode 100644 node_modules/caniuse-lite/data/features/av1.js create mode 100644 node_modules/caniuse-lite/data/features/avif.js create mode 100644 node_modules/caniuse-lite/data/features/background-attachment.js create mode 100644 node_modules/caniuse-lite/data/features/background-clip-text.js create mode 100644 node_modules/caniuse-lite/data/features/background-img-opts.js create mode 100644 node_modules/caniuse-lite/data/features/background-position-x-y.js create mode 100644 node_modules/caniuse-lite/data/features/background-repeat-round-space.js create mode 100644 node_modules/caniuse-lite/data/features/background-sync.js create mode 100644 node_modules/caniuse-lite/data/features/battery-status.js create mode 100644 node_modules/caniuse-lite/data/features/beacon.js create mode 100644 node_modules/caniuse-lite/data/features/beforeafterprint.js create mode 100644 node_modules/caniuse-lite/data/features/bigint.js create mode 100644 node_modules/caniuse-lite/data/features/blobbuilder.js create mode 100644 node_modules/caniuse-lite/data/features/bloburls.js create mode 100644 node_modules/caniuse-lite/data/features/border-image.js create mode 100644 node_modules/caniuse-lite/data/features/border-radius.js create mode 100644 node_modules/caniuse-lite/data/features/broadcastchannel.js create mode 100644 node_modules/caniuse-lite/data/features/brotli.js create mode 100644 node_modules/caniuse-lite/data/features/calc.js create mode 100644 node_modules/caniuse-lite/data/features/canvas-blending.js create mode 100644 node_modules/caniuse-lite/data/features/canvas-text.js create mode 100644 node_modules/caniuse-lite/data/features/canvas.js create mode 100644 node_modules/caniuse-lite/data/features/ch-unit.js create mode 100644 node_modules/caniuse-lite/data/features/chacha20-poly1305.js create mode 100644 node_modules/caniuse-lite/data/features/channel-messaging.js create mode 100644 node_modules/caniuse-lite/data/features/childnode-remove.js create mode 100644 node_modules/caniuse-lite/data/features/classlist.js create mode 100644 node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js create mode 100644 node_modules/caniuse-lite/data/features/clipboard.js create mode 100644 node_modules/caniuse-lite/data/features/colr.js create mode 100644 node_modules/caniuse-lite/data/features/comparedocumentposition.js create mode 100644 node_modules/caniuse-lite/data/features/console-basic.js create mode 100644 node_modules/caniuse-lite/data/features/console-time.js create mode 100644 node_modules/caniuse-lite/data/features/const.js create mode 100644 node_modules/caniuse-lite/data/features/constraint-validation.js create mode 100644 node_modules/caniuse-lite/data/features/contenteditable.js create mode 100644 node_modules/caniuse-lite/data/features/contentsecuritypolicy.js create mode 100644 node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js create mode 100644 node_modules/caniuse-lite/data/features/cookie-store-api.js create mode 100644 node_modules/caniuse-lite/data/features/cors.js create mode 100644 node_modules/caniuse-lite/data/features/createimagebitmap.js create mode 100644 node_modules/caniuse-lite/data/features/credential-management.js create mode 100644 node_modules/caniuse-lite/data/features/cryptography.js create mode 100644 node_modules/caniuse-lite/data/features/css-all.js create mode 100644 node_modules/caniuse-lite/data/features/css-animation.js create mode 100644 node_modules/caniuse-lite/data/features/css-any-link.js create mode 100644 node_modules/caniuse-lite/data/features/css-appearance.js create mode 100644 node_modules/caniuse-lite/data/features/css-apply-rule.js create mode 100644 node_modules/caniuse-lite/data/features/css-at-counter-style.js create mode 100644 node_modules/caniuse-lite/data/features/css-backdrop-filter.js create mode 100644 node_modules/caniuse-lite/data/features/css-background-offsets.js create mode 100644 node_modules/caniuse-lite/data/features/css-backgroundblendmode.js create mode 100644 node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js create mode 100644 node_modules/caniuse-lite/data/features/css-boxshadow.js create mode 100644 node_modules/caniuse-lite/data/features/css-canvas.js create mode 100644 node_modules/caniuse-lite/data/features/css-caret-color.js create mode 100644 node_modules/caniuse-lite/data/features/css-cascade-layers.js create mode 100644 node_modules/caniuse-lite/data/features/css-case-insensitive.js create mode 100644 node_modules/caniuse-lite/data/features/css-clip-path.js create mode 100644 node_modules/caniuse-lite/data/features/css-color-adjust.js create mode 100644 node_modules/caniuse-lite/data/features/css-color-function.js create mode 100644 node_modules/caniuse-lite/data/features/css-conic-gradients.js create mode 100644 node_modules/caniuse-lite/data/features/css-container-queries.js create mode 100644 node_modules/caniuse-lite/data/features/css-containment.js create mode 100644 node_modules/caniuse-lite/data/features/css-content-visibility.js create mode 100644 node_modules/caniuse-lite/data/features/css-counters.js create mode 100644 node_modules/caniuse-lite/data/features/css-crisp-edges.js create mode 100644 node_modules/caniuse-lite/data/features/css-cross-fade.js create mode 100644 node_modules/caniuse-lite/data/features/css-default-pseudo.js create mode 100644 node_modules/caniuse-lite/data/features/css-descendant-gtgt.js create mode 100644 node_modules/caniuse-lite/data/features/css-deviceadaptation.js create mode 100644 node_modules/caniuse-lite/data/features/css-dir-pseudo.js create mode 100644 node_modules/caniuse-lite/data/features/css-display-contents.js create mode 100644 node_modules/caniuse-lite/data/features/css-element-function.js create mode 100644 node_modules/caniuse-lite/data/features/css-env-function.js create mode 100644 node_modules/caniuse-lite/data/features/css-exclusions.js create mode 100644 node_modules/caniuse-lite/data/features/css-featurequeries.js create mode 100644 node_modules/caniuse-lite/data/features/css-filter-function.js create mode 100644 node_modules/caniuse-lite/data/features/css-filters.js create mode 100644 node_modules/caniuse-lite/data/features/css-first-letter.js create mode 100644 node_modules/caniuse-lite/data/features/css-first-line.js create mode 100644 node_modules/caniuse-lite/data/features/css-fixed.js create mode 100644 node_modules/caniuse-lite/data/features/css-focus-visible.js create mode 100644 node_modules/caniuse-lite/data/features/css-focus-within.js create mode 100644 node_modules/caniuse-lite/data/features/css-font-rendering-controls.js create mode 100644 node_modules/caniuse-lite/data/features/css-font-stretch.js create mode 100644 node_modules/caniuse-lite/data/features/css-gencontent.js create mode 100644 node_modules/caniuse-lite/data/features/css-gradients.js create mode 100644 node_modules/caniuse-lite/data/features/css-grid.js create mode 100644 node_modules/caniuse-lite/data/features/css-hanging-punctuation.js create mode 100644 node_modules/caniuse-lite/data/features/css-has.js create mode 100644 node_modules/caniuse-lite/data/features/css-hyphenate.js create mode 100644 node_modules/caniuse-lite/data/features/css-hyphens.js create mode 100644 node_modules/caniuse-lite/data/features/css-image-orientation.js create mode 100644 node_modules/caniuse-lite/data/features/css-image-set.js create mode 100644 node_modules/caniuse-lite/data/features/css-in-out-of-range.js create mode 100644 node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js create mode 100644 node_modules/caniuse-lite/data/features/css-initial-letter.js create mode 100644 node_modules/caniuse-lite/data/features/css-initial-value.js create mode 100644 node_modules/caniuse-lite/data/features/css-letter-spacing.js create mode 100644 node_modules/caniuse-lite/data/features/css-line-clamp.js create mode 100644 node_modules/caniuse-lite/data/features/css-logical-props.js create mode 100644 node_modules/caniuse-lite/data/features/css-marker-pseudo.js create mode 100644 node_modules/caniuse-lite/data/features/css-masks.js create mode 100644 node_modules/caniuse-lite/data/features/css-matches-pseudo.js create mode 100644 node_modules/caniuse-lite/data/features/css-math-functions.js create mode 100644 node_modules/caniuse-lite/data/features/css-media-interaction.js create mode 100644 node_modules/caniuse-lite/data/features/css-media-resolution.js create mode 100644 node_modules/caniuse-lite/data/features/css-media-scripting.js create mode 100644 node_modules/caniuse-lite/data/features/css-mediaqueries.js create mode 100644 node_modules/caniuse-lite/data/features/css-mixblendmode.js create mode 100644 node_modules/caniuse-lite/data/features/css-motion-paths.js create mode 100644 node_modules/caniuse-lite/data/features/css-namespaces.js create mode 100644 node_modules/caniuse-lite/data/features/css-nesting.js create mode 100644 node_modules/caniuse-lite/data/features/css-not-sel-list.js create mode 100644 node_modules/caniuse-lite/data/features/css-nth-child-of.js create mode 100644 node_modules/caniuse-lite/data/features/css-opacity.js create mode 100644 node_modules/caniuse-lite/data/features/css-optional-pseudo.js create mode 100644 node_modules/caniuse-lite/data/features/css-overflow-anchor.js create mode 100644 node_modules/caniuse-lite/data/features/css-overflow-overlay.js create mode 100644 node_modules/caniuse-lite/data/features/css-overflow.js create mode 100644 node_modules/caniuse-lite/data/features/css-overscroll-behavior.js create mode 100644 node_modules/caniuse-lite/data/features/css-page-break.js create mode 100644 node_modules/caniuse-lite/data/features/css-paged-media.js create mode 100644 node_modules/caniuse-lite/data/features/css-paint-api.js create mode 100644 node_modules/caniuse-lite/data/features/css-placeholder-shown.js create mode 100644 node_modules/caniuse-lite/data/features/css-placeholder.js create mode 100644 node_modules/caniuse-lite/data/features/css-read-only-write.js create mode 100644 node_modules/caniuse-lite/data/features/css-rebeccapurple.js create mode 100644 node_modules/caniuse-lite/data/features/css-reflections.js create mode 100644 node_modules/caniuse-lite/data/features/css-regions.js create mode 100644 node_modules/caniuse-lite/data/features/css-repeating-gradients.js create mode 100644 node_modules/caniuse-lite/data/features/css-resize.js create mode 100644 node_modules/caniuse-lite/data/features/css-revert-value.js create mode 100644 node_modules/caniuse-lite/data/features/css-rrggbbaa.js create mode 100644 node_modules/caniuse-lite/data/features/css-scroll-behavior.js create mode 100644 node_modules/caniuse-lite/data/features/css-scroll-timeline.js create mode 100644 node_modules/caniuse-lite/data/features/css-scrollbar.js create mode 100644 node_modules/caniuse-lite/data/features/css-sel2.js create mode 100644 node_modules/caniuse-lite/data/features/css-sel3.js create mode 100644 node_modules/caniuse-lite/data/features/css-selection.js create mode 100644 node_modules/caniuse-lite/data/features/css-shapes.js create mode 100644 node_modules/caniuse-lite/data/features/css-snappoints.js create mode 100644 node_modules/caniuse-lite/data/features/css-sticky.js create mode 100644 node_modules/caniuse-lite/data/features/css-subgrid.js create mode 100644 node_modules/caniuse-lite/data/features/css-supports-api.js create mode 100644 node_modules/caniuse-lite/data/features/css-table.js create mode 100644 node_modules/caniuse-lite/data/features/css-text-align-last.js create mode 100644 node_modules/caniuse-lite/data/features/css-text-indent.js create mode 100644 node_modules/caniuse-lite/data/features/css-text-justify.js create mode 100644 node_modules/caniuse-lite/data/features/css-text-orientation.js create mode 100644 node_modules/caniuse-lite/data/features/css-text-spacing.js create mode 100644 node_modules/caniuse-lite/data/features/css-textshadow.js create mode 100644 node_modules/caniuse-lite/data/features/css-touch-action-2.js create mode 100644 node_modules/caniuse-lite/data/features/css-touch-action.js create mode 100644 node_modules/caniuse-lite/data/features/css-transitions.js create mode 100644 node_modules/caniuse-lite/data/features/css-unicode-bidi.js create mode 100644 node_modules/caniuse-lite/data/features/css-unset-value.js create mode 100644 node_modules/caniuse-lite/data/features/css-variables.js create mode 100644 node_modules/caniuse-lite/data/features/css-widows-orphans.js create mode 100644 node_modules/caniuse-lite/data/features/css-writing-mode.js create mode 100644 node_modules/caniuse-lite/data/features/css-zoom.js create mode 100644 node_modules/caniuse-lite/data/features/css3-attr.js create mode 100644 node_modules/caniuse-lite/data/features/css3-boxsizing.js create mode 100644 node_modules/caniuse-lite/data/features/css3-colors.js create mode 100644 node_modules/caniuse-lite/data/features/css3-cursors-grab.js create mode 100644 node_modules/caniuse-lite/data/features/css3-cursors-newer.js create mode 100644 node_modules/caniuse-lite/data/features/css3-cursors.js create mode 100644 node_modules/caniuse-lite/data/features/css3-tabsize.js create mode 100644 node_modules/caniuse-lite/data/features/currentcolor.js create mode 100644 node_modules/caniuse-lite/data/features/custom-elements.js create mode 100644 node_modules/caniuse-lite/data/features/custom-elementsv1.js create mode 100644 node_modules/caniuse-lite/data/features/customevent.js create mode 100644 node_modules/caniuse-lite/data/features/datalist.js create mode 100644 node_modules/caniuse-lite/data/features/dataset.js create mode 100644 node_modules/caniuse-lite/data/features/datauri.js create mode 100644 node_modules/caniuse-lite/data/features/date-tolocaledatestring.js create mode 100644 node_modules/caniuse-lite/data/features/decorators.js create mode 100644 node_modules/caniuse-lite/data/features/details.js create mode 100644 node_modules/caniuse-lite/data/features/deviceorientation.js create mode 100644 node_modules/caniuse-lite/data/features/devicepixelratio.js create mode 100644 node_modules/caniuse-lite/data/features/dialog.js create mode 100644 node_modules/caniuse-lite/data/features/dispatchevent.js create mode 100644 node_modules/caniuse-lite/data/features/dnssec.js create mode 100644 node_modules/caniuse-lite/data/features/do-not-track.js create mode 100644 node_modules/caniuse-lite/data/features/document-currentscript.js create mode 100644 node_modules/caniuse-lite/data/features/document-evaluate-xpath.js create mode 100644 node_modules/caniuse-lite/data/features/document-execcommand.js create mode 100644 node_modules/caniuse-lite/data/features/document-policy.js create mode 100644 node_modules/caniuse-lite/data/features/document-scrollingelement.js create mode 100644 node_modules/caniuse-lite/data/features/documenthead.js create mode 100644 node_modules/caniuse-lite/data/features/dom-manip-convenience.js create mode 100644 node_modules/caniuse-lite/data/features/dom-range.js create mode 100644 node_modules/caniuse-lite/data/features/domcontentloaded.js create mode 100644 node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js create mode 100644 node_modules/caniuse-lite/data/features/dommatrix.js create mode 100644 node_modules/caniuse-lite/data/features/download.js create mode 100644 node_modules/caniuse-lite/data/features/dragndrop.js create mode 100644 node_modules/caniuse-lite/data/features/element-closest.js create mode 100644 node_modules/caniuse-lite/data/features/element-from-point.js create mode 100644 node_modules/caniuse-lite/data/features/element-scroll-methods.js create mode 100644 node_modules/caniuse-lite/data/features/eme.js create mode 100644 node_modules/caniuse-lite/data/features/eot.js create mode 100644 node_modules/caniuse-lite/data/features/es5.js create mode 100644 node_modules/caniuse-lite/data/features/es6-class.js create mode 100644 node_modules/caniuse-lite/data/features/es6-generators.js create mode 100644 node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js create mode 100644 node_modules/caniuse-lite/data/features/es6-module.js create mode 100644 node_modules/caniuse-lite/data/features/es6-number.js create mode 100644 node_modules/caniuse-lite/data/features/es6-string-includes.js create mode 100644 node_modules/caniuse-lite/data/features/es6.js create mode 100644 node_modules/caniuse-lite/data/features/eventsource.js create mode 100644 node_modules/caniuse-lite/data/features/extended-system-fonts.js create mode 100644 node_modules/caniuse-lite/data/features/feature-policy.js create mode 100644 node_modules/caniuse-lite/data/features/fetch.js create mode 100644 node_modules/caniuse-lite/data/features/fieldset-disabled.js create mode 100644 node_modules/caniuse-lite/data/features/fileapi.js create mode 100644 node_modules/caniuse-lite/data/features/filereader.js create mode 100644 node_modules/caniuse-lite/data/features/filereadersync.js create mode 100644 node_modules/caniuse-lite/data/features/filesystem.js create mode 100644 node_modules/caniuse-lite/data/features/flac.js create mode 100644 node_modules/caniuse-lite/data/features/flexbox-gap.js create mode 100644 node_modules/caniuse-lite/data/features/flexbox.js create mode 100644 node_modules/caniuse-lite/data/features/flow-root.js create mode 100644 node_modules/caniuse-lite/data/features/focusin-focusout-events.js create mode 100644 node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js create mode 100644 node_modules/caniuse-lite/data/features/font-family-system-ui.js create mode 100644 node_modules/caniuse-lite/data/features/font-feature.js create mode 100644 node_modules/caniuse-lite/data/features/font-kerning.js create mode 100644 node_modules/caniuse-lite/data/features/font-loading.js create mode 100644 node_modules/caniuse-lite/data/features/font-metrics-overrides.js create mode 100644 node_modules/caniuse-lite/data/features/font-size-adjust.js create mode 100644 node_modules/caniuse-lite/data/features/font-smooth.js create mode 100644 node_modules/caniuse-lite/data/features/font-unicode-range.js create mode 100644 node_modules/caniuse-lite/data/features/font-variant-alternates.js create mode 100644 node_modules/caniuse-lite/data/features/font-variant-east-asian.js create mode 100644 node_modules/caniuse-lite/data/features/font-variant-numeric.js create mode 100644 node_modules/caniuse-lite/data/features/fontface.js create mode 100644 node_modules/caniuse-lite/data/features/form-attribute.js create mode 100644 node_modules/caniuse-lite/data/features/form-submit-attributes.js create mode 100644 node_modules/caniuse-lite/data/features/form-validation.js create mode 100644 node_modules/caniuse-lite/data/features/forms.js create mode 100644 node_modules/caniuse-lite/data/features/fullscreen.js create mode 100644 node_modules/caniuse-lite/data/features/gamepad.js create mode 100644 node_modules/caniuse-lite/data/features/geolocation.js create mode 100644 node_modules/caniuse-lite/data/features/getboundingclientrect.js create mode 100644 node_modules/caniuse-lite/data/features/getcomputedstyle.js create mode 100644 node_modules/caniuse-lite/data/features/getelementsbyclassname.js create mode 100644 node_modules/caniuse-lite/data/features/getrandomvalues.js create mode 100644 node_modules/caniuse-lite/data/features/gyroscope.js create mode 100644 node_modules/caniuse-lite/data/features/hardwareconcurrency.js create mode 100644 node_modules/caniuse-lite/data/features/hashchange.js create mode 100644 node_modules/caniuse-lite/data/features/heif.js create mode 100644 node_modules/caniuse-lite/data/features/hevc.js create mode 100644 node_modules/caniuse-lite/data/features/hidden.js create mode 100644 node_modules/caniuse-lite/data/features/high-resolution-time.js create mode 100644 node_modules/caniuse-lite/data/features/history.js create mode 100644 node_modules/caniuse-lite/data/features/html-media-capture.js create mode 100644 node_modules/caniuse-lite/data/features/html5semantic.js create mode 100644 node_modules/caniuse-lite/data/features/http-live-streaming.js create mode 100644 node_modules/caniuse-lite/data/features/http2.js create mode 100644 node_modules/caniuse-lite/data/features/http3.js create mode 100644 node_modules/caniuse-lite/data/features/iframe-sandbox.js create mode 100644 node_modules/caniuse-lite/data/features/iframe-seamless.js create mode 100644 node_modules/caniuse-lite/data/features/iframe-srcdoc.js create mode 100644 node_modules/caniuse-lite/data/features/imagecapture.js create mode 100644 node_modules/caniuse-lite/data/features/ime.js create mode 100644 node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js create mode 100644 node_modules/caniuse-lite/data/features/import-maps.js create mode 100644 node_modules/caniuse-lite/data/features/imports.js create mode 100644 node_modules/caniuse-lite/data/features/indeterminate-checkbox.js create mode 100644 node_modules/caniuse-lite/data/features/indexeddb.js create mode 100644 node_modules/caniuse-lite/data/features/indexeddb2.js create mode 100644 node_modules/caniuse-lite/data/features/inline-block.js create mode 100644 node_modules/caniuse-lite/data/features/innertext.js create mode 100644 node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js create mode 100644 node_modules/caniuse-lite/data/features/input-color.js create mode 100644 node_modules/caniuse-lite/data/features/input-datetime.js create mode 100644 node_modules/caniuse-lite/data/features/input-email-tel-url.js create mode 100644 node_modules/caniuse-lite/data/features/input-event.js create mode 100644 node_modules/caniuse-lite/data/features/input-file-accept.js create mode 100644 node_modules/caniuse-lite/data/features/input-file-directory.js create mode 100644 node_modules/caniuse-lite/data/features/input-file-multiple.js create mode 100644 node_modules/caniuse-lite/data/features/input-inputmode.js create mode 100644 node_modules/caniuse-lite/data/features/input-minlength.js create mode 100644 node_modules/caniuse-lite/data/features/input-number.js create mode 100644 node_modules/caniuse-lite/data/features/input-pattern.js create mode 100644 node_modules/caniuse-lite/data/features/input-placeholder.js create mode 100644 node_modules/caniuse-lite/data/features/input-range.js create mode 100644 node_modules/caniuse-lite/data/features/input-search.js create mode 100644 node_modules/caniuse-lite/data/features/input-selection.js create mode 100644 node_modules/caniuse-lite/data/features/insert-adjacent.js create mode 100644 node_modules/caniuse-lite/data/features/insertadjacenthtml.js create mode 100644 node_modules/caniuse-lite/data/features/internationalization.js create mode 100644 node_modules/caniuse-lite/data/features/intersectionobserver-v2.js create mode 100644 node_modules/caniuse-lite/data/features/intersectionobserver.js create mode 100644 node_modules/caniuse-lite/data/features/intl-pluralrules.js create mode 100644 node_modules/caniuse-lite/data/features/intrinsic-width.js create mode 100644 node_modules/caniuse-lite/data/features/jpeg2000.js create mode 100644 node_modules/caniuse-lite/data/features/jpegxl.js create mode 100644 node_modules/caniuse-lite/data/features/jpegxr.js create mode 100644 node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js create mode 100644 node_modules/caniuse-lite/data/features/json.js create mode 100644 node_modules/caniuse-lite/data/features/justify-content-space-evenly.js create mode 100644 node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js create mode 100644 node_modules/caniuse-lite/data/features/keyboardevent-charcode.js create mode 100644 node_modules/caniuse-lite/data/features/keyboardevent-code.js create mode 100644 node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js create mode 100644 node_modules/caniuse-lite/data/features/keyboardevent-key.js create mode 100644 node_modules/caniuse-lite/data/features/keyboardevent-location.js create mode 100644 node_modules/caniuse-lite/data/features/keyboardevent-which.js create mode 100644 node_modules/caniuse-lite/data/features/lazyload.js create mode 100644 node_modules/caniuse-lite/data/features/let.js create mode 100644 node_modules/caniuse-lite/data/features/link-icon-png.js create mode 100644 node_modules/caniuse-lite/data/features/link-icon-svg.js create mode 100644 node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js create mode 100644 node_modules/caniuse-lite/data/features/link-rel-modulepreload.js create mode 100644 node_modules/caniuse-lite/data/features/link-rel-preconnect.js create mode 100644 node_modules/caniuse-lite/data/features/link-rel-prefetch.js create mode 100644 node_modules/caniuse-lite/data/features/link-rel-preload.js create mode 100644 node_modules/caniuse-lite/data/features/link-rel-prerender.js create mode 100644 node_modules/caniuse-lite/data/features/loading-lazy-attr.js create mode 100644 node_modules/caniuse-lite/data/features/localecompare.js create mode 100644 node_modules/caniuse-lite/data/features/magnetometer.js create mode 100644 node_modules/caniuse-lite/data/features/matchesselector.js create mode 100644 node_modules/caniuse-lite/data/features/matchmedia.js create mode 100644 node_modules/caniuse-lite/data/features/mathml.js create mode 100644 node_modules/caniuse-lite/data/features/maxlength.js create mode 100644 node_modules/caniuse-lite/data/features/media-attribute.js create mode 100644 node_modules/caniuse-lite/data/features/media-fragments.js create mode 100644 node_modules/caniuse-lite/data/features/media-session-api.js create mode 100644 node_modules/caniuse-lite/data/features/mediacapture-fromelement.js create mode 100644 node_modules/caniuse-lite/data/features/mediarecorder.js create mode 100644 node_modules/caniuse-lite/data/features/mediasource.js create mode 100644 node_modules/caniuse-lite/data/features/menu.js create mode 100644 node_modules/caniuse-lite/data/features/meta-theme-color.js create mode 100644 node_modules/caniuse-lite/data/features/meter.js create mode 100644 node_modules/caniuse-lite/data/features/midi.js create mode 100644 node_modules/caniuse-lite/data/features/minmaxwh.js create mode 100644 node_modules/caniuse-lite/data/features/mp3.js create mode 100644 node_modules/caniuse-lite/data/features/mpeg-dash.js create mode 100644 node_modules/caniuse-lite/data/features/mpeg4.js create mode 100644 node_modules/caniuse-lite/data/features/multibackgrounds.js create mode 100644 node_modules/caniuse-lite/data/features/multicolumn.js create mode 100644 node_modules/caniuse-lite/data/features/mutation-events.js create mode 100644 node_modules/caniuse-lite/data/features/mutationobserver.js create mode 100644 node_modules/caniuse-lite/data/features/namevalue-storage.js create mode 100644 node_modules/caniuse-lite/data/features/native-filesystem-api.js create mode 100644 node_modules/caniuse-lite/data/features/nav-timing.js create mode 100644 node_modules/caniuse-lite/data/features/navigator-language.js create mode 100644 node_modules/caniuse-lite/data/features/netinfo.js create mode 100644 node_modules/caniuse-lite/data/features/notifications.js create mode 100644 node_modules/caniuse-lite/data/features/object-entries.js create mode 100644 node_modules/caniuse-lite/data/features/object-fit.js create mode 100644 node_modules/caniuse-lite/data/features/object-observe.js create mode 100644 node_modules/caniuse-lite/data/features/object-values.js create mode 100644 node_modules/caniuse-lite/data/features/objectrtc.js create mode 100644 node_modules/caniuse-lite/data/features/offline-apps.js create mode 100644 node_modules/caniuse-lite/data/features/offscreencanvas.js create mode 100644 node_modules/caniuse-lite/data/features/ogg-vorbis.js create mode 100644 node_modules/caniuse-lite/data/features/ogv.js create mode 100644 node_modules/caniuse-lite/data/features/ol-reversed.js create mode 100644 node_modules/caniuse-lite/data/features/once-event-listener.js create mode 100644 node_modules/caniuse-lite/data/features/online-status.js create mode 100644 node_modules/caniuse-lite/data/features/opus.js create mode 100644 node_modules/caniuse-lite/data/features/orientation-sensor.js create mode 100644 node_modules/caniuse-lite/data/features/outline.js create mode 100644 node_modules/caniuse-lite/data/features/pad-start-end.js create mode 100644 node_modules/caniuse-lite/data/features/page-transition-events.js create mode 100644 node_modules/caniuse-lite/data/features/pagevisibility.js create mode 100644 node_modules/caniuse-lite/data/features/passive-event-listener.js create mode 100644 node_modules/caniuse-lite/data/features/passwordrules.js create mode 100644 node_modules/caniuse-lite/data/features/path2d.js create mode 100644 node_modules/caniuse-lite/data/features/payment-request.js create mode 100644 node_modules/caniuse-lite/data/features/pdf-viewer.js create mode 100644 node_modules/caniuse-lite/data/features/permissions-api.js create mode 100644 node_modules/caniuse-lite/data/features/permissions-policy.js create mode 100644 node_modules/caniuse-lite/data/features/picture-in-picture.js create mode 100644 node_modules/caniuse-lite/data/features/picture.js create mode 100644 node_modules/caniuse-lite/data/features/ping.js create mode 100644 node_modules/caniuse-lite/data/features/png-alpha.js create mode 100644 node_modules/caniuse-lite/data/features/pointer-events.js create mode 100644 node_modules/caniuse-lite/data/features/pointer.js create mode 100644 node_modules/caniuse-lite/data/features/pointerlock.js create mode 100644 node_modules/caniuse-lite/data/features/portals.js create mode 100644 node_modules/caniuse-lite/data/features/prefers-color-scheme.js create mode 100644 node_modules/caniuse-lite/data/features/prefers-reduced-motion.js create mode 100644 node_modules/caniuse-lite/data/features/private-class-fields.js create mode 100644 node_modules/caniuse-lite/data/features/private-methods-and-accessors.js create mode 100644 node_modules/caniuse-lite/data/features/progress.js create mode 100644 node_modules/caniuse-lite/data/features/promise-finally.js create mode 100644 node_modules/caniuse-lite/data/features/promises.js create mode 100644 node_modules/caniuse-lite/data/features/proximity.js create mode 100644 node_modules/caniuse-lite/data/features/proxy.js create mode 100644 node_modules/caniuse-lite/data/features/public-class-fields.js create mode 100644 node_modules/caniuse-lite/data/features/publickeypinning.js create mode 100644 node_modules/caniuse-lite/data/features/push-api.js create mode 100644 node_modules/caniuse-lite/data/features/queryselector.js create mode 100644 node_modules/caniuse-lite/data/features/readonly-attr.js create mode 100644 node_modules/caniuse-lite/data/features/referrer-policy.js create mode 100644 node_modules/caniuse-lite/data/features/registerprotocolhandler.js create mode 100644 node_modules/caniuse-lite/data/features/rel-noopener.js create mode 100644 node_modules/caniuse-lite/data/features/rel-noreferrer.js create mode 100644 node_modules/caniuse-lite/data/features/rellist.js create mode 100644 node_modules/caniuse-lite/data/features/rem.js create mode 100644 node_modules/caniuse-lite/data/features/requestanimationframe.js create mode 100644 node_modules/caniuse-lite/data/features/requestidlecallback.js create mode 100644 node_modules/caniuse-lite/data/features/resizeobserver.js create mode 100644 node_modules/caniuse-lite/data/features/resource-timing.js create mode 100644 node_modules/caniuse-lite/data/features/rest-parameters.js create mode 100644 node_modules/caniuse-lite/data/features/rtcpeerconnection.js create mode 100644 node_modules/caniuse-lite/data/features/ruby.js create mode 100644 node_modules/caniuse-lite/data/features/run-in.js create mode 100644 node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js create mode 100644 node_modules/caniuse-lite/data/features/screen-orientation.js create mode 100644 node_modules/caniuse-lite/data/features/script-async.js create mode 100644 node_modules/caniuse-lite/data/features/script-defer.js create mode 100644 node_modules/caniuse-lite/data/features/scrollintoview.js create mode 100644 node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js create mode 100644 node_modules/caniuse-lite/data/features/sdch.js create mode 100644 node_modules/caniuse-lite/data/features/selection-api.js create mode 100644 node_modules/caniuse-lite/data/features/server-timing.js create mode 100644 node_modules/caniuse-lite/data/features/serviceworkers.js create mode 100644 node_modules/caniuse-lite/data/features/setimmediate.js create mode 100644 node_modules/caniuse-lite/data/features/sha-2.js create mode 100644 node_modules/caniuse-lite/data/features/shadowdom.js create mode 100644 node_modules/caniuse-lite/data/features/shadowdomv1.js create mode 100644 node_modules/caniuse-lite/data/features/sharedarraybuffer.js create mode 100644 node_modules/caniuse-lite/data/features/sharedworkers.js create mode 100644 node_modules/caniuse-lite/data/features/sni.js create mode 100644 node_modules/caniuse-lite/data/features/spdy.js create mode 100644 node_modules/caniuse-lite/data/features/speech-recognition.js create mode 100644 node_modules/caniuse-lite/data/features/speech-synthesis.js create mode 100644 node_modules/caniuse-lite/data/features/spellcheck-attribute.js create mode 100644 node_modules/caniuse-lite/data/features/sql-storage.js create mode 100644 node_modules/caniuse-lite/data/features/srcset.js create mode 100644 node_modules/caniuse-lite/data/features/stream.js create mode 100644 node_modules/caniuse-lite/data/features/streams.js create mode 100644 node_modules/caniuse-lite/data/features/stricttransportsecurity.js create mode 100644 node_modules/caniuse-lite/data/features/style-scoped.js create mode 100644 node_modules/caniuse-lite/data/features/subresource-integrity.js create mode 100644 node_modules/caniuse-lite/data/features/svg-css.js create mode 100644 node_modules/caniuse-lite/data/features/svg-filters.js create mode 100644 node_modules/caniuse-lite/data/features/svg-fonts.js create mode 100644 node_modules/caniuse-lite/data/features/svg-fragment.js create mode 100644 node_modules/caniuse-lite/data/features/svg-html.js create mode 100644 node_modules/caniuse-lite/data/features/svg-html5.js create mode 100644 node_modules/caniuse-lite/data/features/svg-img.js create mode 100644 node_modules/caniuse-lite/data/features/svg-smil.js create mode 100644 node_modules/caniuse-lite/data/features/svg.js create mode 100644 node_modules/caniuse-lite/data/features/sxg.js create mode 100644 node_modules/caniuse-lite/data/features/tabindex-attr.js create mode 100644 node_modules/caniuse-lite/data/features/template-literals.js create mode 100644 node_modules/caniuse-lite/data/features/template.js create mode 100644 node_modules/caniuse-lite/data/features/temporal.js create mode 100644 node_modules/caniuse-lite/data/features/testfeat.js create mode 100644 node_modules/caniuse-lite/data/features/text-decoration.js create mode 100644 node_modules/caniuse-lite/data/features/text-emphasis.js create mode 100644 node_modules/caniuse-lite/data/features/text-overflow.js create mode 100644 node_modules/caniuse-lite/data/features/text-size-adjust.js create mode 100644 node_modules/caniuse-lite/data/features/text-stroke.js create mode 100644 node_modules/caniuse-lite/data/features/text-underline-offset.js create mode 100644 node_modules/caniuse-lite/data/features/textcontent.js create mode 100644 node_modules/caniuse-lite/data/features/textencoder.js create mode 100644 node_modules/caniuse-lite/data/features/tls1-1.js create mode 100644 node_modules/caniuse-lite/data/features/tls1-2.js create mode 100644 node_modules/caniuse-lite/data/features/tls1-3.js create mode 100644 node_modules/caniuse-lite/data/features/token-binding.js create mode 100644 node_modules/caniuse-lite/data/features/touch.js create mode 100644 node_modules/caniuse-lite/data/features/transforms2d.js create mode 100644 node_modules/caniuse-lite/data/features/transforms3d.js create mode 100644 node_modules/caniuse-lite/data/features/trusted-types.js create mode 100644 node_modules/caniuse-lite/data/features/ttf.js create mode 100644 node_modules/caniuse-lite/data/features/typedarrays.js create mode 100644 node_modules/caniuse-lite/data/features/u2f.js create mode 100644 node_modules/caniuse-lite/data/features/unhandledrejection.js create mode 100644 node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js create mode 100644 node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js create mode 100644 node_modules/caniuse-lite/data/features/url.js create mode 100644 node_modules/caniuse-lite/data/features/urlsearchparams.js create mode 100644 node_modules/caniuse-lite/data/features/use-strict.js create mode 100644 node_modules/caniuse-lite/data/features/user-select-none.js create mode 100644 node_modules/caniuse-lite/data/features/user-timing.js create mode 100644 node_modules/caniuse-lite/data/features/variable-fonts.js create mode 100644 node_modules/caniuse-lite/data/features/vector-effect.js create mode 100644 node_modules/caniuse-lite/data/features/vibration.js create mode 100644 node_modules/caniuse-lite/data/features/video.js create mode 100644 node_modules/caniuse-lite/data/features/videotracks.js create mode 100644 node_modules/caniuse-lite/data/features/viewport-unit-variants.js create mode 100644 node_modules/caniuse-lite/data/features/viewport-units.js create mode 100644 node_modules/caniuse-lite/data/features/wai-aria.js create mode 100644 node_modules/caniuse-lite/data/features/wake-lock.js create mode 100644 node_modules/caniuse-lite/data/features/wasm.js create mode 100644 node_modules/caniuse-lite/data/features/wav.js create mode 100644 node_modules/caniuse-lite/data/features/wbr-element.js create mode 100644 node_modules/caniuse-lite/data/features/web-animation.js create mode 100644 node_modules/caniuse-lite/data/features/web-app-manifest.js create mode 100644 node_modules/caniuse-lite/data/features/web-bluetooth.js create mode 100644 node_modules/caniuse-lite/data/features/web-serial.js create mode 100644 node_modules/caniuse-lite/data/features/web-share.js create mode 100644 node_modules/caniuse-lite/data/features/webauthn.js create mode 100644 node_modules/caniuse-lite/data/features/webgl.js create mode 100644 node_modules/caniuse-lite/data/features/webgl2.js create mode 100644 node_modules/caniuse-lite/data/features/webgpu.js create mode 100644 node_modules/caniuse-lite/data/features/webhid.js create mode 100644 node_modules/caniuse-lite/data/features/webkit-user-drag.js create mode 100644 node_modules/caniuse-lite/data/features/webm.js create mode 100644 node_modules/caniuse-lite/data/features/webnfc.js create mode 100644 node_modules/caniuse-lite/data/features/webp.js create mode 100644 node_modules/caniuse-lite/data/features/websockets.js create mode 100644 node_modules/caniuse-lite/data/features/webusb.js create mode 100644 node_modules/caniuse-lite/data/features/webvr.js create mode 100644 node_modules/caniuse-lite/data/features/webvtt.js create mode 100644 node_modules/caniuse-lite/data/features/webworkers.js create mode 100644 node_modules/caniuse-lite/data/features/webxr.js create mode 100644 node_modules/caniuse-lite/data/features/will-change.js create mode 100644 node_modules/caniuse-lite/data/features/woff.js create mode 100644 node_modules/caniuse-lite/data/features/woff2.js create mode 100644 node_modules/caniuse-lite/data/features/word-break.js create mode 100644 node_modules/caniuse-lite/data/features/wordwrap.js create mode 100644 node_modules/caniuse-lite/data/features/x-doc-messaging.js create mode 100644 node_modules/caniuse-lite/data/features/x-frame-options.js create mode 100644 node_modules/caniuse-lite/data/features/xhr2.js create mode 100644 node_modules/caniuse-lite/data/features/xhtml.js create mode 100644 node_modules/caniuse-lite/data/features/xhtmlsmil.js create mode 100644 node_modules/caniuse-lite/data/features/xml-serializer.js create mode 100644 node_modules/caniuse-lite/data/regions/AD.js create mode 100644 node_modules/caniuse-lite/data/regions/AE.js create mode 100644 node_modules/caniuse-lite/data/regions/AF.js create mode 100644 node_modules/caniuse-lite/data/regions/AG.js create mode 100644 node_modules/caniuse-lite/data/regions/AI.js create mode 100644 node_modules/caniuse-lite/data/regions/AL.js create mode 100644 node_modules/caniuse-lite/data/regions/AM.js create mode 100644 node_modules/caniuse-lite/data/regions/AO.js create mode 100644 node_modules/caniuse-lite/data/regions/AR.js create mode 100644 node_modules/caniuse-lite/data/regions/AS.js create mode 100644 node_modules/caniuse-lite/data/regions/AT.js create mode 100644 node_modules/caniuse-lite/data/regions/AU.js create mode 100644 node_modules/caniuse-lite/data/regions/AW.js create mode 100644 node_modules/caniuse-lite/data/regions/AX.js create mode 100644 node_modules/caniuse-lite/data/regions/AZ.js create mode 100644 node_modules/caniuse-lite/data/regions/BA.js create mode 100644 node_modules/caniuse-lite/data/regions/BB.js create mode 100644 node_modules/caniuse-lite/data/regions/BD.js create mode 100644 node_modules/caniuse-lite/data/regions/BE.js create mode 100644 node_modules/caniuse-lite/data/regions/BF.js create mode 100644 node_modules/caniuse-lite/data/regions/BG.js create mode 100644 node_modules/caniuse-lite/data/regions/BH.js create mode 100644 node_modules/caniuse-lite/data/regions/BI.js create mode 100644 node_modules/caniuse-lite/data/regions/BJ.js create mode 100644 node_modules/caniuse-lite/data/regions/BM.js create mode 100644 node_modules/caniuse-lite/data/regions/BN.js create mode 100644 node_modules/caniuse-lite/data/regions/BO.js create mode 100644 node_modules/caniuse-lite/data/regions/BR.js create mode 100644 node_modules/caniuse-lite/data/regions/BS.js create mode 100644 node_modules/caniuse-lite/data/regions/BT.js create mode 100644 node_modules/caniuse-lite/data/regions/BW.js create mode 100644 node_modules/caniuse-lite/data/regions/BY.js create mode 100644 node_modules/caniuse-lite/data/regions/BZ.js create mode 100644 node_modules/caniuse-lite/data/regions/CA.js create mode 100644 node_modules/caniuse-lite/data/regions/CD.js create mode 100644 node_modules/caniuse-lite/data/regions/CF.js create mode 100644 node_modules/caniuse-lite/data/regions/CG.js create mode 100644 node_modules/caniuse-lite/data/regions/CH.js create mode 100644 node_modules/caniuse-lite/data/regions/CI.js create mode 100644 node_modules/caniuse-lite/data/regions/CK.js create mode 100644 node_modules/caniuse-lite/data/regions/CL.js create mode 100644 node_modules/caniuse-lite/data/regions/CM.js create mode 100644 node_modules/caniuse-lite/data/regions/CN.js create mode 100644 node_modules/caniuse-lite/data/regions/CO.js create mode 100644 node_modules/caniuse-lite/data/regions/CR.js create mode 100644 node_modules/caniuse-lite/data/regions/CU.js create mode 100644 node_modules/caniuse-lite/data/regions/CV.js create mode 100644 node_modules/caniuse-lite/data/regions/CX.js create mode 100644 node_modules/caniuse-lite/data/regions/CY.js create mode 100644 node_modules/caniuse-lite/data/regions/CZ.js create mode 100644 node_modules/caniuse-lite/data/regions/DE.js create mode 100644 node_modules/caniuse-lite/data/regions/DJ.js create mode 100644 node_modules/caniuse-lite/data/regions/DK.js create mode 100644 node_modules/caniuse-lite/data/regions/DM.js create mode 100644 node_modules/caniuse-lite/data/regions/DO.js create mode 100644 node_modules/caniuse-lite/data/regions/DZ.js create mode 100644 node_modules/caniuse-lite/data/regions/EC.js create mode 100644 node_modules/caniuse-lite/data/regions/EE.js create mode 100644 node_modules/caniuse-lite/data/regions/EG.js create mode 100644 node_modules/caniuse-lite/data/regions/ER.js create mode 100644 node_modules/caniuse-lite/data/regions/ES.js create mode 100644 node_modules/caniuse-lite/data/regions/ET.js create mode 100644 node_modules/caniuse-lite/data/regions/FI.js create mode 100644 node_modules/caniuse-lite/data/regions/FJ.js create mode 100644 node_modules/caniuse-lite/data/regions/FK.js create mode 100644 node_modules/caniuse-lite/data/regions/FM.js create mode 100644 node_modules/caniuse-lite/data/regions/FO.js create mode 100644 node_modules/caniuse-lite/data/regions/FR.js create mode 100644 node_modules/caniuse-lite/data/regions/GA.js create mode 100644 node_modules/caniuse-lite/data/regions/GB.js create mode 100644 node_modules/caniuse-lite/data/regions/GD.js create mode 100644 node_modules/caniuse-lite/data/regions/GE.js create mode 100644 node_modules/caniuse-lite/data/regions/GF.js create mode 100644 node_modules/caniuse-lite/data/regions/GG.js create mode 100644 node_modules/caniuse-lite/data/regions/GH.js create mode 100644 node_modules/caniuse-lite/data/regions/GI.js create mode 100644 node_modules/caniuse-lite/data/regions/GL.js create mode 100644 node_modules/caniuse-lite/data/regions/GM.js create mode 100644 node_modules/caniuse-lite/data/regions/GN.js create mode 100644 node_modules/caniuse-lite/data/regions/GP.js create mode 100644 node_modules/caniuse-lite/data/regions/GQ.js create mode 100644 node_modules/caniuse-lite/data/regions/GR.js create mode 100644 node_modules/caniuse-lite/data/regions/GT.js create mode 100644 node_modules/caniuse-lite/data/regions/GU.js create mode 100644 node_modules/caniuse-lite/data/regions/GW.js create mode 100644 node_modules/caniuse-lite/data/regions/GY.js create mode 100644 node_modules/caniuse-lite/data/regions/HK.js create mode 100644 node_modules/caniuse-lite/data/regions/HN.js create mode 100644 node_modules/caniuse-lite/data/regions/HR.js create mode 100644 node_modules/caniuse-lite/data/regions/HT.js create mode 100644 node_modules/caniuse-lite/data/regions/HU.js create mode 100644 node_modules/caniuse-lite/data/regions/ID.js create mode 100644 node_modules/caniuse-lite/data/regions/IE.js create mode 100644 node_modules/caniuse-lite/data/regions/IL.js create mode 100644 node_modules/caniuse-lite/data/regions/IM.js create mode 100644 node_modules/caniuse-lite/data/regions/IN.js create mode 100644 node_modules/caniuse-lite/data/regions/IQ.js create mode 100644 node_modules/caniuse-lite/data/regions/IR.js create mode 100644 node_modules/caniuse-lite/data/regions/IS.js create mode 100644 node_modules/caniuse-lite/data/regions/IT.js create mode 100644 node_modules/caniuse-lite/data/regions/JE.js create mode 100644 node_modules/caniuse-lite/data/regions/JM.js create mode 100644 node_modules/caniuse-lite/data/regions/JO.js create mode 100644 node_modules/caniuse-lite/data/regions/JP.js create mode 100644 node_modules/caniuse-lite/data/regions/KE.js create mode 100644 node_modules/caniuse-lite/data/regions/KG.js create mode 100644 node_modules/caniuse-lite/data/regions/KH.js create mode 100644 node_modules/caniuse-lite/data/regions/KI.js create mode 100644 node_modules/caniuse-lite/data/regions/KM.js create mode 100644 node_modules/caniuse-lite/data/regions/KN.js create mode 100644 node_modules/caniuse-lite/data/regions/KP.js create mode 100644 node_modules/caniuse-lite/data/regions/KR.js create mode 100644 node_modules/caniuse-lite/data/regions/KW.js create mode 100644 node_modules/caniuse-lite/data/regions/KY.js create mode 100644 node_modules/caniuse-lite/data/regions/KZ.js create mode 100644 node_modules/caniuse-lite/data/regions/LA.js create mode 100644 node_modules/caniuse-lite/data/regions/LB.js create mode 100644 node_modules/caniuse-lite/data/regions/LC.js create mode 100644 node_modules/caniuse-lite/data/regions/LI.js create mode 100644 node_modules/caniuse-lite/data/regions/LK.js create mode 100644 node_modules/caniuse-lite/data/regions/LR.js create mode 100644 node_modules/caniuse-lite/data/regions/LS.js create mode 100644 node_modules/caniuse-lite/data/regions/LT.js create mode 100644 node_modules/caniuse-lite/data/regions/LU.js create mode 100644 node_modules/caniuse-lite/data/regions/LV.js create mode 100644 node_modules/caniuse-lite/data/regions/LY.js create mode 100644 node_modules/caniuse-lite/data/regions/MA.js create mode 100644 node_modules/caniuse-lite/data/regions/MC.js create mode 100644 node_modules/caniuse-lite/data/regions/MD.js create mode 100644 node_modules/caniuse-lite/data/regions/ME.js create mode 100644 node_modules/caniuse-lite/data/regions/MG.js create mode 100644 node_modules/caniuse-lite/data/regions/MH.js create mode 100644 node_modules/caniuse-lite/data/regions/MK.js create mode 100644 node_modules/caniuse-lite/data/regions/ML.js create mode 100644 node_modules/caniuse-lite/data/regions/MM.js create mode 100644 node_modules/caniuse-lite/data/regions/MN.js create mode 100644 node_modules/caniuse-lite/data/regions/MO.js create mode 100644 node_modules/caniuse-lite/data/regions/MP.js create mode 100644 node_modules/caniuse-lite/data/regions/MQ.js create mode 100644 node_modules/caniuse-lite/data/regions/MR.js create mode 100644 node_modules/caniuse-lite/data/regions/MS.js create mode 100644 node_modules/caniuse-lite/data/regions/MT.js create mode 100644 node_modules/caniuse-lite/data/regions/MU.js create mode 100644 node_modules/caniuse-lite/data/regions/MV.js create mode 100644 node_modules/caniuse-lite/data/regions/MW.js create mode 100644 node_modules/caniuse-lite/data/regions/MX.js create mode 100644 node_modules/caniuse-lite/data/regions/MY.js create mode 100644 node_modules/caniuse-lite/data/regions/MZ.js create mode 100644 node_modules/caniuse-lite/data/regions/NA.js create mode 100644 node_modules/caniuse-lite/data/regions/NC.js create mode 100644 node_modules/caniuse-lite/data/regions/NE.js create mode 100644 node_modules/caniuse-lite/data/regions/NF.js create mode 100644 node_modules/caniuse-lite/data/regions/NG.js create mode 100644 node_modules/caniuse-lite/data/regions/NI.js create mode 100644 node_modules/caniuse-lite/data/regions/NL.js create mode 100644 node_modules/caniuse-lite/data/regions/NO.js create mode 100644 node_modules/caniuse-lite/data/regions/NP.js create mode 100644 node_modules/caniuse-lite/data/regions/NR.js create mode 100644 node_modules/caniuse-lite/data/regions/NU.js create mode 100644 node_modules/caniuse-lite/data/regions/NZ.js create mode 100644 node_modules/caniuse-lite/data/regions/OM.js create mode 100644 node_modules/caniuse-lite/data/regions/PA.js create mode 100644 node_modules/caniuse-lite/data/regions/PE.js create mode 100644 node_modules/caniuse-lite/data/regions/PF.js create mode 100644 node_modules/caniuse-lite/data/regions/PG.js create mode 100644 node_modules/caniuse-lite/data/regions/PH.js create mode 100644 node_modules/caniuse-lite/data/regions/PK.js create mode 100644 node_modules/caniuse-lite/data/regions/PL.js create mode 100644 node_modules/caniuse-lite/data/regions/PM.js create mode 100644 node_modules/caniuse-lite/data/regions/PN.js create mode 100644 node_modules/caniuse-lite/data/regions/PR.js create mode 100644 node_modules/caniuse-lite/data/regions/PS.js create mode 100644 node_modules/caniuse-lite/data/regions/PT.js create mode 100644 node_modules/caniuse-lite/data/regions/PW.js create mode 100644 node_modules/caniuse-lite/data/regions/PY.js create mode 100644 node_modules/caniuse-lite/data/regions/QA.js create mode 100644 node_modules/caniuse-lite/data/regions/RE.js create mode 100644 node_modules/caniuse-lite/data/regions/RO.js create mode 100644 node_modules/caniuse-lite/data/regions/RS.js create mode 100644 node_modules/caniuse-lite/data/regions/RU.js create mode 100644 node_modules/caniuse-lite/data/regions/RW.js create mode 100644 node_modules/caniuse-lite/data/regions/SA.js create mode 100644 node_modules/caniuse-lite/data/regions/SB.js create mode 100644 node_modules/caniuse-lite/data/regions/SC.js create mode 100644 node_modules/caniuse-lite/data/regions/SD.js create mode 100644 node_modules/caniuse-lite/data/regions/SE.js create mode 100644 node_modules/caniuse-lite/data/regions/SG.js create mode 100644 node_modules/caniuse-lite/data/regions/SH.js create mode 100644 node_modules/caniuse-lite/data/regions/SI.js create mode 100644 node_modules/caniuse-lite/data/regions/SK.js create mode 100644 node_modules/caniuse-lite/data/regions/SL.js create mode 100644 node_modules/caniuse-lite/data/regions/SM.js create mode 100644 node_modules/caniuse-lite/data/regions/SN.js create mode 100644 node_modules/caniuse-lite/data/regions/SO.js create mode 100644 node_modules/caniuse-lite/data/regions/SR.js create mode 100644 node_modules/caniuse-lite/data/regions/ST.js create mode 100644 node_modules/caniuse-lite/data/regions/SV.js create mode 100644 node_modules/caniuse-lite/data/regions/SY.js create mode 100644 node_modules/caniuse-lite/data/regions/SZ.js create mode 100644 node_modules/caniuse-lite/data/regions/TC.js create mode 100644 node_modules/caniuse-lite/data/regions/TD.js create mode 100644 node_modules/caniuse-lite/data/regions/TG.js create mode 100644 node_modules/caniuse-lite/data/regions/TH.js create mode 100644 node_modules/caniuse-lite/data/regions/TJ.js create mode 100644 node_modules/caniuse-lite/data/regions/TK.js create mode 100644 node_modules/caniuse-lite/data/regions/TL.js create mode 100644 node_modules/caniuse-lite/data/regions/TM.js create mode 100644 node_modules/caniuse-lite/data/regions/TN.js create mode 100644 node_modules/caniuse-lite/data/regions/TO.js create mode 100644 node_modules/caniuse-lite/data/regions/TR.js create mode 100644 node_modules/caniuse-lite/data/regions/TT.js create mode 100644 node_modules/caniuse-lite/data/regions/TV.js create mode 100644 node_modules/caniuse-lite/data/regions/TW.js create mode 100644 node_modules/caniuse-lite/data/regions/TZ.js create mode 100644 node_modules/caniuse-lite/data/regions/UA.js create mode 100644 node_modules/caniuse-lite/data/regions/UG.js create mode 100644 node_modules/caniuse-lite/data/regions/US.js create mode 100644 node_modules/caniuse-lite/data/regions/UY.js create mode 100644 node_modules/caniuse-lite/data/regions/UZ.js create mode 100644 node_modules/caniuse-lite/data/regions/VA.js create mode 100644 node_modules/caniuse-lite/data/regions/VC.js create mode 100644 node_modules/caniuse-lite/data/regions/VE.js create mode 100644 node_modules/caniuse-lite/data/regions/VG.js create mode 100644 node_modules/caniuse-lite/data/regions/VI.js create mode 100644 node_modules/caniuse-lite/data/regions/VN.js create mode 100644 node_modules/caniuse-lite/data/regions/VU.js create mode 100644 node_modules/caniuse-lite/data/regions/WF.js create mode 100644 node_modules/caniuse-lite/data/regions/WS.js create mode 100644 node_modules/caniuse-lite/data/regions/YE.js create mode 100644 node_modules/caniuse-lite/data/regions/YT.js create mode 100644 node_modules/caniuse-lite/data/regions/ZA.js create mode 100644 node_modules/caniuse-lite/data/regions/ZM.js create mode 100644 node_modules/caniuse-lite/data/regions/ZW.js create mode 100644 node_modules/caniuse-lite/data/regions/alt-af.js create mode 100644 node_modules/caniuse-lite/data/regions/alt-an.js create mode 100644 node_modules/caniuse-lite/data/regions/alt-as.js create mode 100644 node_modules/caniuse-lite/data/regions/alt-eu.js create mode 100644 node_modules/caniuse-lite/data/regions/alt-na.js create mode 100644 node_modules/caniuse-lite/data/regions/alt-oc.js create mode 100644 node_modules/caniuse-lite/data/regions/alt-sa.js create mode 100644 node_modules/caniuse-lite/data/regions/alt-ww.js create mode 100644 node_modules/caniuse-lite/dist/lib/statuses.js create mode 100644 node_modules/caniuse-lite/dist/lib/supported.js create mode 100644 node_modules/caniuse-lite/dist/unpacker/agents.js create mode 100644 node_modules/caniuse-lite/dist/unpacker/browserVersions.js create mode 100644 node_modules/caniuse-lite/dist/unpacker/browsers.js create mode 100644 node_modules/caniuse-lite/dist/unpacker/feature.js create mode 100644 node_modules/caniuse-lite/dist/unpacker/features.js create mode 100644 node_modules/caniuse-lite/dist/unpacker/index.js create mode 100644 node_modules/caniuse-lite/dist/unpacker/region.js create mode 100644 node_modules/caniuse-lite/package.json create mode 100644 node_modules/chalk/index.js create mode 100644 node_modules/chalk/index.js.flow create mode 100644 node_modules/chalk/license create mode 100644 node_modules/chalk/package.json create mode 100644 node_modules/chalk/readme.md create mode 100644 node_modules/chalk/templates.js create mode 100644 node_modules/chalk/types/index.d.ts create mode 100644 node_modules/clean-stack/index.d.ts create mode 100644 node_modules/clean-stack/index.js create mode 100644 node_modules/clean-stack/license create mode 100644 node_modules/clean-stack/package.json create mode 100644 node_modules/clean-stack/readme.md create mode 100644 node_modules/cliui/CHANGELOG.md create mode 100644 node_modules/cliui/LICENSE.txt create mode 100644 node_modules/cliui/README.md create mode 100644 node_modules/cliui/index.js create mode 100644 node_modules/cliui/package.json create mode 100644 node_modules/color-convert/CHANGELOG.md create mode 100644 node_modules/color-convert/LICENSE create mode 100644 node_modules/color-convert/README.md create mode 100644 node_modules/color-convert/conversions.js create mode 100644 node_modules/color-convert/index.js create mode 100644 node_modules/color-convert/package.json create mode 100644 node_modules/color-convert/route.js create mode 100644 node_modules/color-name/.eslintrc.json create mode 100644 node_modules/color-name/.npmignore create mode 100644 node_modules/color-name/LICENSE create mode 100644 node_modules/color-name/README.md create mode 100644 node_modules/color-name/index.js create mode 100644 node_modules/color-name/package.json create mode 100644 node_modules/color-name/test.js create mode 100644 node_modules/commondir/LICENSE create mode 100644 node_modules/commondir/example/dir.js create mode 100644 node_modules/commondir/index.js create mode 100644 node_modules/commondir/package.json create mode 100644 node_modules/commondir/readme.markdown create mode 100644 node_modules/commondir/test/dirs.js create mode 100644 node_modules/concat-map/.travis.yml create mode 100644 node_modules/concat-map/LICENSE create mode 100644 node_modules/concat-map/README.markdown create mode 100644 node_modules/concat-map/example/map.js create mode 100644 node_modules/concat-map/index.js create mode 100644 node_modules/concat-map/package.json create mode 100644 node_modules/concat-map/test/map.js create mode 100644 node_modules/convert-source-map/LICENSE create mode 100644 node_modules/convert-source-map/README.md create mode 100644 node_modules/convert-source-map/index.js create mode 100644 node_modules/convert-source-map/package.json create mode 100644 node_modules/cross-spawn/CHANGELOG.md create mode 100644 node_modules/cross-spawn/LICENSE create mode 100644 node_modules/cross-spawn/README.md create mode 100644 node_modules/cross-spawn/index.js create mode 100644 node_modules/cross-spawn/lib/enoent.js create mode 100644 node_modules/cross-spawn/lib/parse.js create mode 100644 node_modules/cross-spawn/lib/util/escape.js create mode 100644 node_modules/cross-spawn/lib/util/readShebang.js create mode 100644 node_modules/cross-spawn/lib/util/resolveCommand.js create mode 100644 node_modules/cross-spawn/package.json create mode 100644 node_modules/debug/LICENSE create mode 100644 node_modules/debug/README.md create mode 100644 node_modules/debug/package.json create mode 100644 node_modules/debug/src/browser.js create mode 100644 node_modules/debug/src/common.js create mode 100644 node_modules/debug/src/index.js create mode 100644 node_modules/debug/src/node.js create mode 100644 node_modules/decamelize/index.js create mode 100644 node_modules/decamelize/license create mode 100644 node_modules/decamelize/package.json create mode 100644 node_modules/decamelize/readme.md create mode 100644 node_modules/default-require-extensions/js.js create mode 100644 node_modules/default-require-extensions/json.js create mode 100644 node_modules/default-require-extensions/license create mode 100644 node_modules/default-require-extensions/package.json create mode 100644 node_modules/default-require-extensions/readme.md create mode 100644 node_modules/deprecation/LICENSE create mode 100644 node_modules/deprecation/README.md create mode 100644 node_modules/deprecation/dist-node/index.js create mode 100644 node_modules/deprecation/dist-src/index.js create mode 100644 node_modules/deprecation/dist-types/index.d.ts create mode 100644 node_modules/deprecation/dist-web/index.js create mode 100644 node_modules/deprecation/package.json create mode 100644 node_modules/electron-to-chromium/CHANGELOG.md create mode 100644 node_modules/electron-to-chromium/LICENSE create mode 100644 node_modules/electron-to-chromium/README.md create mode 100644 node_modules/electron-to-chromium/chromium-versions.js create mode 100644 node_modules/electron-to-chromium/full-chromium-versions.js create mode 100644 node_modules/electron-to-chromium/full-versions.js create mode 100644 node_modules/electron-to-chromium/index.js create mode 100644 node_modules/electron-to-chromium/package.json create mode 100644 node_modules/electron-to-chromium/versions.js create mode 100644 node_modules/emoji-regex/LICENSE-MIT.txt create mode 100644 node_modules/emoji-regex/README.md create mode 100644 node_modules/emoji-regex/es2015/index.js create mode 100644 node_modules/emoji-regex/es2015/text.js create mode 100644 node_modules/emoji-regex/index.d.ts create mode 100644 node_modules/emoji-regex/index.js create mode 100644 node_modules/emoji-regex/package.json create mode 100644 node_modules/emoji-regex/text.js create mode 100644 node_modules/es6-error/CHANGELOG.md create mode 100644 node_modules/es6-error/LICENSE.md create mode 100644 node_modules/es6-error/README.md create mode 100644 node_modules/es6-error/es6/index.js create mode 100644 node_modules/es6-error/lib/index.js create mode 100644 node_modules/es6-error/package.json create mode 100644 node_modules/es6-error/typings/index.d.ts create mode 100644 node_modules/escalade/dist/index.js create mode 100644 node_modules/escalade/dist/index.mjs create mode 100644 node_modules/escalade/index.d.ts create mode 100644 node_modules/escalade/license create mode 100644 node_modules/escalade/package.json create mode 100644 node_modules/escalade/readme.md create mode 100644 node_modules/escalade/sync/index.d.ts create mode 100644 node_modules/escalade/sync/index.js create mode 100644 node_modules/escalade/sync/index.mjs create mode 100644 node_modules/escape-string-regexp/index.js create mode 100644 node_modules/escape-string-regexp/license create mode 100644 node_modules/escape-string-regexp/package.json create mode 100644 node_modules/escape-string-regexp/readme.md create mode 100644 node_modules/esprima/ChangeLog create mode 100644 node_modules/esprima/LICENSE.BSD create mode 100644 node_modules/esprima/README.md create mode 100755 node_modules/esprima/bin/esparse.js create mode 100755 node_modules/esprima/bin/esvalidate.js create mode 100644 node_modules/esprima/dist/esprima.js create mode 100644 node_modules/esprima/package.json create mode 100644 node_modules/find-cache-dir/index.js create mode 100644 node_modules/find-cache-dir/license create mode 100644 node_modules/find-cache-dir/package.json create mode 100644 node_modules/find-cache-dir/readme.md create mode 100644 node_modules/find-up/index.d.ts create mode 100644 node_modules/find-up/index.js create mode 100644 node_modules/find-up/license create mode 100644 node_modules/find-up/package.json create mode 100644 node_modules/find-up/readme.md create mode 100644 node_modules/foreground-child/CHANGELOG.md create mode 100644 node_modules/foreground-child/LICENSE create mode 100644 node_modules/foreground-child/README.md create mode 100644 node_modules/foreground-child/changelog.sh create mode 100644 node_modules/foreground-child/index.js create mode 100644 node_modules/foreground-child/package.json create mode 100755 node_modules/fromentries/LICENSE create mode 100644 node_modules/fromentries/README.md create mode 100644 node_modules/fromentries/index.d.ts create mode 100644 node_modules/fromentries/index.js create mode 100644 node_modules/fromentries/package.json create mode 100644 node_modules/fs.realpath/LICENSE create mode 100644 node_modules/fs.realpath/README.md create mode 100644 node_modules/fs.realpath/index.js create mode 100644 node_modules/fs.realpath/old.js create mode 100644 node_modules/fs.realpath/package.json create mode 100644 node_modules/gensync/LICENSE create mode 100644 node_modules/gensync/README.md create mode 100644 node_modules/gensync/index.js create mode 100644 node_modules/gensync/index.js.flow create mode 100644 node_modules/gensync/package.json create mode 100644 node_modules/gensync/test/.babelrc create mode 100644 node_modules/gensync/test/index.test.js create mode 100644 node_modules/get-caller-file/LICENSE.md create mode 100644 node_modules/get-caller-file/README.md create mode 100644 node_modules/get-caller-file/index.d.ts create mode 100644 node_modules/get-caller-file/index.js create mode 100644 node_modules/get-caller-file/index.js.map create mode 100644 node_modules/get-caller-file/package.json create mode 100644 node_modules/get-package-type/CHANGELOG.md create mode 100644 node_modules/get-package-type/LICENSE create mode 100644 node_modules/get-package-type/README.md create mode 100644 node_modules/get-package-type/async.cjs create mode 100644 node_modules/get-package-type/cache.cjs create mode 100644 node_modules/get-package-type/index.cjs create mode 100644 node_modules/get-package-type/is-node-modules.cjs create mode 100644 node_modules/get-package-type/package.json create mode 100644 node_modules/get-package-type/sync.cjs create mode 100644 node_modules/glob/LICENSE create mode 100644 node_modules/glob/README.md create mode 100644 node_modules/glob/common.js create mode 100644 node_modules/glob/glob.js create mode 100644 node_modules/glob/package.json create mode 100644 node_modules/glob/sync.js create mode 100644 node_modules/globals/globals.json create mode 100644 node_modules/globals/index.js create mode 100644 node_modules/globals/license create mode 100644 node_modules/globals/package.json create mode 100644 node_modules/globals/readme.md create mode 100644 node_modules/graceful-fs/LICENSE create mode 100644 node_modules/graceful-fs/README.md create mode 100644 node_modules/graceful-fs/clone.js create mode 100644 node_modules/graceful-fs/graceful-fs.js create mode 100644 node_modules/graceful-fs/legacy-streams.js create mode 100644 node_modules/graceful-fs/package.json create mode 100644 node_modules/graceful-fs/polyfills.js create mode 100644 node_modules/has-flag/index.js create mode 100644 node_modules/has-flag/license create mode 100644 node_modules/has-flag/package.json create mode 100644 node_modules/has-flag/readme.md create mode 100644 node_modules/hasha/index.d.ts create mode 100644 node_modules/hasha/index.js create mode 100644 node_modules/hasha/license create mode 100644 node_modules/hasha/package.json create mode 100644 node_modules/hasha/readme.md create mode 100644 node_modules/hasha/thread.js create mode 100644 node_modules/hook-std/index.d.ts create mode 100644 node_modules/hook-std/index.js create mode 100644 node_modules/hook-std/license create mode 100644 node_modules/hook-std/package.json create mode 100644 node_modules/hook-std/readme.md create mode 100644 node_modules/html-escaper/LICENSE.txt create mode 100644 node_modules/html-escaper/README.md create mode 100644 node_modules/html-escaper/cjs/index.js create mode 100644 node_modules/html-escaper/cjs/package.json create mode 100644 node_modules/html-escaper/esm/index.js create mode 100644 node_modules/html-escaper/index.js create mode 100644 node_modules/html-escaper/min.js create mode 100644 node_modules/html-escaper/package.json create mode 100644 node_modules/html-escaper/test/index.js create mode 100644 node_modules/html-escaper/test/package.json create mode 100644 node_modules/imurmurhash/README.md create mode 100644 node_modules/imurmurhash/imurmurhash.js create mode 100644 node_modules/imurmurhash/imurmurhash.min.js create mode 100644 node_modules/imurmurhash/package.json create mode 100644 node_modules/indent-string/index.d.ts create mode 100644 node_modules/indent-string/index.js create mode 100644 node_modules/indent-string/license create mode 100644 node_modules/indent-string/package.json create mode 100644 node_modules/indent-string/readme.md create mode 100644 node_modules/inflight/LICENSE create mode 100644 node_modules/inflight/README.md create mode 100644 node_modules/inflight/inflight.js create mode 100644 node_modules/inflight/package.json create mode 100644 node_modules/inherits/LICENSE create mode 100644 node_modules/inherits/README.md create mode 100644 node_modules/inherits/inherits.js create mode 100644 node_modules/inherits/inherits_browser.js create mode 100644 node_modules/inherits/package.json create mode 100644 node_modules/is-fullwidth-code-point/index.d.ts create mode 100644 node_modules/is-fullwidth-code-point/index.js create mode 100644 node_modules/is-fullwidth-code-point/license create mode 100644 node_modules/is-fullwidth-code-point/package.json create mode 100644 node_modules/is-fullwidth-code-point/readme.md create mode 100644 node_modules/is-plain-object/LICENSE create mode 100644 node_modules/is-plain-object/README.md create mode 100644 node_modules/is-plain-object/dist/is-plain-object.js create mode 100644 node_modules/is-plain-object/dist/is-plain-object.mjs create mode 100644 node_modules/is-plain-object/is-plain-object.d.ts create mode 100644 node_modules/is-plain-object/package.json create mode 100644 node_modules/is-stream/index.d.ts create mode 100644 node_modules/is-stream/index.js create mode 100644 node_modules/is-stream/license create mode 100644 node_modules/is-stream/package.json create mode 100644 node_modules/is-stream/readme.md create mode 100644 node_modules/is-typedarray/LICENSE.md create mode 100644 node_modules/is-typedarray/README.md create mode 100644 node_modules/is-typedarray/index.js create mode 100644 node_modules/is-typedarray/package.json create mode 100644 node_modules/is-typedarray/test.js create mode 100644 node_modules/is-windows/LICENSE create mode 100644 node_modules/is-windows/README.md create mode 100644 node_modules/is-windows/index.js create mode 100644 node_modules/is-windows/package.json create mode 100644 node_modules/isexe/.npmignore create mode 100644 node_modules/isexe/LICENSE create mode 100644 node_modules/isexe/README.md create mode 100644 node_modules/isexe/index.js create mode 100644 node_modules/isexe/mode.js create mode 100644 node_modules/isexe/package.json create mode 100644 node_modules/isexe/test/basic.js create mode 100644 node_modules/isexe/windows.js create mode 100644 node_modules/istanbul-lib-coverage/CHANGELOG.md create mode 100644 node_modules/istanbul-lib-coverage/LICENSE create mode 100644 node_modules/istanbul-lib-coverage/README.md create mode 100644 node_modules/istanbul-lib-coverage/index.js create mode 100644 node_modules/istanbul-lib-coverage/lib/coverage-map.js create mode 100644 node_modules/istanbul-lib-coverage/lib/coverage-summary.js create mode 100644 node_modules/istanbul-lib-coverage/lib/data-properties.js create mode 100644 node_modules/istanbul-lib-coverage/lib/file-coverage.js create mode 100644 node_modules/istanbul-lib-coverage/lib/percent.js create mode 100644 node_modules/istanbul-lib-coverage/package.json create mode 100644 node_modules/istanbul-lib-hook/CHANGELOG.md create mode 100644 node_modules/istanbul-lib-hook/LICENSE create mode 100644 node_modules/istanbul-lib-hook/README.md create mode 100644 node_modules/istanbul-lib-hook/index.js create mode 100644 node_modules/istanbul-lib-hook/lib/hook.js create mode 100644 node_modules/istanbul-lib-hook/package.json create mode 100644 node_modules/istanbul-lib-instrument/CHANGELOG.md create mode 100644 node_modules/istanbul-lib-instrument/LICENSE create mode 100644 node_modules/istanbul-lib-instrument/README.md create mode 100644 node_modules/istanbul-lib-instrument/dist/constants.js create mode 100644 node_modules/istanbul-lib-instrument/dist/index.js create mode 100644 node_modules/istanbul-lib-instrument/dist/instrumenter.js create mode 100644 node_modules/istanbul-lib-instrument/dist/read-coverage.js create mode 100644 node_modules/istanbul-lib-instrument/dist/source-coverage.js create mode 100644 node_modules/istanbul-lib-instrument/dist/visitor.js create mode 100644 node_modules/istanbul-lib-instrument/package.json create mode 100644 node_modules/istanbul-lib-processinfo/CHANGELOG.md create mode 100644 node_modules/istanbul-lib-processinfo/LICENSE create mode 100644 node_modules/istanbul-lib-processinfo/README.md create mode 100644 node_modules/istanbul-lib-processinfo/index.js create mode 100644 node_modules/istanbul-lib-processinfo/package.json create mode 100644 node_modules/istanbul-lib-report/CHANGELOG.md create mode 100644 node_modules/istanbul-lib-report/LICENSE create mode 100644 node_modules/istanbul-lib-report/README.md create mode 100644 node_modules/istanbul-lib-report/index.js create mode 100644 node_modules/istanbul-lib-report/lib/context.js create mode 100644 node_modules/istanbul-lib-report/lib/file-writer.js create mode 100644 node_modules/istanbul-lib-report/lib/path.js create mode 100644 node_modules/istanbul-lib-report/lib/report-base.js create mode 100644 node_modules/istanbul-lib-report/lib/summarizer-factory.js create mode 100644 node_modules/istanbul-lib-report/lib/tree.js create mode 100644 node_modules/istanbul-lib-report/lib/watermarks.js create mode 100644 node_modules/istanbul-lib-report/lib/xml-writer.js create mode 100644 node_modules/istanbul-lib-report/node_modules/has-flag/index.d.ts create mode 100644 node_modules/istanbul-lib-report/node_modules/has-flag/index.js create mode 100644 node_modules/istanbul-lib-report/node_modules/has-flag/license create mode 100644 node_modules/istanbul-lib-report/node_modules/has-flag/package.json create mode 100644 node_modules/istanbul-lib-report/node_modules/has-flag/readme.md create mode 100644 node_modules/istanbul-lib-report/node_modules/supports-color/browser.js create mode 100644 node_modules/istanbul-lib-report/node_modules/supports-color/index.js create mode 100644 node_modules/istanbul-lib-report/node_modules/supports-color/license create mode 100644 node_modules/istanbul-lib-report/node_modules/supports-color/package.json create mode 100644 node_modules/istanbul-lib-report/node_modules/supports-color/readme.md create mode 100644 node_modules/istanbul-lib-report/package.json create mode 100644 node_modules/istanbul-lib-source-maps/CHANGELOG.md create mode 100644 node_modules/istanbul-lib-source-maps/LICENSE create mode 100644 node_modules/istanbul-lib-source-maps/README.md create mode 100644 node_modules/istanbul-lib-source-maps/index.js create mode 100644 node_modules/istanbul-lib-source-maps/lib/get-mapping.js create mode 100644 node_modules/istanbul-lib-source-maps/lib/map-store.js create mode 100644 node_modules/istanbul-lib-source-maps/lib/mapped.js create mode 100644 node_modules/istanbul-lib-source-maps/lib/pathutils.js create mode 100644 node_modules/istanbul-lib-source-maps/lib/transform-utils.js create mode 100644 node_modules/istanbul-lib-source-maps/lib/transformer.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/CHANGELOG.md create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/LICENSE create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/README.md create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/dist/source-map.debug.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/dist/source-map.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/dist/source-map.min.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/dist/source-map.min.js.map create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/lib/array-set.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/lib/base64-vlq.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/lib/base64.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/lib/binary-search.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/lib/mapping-list.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/lib/quick-sort.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/lib/source-map-consumer.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/lib/source-map-generator.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/lib/source-node.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/lib/util.js create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/package.json create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/source-map.d.ts create mode 100644 node_modules/istanbul-lib-source-maps/node_modules/source-map/source-map.js create mode 100644 node_modules/istanbul-lib-source-maps/package.json create mode 100644 node_modules/istanbul-reports/CHANGELOG.md create mode 100644 node_modules/istanbul-reports/LICENSE create mode 100644 node_modules/istanbul-reports/README.md create mode 100644 node_modules/istanbul-reports/index.js create mode 100644 node_modules/istanbul-reports/lib/clover/index.js create mode 100644 node_modules/istanbul-reports/lib/cobertura/index.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/.babelrc create mode 100644 node_modules/istanbul-reports/lib/html-spa/assets/bundle.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/assets/sort-arrow-sprite.png create mode 100644 node_modules/istanbul-reports/lib/html-spa/assets/spa.css create mode 100644 node_modules/istanbul-reports/lib/html-spa/index.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/src/fileBreadcrumbs.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/src/filterToggle.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/src/flattenToggle.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/src/getChildData.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/src/index.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/src/routing.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/src/summaryHeader.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/src/summaryTableHeader.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/src/summaryTableLine.js create mode 100644 node_modules/istanbul-reports/lib/html-spa/webpack.config.js create mode 100644 node_modules/istanbul-reports/lib/html/annotator.js create mode 100644 node_modules/istanbul-reports/lib/html/assets/base.css create mode 100644 node_modules/istanbul-reports/lib/html/assets/block-navigation.js create mode 100644 node_modules/istanbul-reports/lib/html/assets/favicon.png create mode 100644 node_modules/istanbul-reports/lib/html/assets/sort-arrow-sprite.png create mode 100644 node_modules/istanbul-reports/lib/html/assets/sorter.js create mode 100644 node_modules/istanbul-reports/lib/html/assets/vendor/prettify.css create mode 100644 node_modules/istanbul-reports/lib/html/assets/vendor/prettify.js create mode 100644 node_modules/istanbul-reports/lib/html/index.js create mode 100644 node_modules/istanbul-reports/lib/html/insertion-text.js create mode 100644 node_modules/istanbul-reports/lib/json-summary/index.js create mode 100644 node_modules/istanbul-reports/lib/json/index.js create mode 100644 node_modules/istanbul-reports/lib/lcov/index.js create mode 100644 node_modules/istanbul-reports/lib/lcovonly/index.js create mode 100644 node_modules/istanbul-reports/lib/none/index.js create mode 100644 node_modules/istanbul-reports/lib/teamcity/index.js create mode 100644 node_modules/istanbul-reports/lib/text-lcov/index.js create mode 100644 node_modules/istanbul-reports/lib/text-summary/index.js create mode 100644 node_modules/istanbul-reports/lib/text/index.js create mode 100644 node_modules/istanbul-reports/package.json create mode 100644 node_modules/js-tokens/CHANGELOG.md create mode 100644 node_modules/js-tokens/LICENSE create mode 100644 node_modules/js-tokens/README.md create mode 100644 node_modules/js-tokens/index.js create mode 100644 node_modules/js-tokens/package.json create mode 100644 node_modules/js-yaml/CHANGELOG.md create mode 100644 node_modules/js-yaml/LICENSE create mode 100644 node_modules/js-yaml/README.md create mode 100755 node_modules/js-yaml/bin/js-yaml.js create mode 100644 node_modules/js-yaml/dist/js-yaml.js create mode 100644 node_modules/js-yaml/dist/js-yaml.min.js create mode 100644 node_modules/js-yaml/index.js create mode 100644 node_modules/js-yaml/lib/js-yaml.js create mode 100644 node_modules/js-yaml/lib/js-yaml/common.js create mode 100644 node_modules/js-yaml/lib/js-yaml/dumper.js create mode 100644 node_modules/js-yaml/lib/js-yaml/exception.js create mode 100644 node_modules/js-yaml/lib/js-yaml/loader.js create mode 100644 node_modules/js-yaml/lib/js-yaml/mark.js create mode 100644 node_modules/js-yaml/lib/js-yaml/schema.js create mode 100644 node_modules/js-yaml/lib/js-yaml/schema/core.js create mode 100644 node_modules/js-yaml/lib/js-yaml/schema/default_full.js create mode 100644 node_modules/js-yaml/lib/js-yaml/schema/default_safe.js create mode 100644 node_modules/js-yaml/lib/js-yaml/schema/failsafe.js create mode 100644 node_modules/js-yaml/lib/js-yaml/schema/json.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/binary.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/bool.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/float.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/int.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/js/function.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/js/regexp.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/js/undefined.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/map.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/merge.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/null.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/omap.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/pairs.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/seq.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/set.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/str.js create mode 100644 node_modules/js-yaml/lib/js-yaml/type/timestamp.js create mode 100644 node_modules/js-yaml/package.json create mode 100644 node_modules/jsesc/LICENSE-MIT.txt create mode 100644 node_modules/jsesc/README.md create mode 100755 node_modules/jsesc/bin/jsesc create mode 100644 node_modules/jsesc/jsesc.js create mode 100644 node_modules/jsesc/man/jsesc.1 create mode 100644 node_modules/jsesc/package.json create mode 100644 node_modules/json5/CHANGELOG.md create mode 100644 node_modules/json5/LICENSE.md create mode 100644 node_modules/json5/README.md create mode 100644 node_modules/json5/dist/index.js create mode 100644 node_modules/json5/dist/index.min.js create mode 100644 node_modules/json5/dist/index.min.mjs create mode 100644 node_modules/json5/dist/index.mjs create mode 100755 node_modules/json5/lib/cli.js create mode 100644 node_modules/json5/lib/index.d.ts create mode 100644 node_modules/json5/lib/index.js create mode 100644 node_modules/json5/lib/parse.d.ts create mode 100644 node_modules/json5/lib/parse.js create mode 100644 node_modules/json5/lib/register.js create mode 100644 node_modules/json5/lib/require.js create mode 100644 node_modules/json5/lib/stringify.d.ts create mode 100644 node_modules/json5/lib/stringify.js create mode 100644 node_modules/json5/lib/unicode.d.ts create mode 100644 node_modules/json5/lib/unicode.js create mode 100644 node_modules/json5/lib/util.d.ts create mode 100644 node_modules/json5/lib/util.js create mode 100644 node_modules/json5/package.json create mode 100644 node_modules/locate-path/index.d.ts create mode 100644 node_modules/locate-path/index.js create mode 100644 node_modules/locate-path/license create mode 100644 node_modules/locate-path/package.json create mode 100644 node_modules/locate-path/readme.md create mode 100644 node_modules/lodash.flattendeep/LICENSE create mode 100644 node_modules/lodash.flattendeep/README.md create mode 100644 node_modules/lodash.flattendeep/index.js create mode 100644 node_modules/lodash.flattendeep/package.json create mode 100644 node_modules/make-dir/index.d.ts create mode 100644 node_modules/make-dir/index.js create mode 100644 node_modules/make-dir/license create mode 100644 node_modules/make-dir/package.json create mode 100644 node_modules/make-dir/readme.md create mode 100644 node_modules/minimalistic-assert/LICENSE create mode 100644 node_modules/minimalistic-assert/index.js create mode 100644 node_modules/minimalistic-assert/package.json create mode 100644 node_modules/minimalistic-assert/readme.md create mode 100644 node_modules/minimatch/LICENSE create mode 100644 node_modules/minimatch/README.md create mode 100644 node_modules/minimatch/minimatch.js create mode 100644 node_modules/minimatch/package.json create mode 100644 node_modules/minimist/.travis.yml create mode 100644 node_modules/minimist/LICENSE create mode 100644 node_modules/minimist/example/parse.js create mode 100644 node_modules/minimist/index.js create mode 100644 node_modules/minimist/package.json create mode 100644 node_modules/minimist/readme.markdown create mode 100644 node_modules/minimist/test/all_bool.js create mode 100644 node_modules/minimist/test/bool.js create mode 100644 node_modules/minimist/test/dash.js create mode 100644 node_modules/minimist/test/default_bool.js create mode 100644 node_modules/minimist/test/dotted.js create mode 100644 node_modules/minimist/test/kv_short.js create mode 100644 node_modules/minimist/test/long.js create mode 100644 node_modules/minimist/test/num.js create mode 100644 node_modules/minimist/test/parse.js create mode 100644 node_modules/minimist/test/parse_modified.js create mode 100644 node_modules/minimist/test/proto.js create mode 100644 node_modules/minimist/test/short.js create mode 100644 node_modules/minimist/test/stop_early.js create mode 100644 node_modules/minimist/test/unknown.js create mode 100644 node_modules/minimist/test/whitespace.js create mode 100644 node_modules/ms/index.js create mode 100644 node_modules/ms/license.md create mode 100644 node_modules/ms/package.json create mode 100644 node_modules/ms/readme.md create mode 100644 node_modules/nanocolors/LICENSE create mode 100644 node_modules/nanocolors/README.md create mode 100644 node_modules/nanocolors/index.browser.cjs create mode 100644 node_modules/nanocolors/index.browser.js create mode 100644 node_modules/nanocolors/index.cjs create mode 100644 node_modules/nanocolors/index.d.ts create mode 100644 node_modules/nanocolors/index.js create mode 100644 node_modules/nanocolors/package.json create mode 100644 node_modules/node-fetch/LICENSE.md create mode 100644 node_modules/node-fetch/README.md create mode 100644 node_modules/node-fetch/browser.js create mode 100644 node_modules/node-fetch/lib/index.es.js create mode 100644 node_modules/node-fetch/lib/index.js create mode 100644 node_modules/node-fetch/lib/index.mjs create mode 100644 node_modules/node-fetch/package.json create mode 100644 node_modules/node-preload/CHANGELOG.md create mode 100644 node_modules/node-preload/LICENSE create mode 100644 node_modules/node-preload/README.md create mode 100644 node_modules/node-preload/generate-require.js create mode 100644 node_modules/node-preload/hook-spawn.js create mode 100644 node_modules/node-preload/index.js create mode 100644 node_modules/node-preload/internal-preload-module.js create mode 100644 node_modules/node-preload/package.json create mode 100644 node_modules/node-preload/preload-list-env.js create mode 100644 node_modules/node-preload/preload-list.js create mode 100644 node_modules/node-preload/preload-path/node-preload.js create mode 100644 node_modules/node-preload/process-node-options.js create mode 100644 node_modules/node-releases/.github/workflows/nightly-sync.yml create mode 100644 node_modules/node-releases/LICENSE create mode 100644 node_modules/node-releases/README.md create mode 100644 node_modules/node-releases/data/processed/envs.json create mode 100644 node_modules/node-releases/data/raw/iojs.json create mode 100644 node_modules/node-releases/data/raw/nodejs.json create mode 100644 node_modules/node-releases/data/release-schedule/release-schedule.json create mode 100644 node_modules/node-releases/package.json create mode 100644 node_modules/nyc/CHANGELOG.md create mode 100644 node_modules/nyc/LICENSE.txt create mode 100644 node_modules/nyc/README.md create mode 100755 node_modules/nyc/bin/nyc.js create mode 100644 node_modules/nyc/bin/wrap.js create mode 100755 node_modules/nyc/index.js create mode 100644 node_modules/nyc/lib/commands/check-coverage.js create mode 100644 node_modules/nyc/lib/commands/helpers.js create mode 100644 node_modules/nyc/lib/commands/instrument.js create mode 100644 node_modules/nyc/lib/commands/merge.js create mode 100644 node_modules/nyc/lib/commands/report.js create mode 100644 node_modules/nyc/lib/config-util.js create mode 100644 node_modules/nyc/lib/fs-promises.js create mode 100644 node_modules/nyc/lib/hash.js create mode 100644 node_modules/nyc/lib/instrumenters/istanbul.js create mode 100644 node_modules/nyc/lib/instrumenters/noop.js create mode 100644 node_modules/nyc/lib/process-args.js create mode 100644 node_modules/nyc/lib/register-env.js create mode 100644 node_modules/nyc/lib/source-maps.js create mode 100644 node_modules/nyc/lib/wrap.js create mode 100644 node_modules/nyc/package.json create mode 100644 node_modules/once/LICENSE create mode 100644 node_modules/once/README.md create mode 100644 node_modules/once/once.js create mode 100644 node_modules/once/package.json create mode 100644 node_modules/openpgp/LICENSE create mode 100644 node_modules/openpgp/README.md create mode 100644 node_modules/openpgp/dist/lightweight/bn.interface.min.mjs create mode 100644 node_modules/openpgp/dist/lightweight/bn.interface.min.mjs.map create mode 100644 node_modules/openpgp/dist/lightweight/bn.interface.mjs create mode 100644 node_modules/openpgp/dist/lightweight/bn.min.mjs create mode 100644 node_modules/openpgp/dist/lightweight/bn.min.mjs.map create mode 100644 node_modules/openpgp/dist/lightweight/bn.mjs create mode 100644 node_modules/openpgp/dist/lightweight/elliptic.min.mjs create mode 100644 node_modules/openpgp/dist/lightweight/elliptic.min.mjs.map create mode 100644 node_modules/openpgp/dist/lightweight/elliptic.mjs create mode 100644 node_modules/openpgp/dist/lightweight/openpgp.min.mjs create mode 100644 node_modules/openpgp/dist/lightweight/openpgp.min.mjs.map create mode 100644 node_modules/openpgp/dist/lightweight/openpgp.mjs create mode 100644 node_modules/openpgp/dist/lightweight/ponyfill.es6.min.mjs create mode 100644 node_modules/openpgp/dist/lightweight/ponyfill.es6.min.mjs.map create mode 100644 node_modules/openpgp/dist/lightweight/ponyfill.es6.mjs create mode 100644 node_modules/openpgp/dist/lightweight/web-streams-adapter.min.mjs create mode 100644 node_modules/openpgp/dist/lightweight/web-streams-adapter.min.mjs.map create mode 100644 node_modules/openpgp/dist/lightweight/web-streams-adapter.mjs create mode 100644 node_modules/openpgp/dist/node/openpgp.js create mode 100644 node_modules/openpgp/dist/node/openpgp.min.js create mode 100644 node_modules/openpgp/dist/node/openpgp.min.js.map create mode 100644 node_modules/openpgp/dist/node/openpgp.min.mjs create mode 100644 node_modules/openpgp/dist/node/openpgp.min.mjs.map create mode 100644 node_modules/openpgp/dist/node/openpgp.mjs create mode 100644 node_modules/openpgp/dist/openpgp.js create mode 100644 node_modules/openpgp/dist/openpgp.min.js create mode 100644 node_modules/openpgp/dist/openpgp.min.js.map create mode 100644 node_modules/openpgp/dist/openpgp.min.mjs create mode 100644 node_modules/openpgp/dist/openpgp.min.mjs.map create mode 100644 node_modules/openpgp/dist/openpgp.mjs create mode 100644 node_modules/openpgp/lightweight/package.json create mode 100644 node_modules/openpgp/openpgp.d.ts create mode 100644 node_modules/openpgp/package.json create mode 100644 node_modules/p-limit/index.d.ts create mode 100644 node_modules/p-limit/index.js create mode 100644 node_modules/p-limit/license create mode 100644 node_modules/p-limit/package.json create mode 100644 node_modules/p-limit/readme.md create mode 100644 node_modules/p-locate/index.d.ts create mode 100644 node_modules/p-locate/index.js create mode 100644 node_modules/p-locate/license create mode 100644 node_modules/p-locate/package.json create mode 100644 node_modules/p-locate/readme.md create mode 100644 node_modules/p-map/index.d.ts create mode 100644 node_modules/p-map/index.js create mode 100644 node_modules/p-map/license create mode 100644 node_modules/p-map/package.json create mode 100644 node_modules/p-map/readme.md create mode 100644 node_modules/p-try/index.d.ts create mode 100644 node_modules/p-try/index.js create mode 100644 node_modules/p-try/license create mode 100644 node_modules/p-try/package.json create mode 100644 node_modules/p-try/readme.md create mode 100644 node_modules/package-hash/LICENSE create mode 100644 node_modules/package-hash/README.md create mode 100644 node_modules/package-hash/index.js create mode 100644 node_modules/package-hash/package.json create mode 100644 node_modules/path-exists/index.d.ts create mode 100644 node_modules/path-exists/index.js create mode 100644 node_modules/path-exists/license create mode 100644 node_modules/path-exists/package.json create mode 100644 node_modules/path-exists/readme.md create mode 100644 node_modules/path-is-absolute/index.js create mode 100644 node_modules/path-is-absolute/license create mode 100644 node_modules/path-is-absolute/package.json create mode 100644 node_modules/path-is-absolute/readme.md create mode 100644 node_modules/path-key/index.d.ts create mode 100644 node_modules/path-key/index.js create mode 100644 node_modules/path-key/license create mode 100644 node_modules/path-key/package.json create mode 100644 node_modules/path-key/readme.md create mode 100644 node_modules/pkg-dir/index.d.ts create mode 100644 node_modules/pkg-dir/index.js create mode 100644 node_modules/pkg-dir/license create mode 100644 node_modules/pkg-dir/package.json create mode 100644 node_modules/pkg-dir/readme.md create mode 100644 node_modules/process-on-spawn/CHANGELOG.md create mode 100644 node_modules/process-on-spawn/LICENSE create mode 100644 node_modules/process-on-spawn/README.md create mode 100644 node_modules/process-on-spawn/index.js create mode 100644 node_modules/process-on-spawn/package.json create mode 100644 node_modules/release-zalgo/LICENSE create mode 100644 node_modules/release-zalgo/README.md create mode 100644 node_modules/release-zalgo/index.js create mode 100644 node_modules/release-zalgo/lib/Async.js create mode 100644 node_modules/release-zalgo/lib/Sync.js create mode 100644 node_modules/release-zalgo/lib/Thenable.js create mode 100644 node_modules/release-zalgo/lib/constants.js create mode 100644 node_modules/release-zalgo/lib/unwrapSync.js create mode 100644 node_modules/release-zalgo/package.json create mode 100644 node_modules/require-directory/.jshintrc create mode 100644 node_modules/require-directory/.npmignore create mode 100644 node_modules/require-directory/.travis.yml create mode 100644 node_modules/require-directory/LICENSE create mode 100644 node_modules/require-directory/README.markdown create mode 100644 node_modules/require-directory/index.js create mode 100644 node_modules/require-directory/package.json create mode 100644 node_modules/require-main-filename/CHANGELOG.md create mode 100644 node_modules/require-main-filename/LICENSE.txt create mode 100644 node_modules/require-main-filename/README.md create mode 100644 node_modules/require-main-filename/index.js create mode 100644 node_modules/require-main-filename/package.json create mode 100644 node_modules/resolve-from/index.d.ts create mode 100644 node_modules/resolve-from/index.js create mode 100644 node_modules/resolve-from/license create mode 100644 node_modules/resolve-from/package.json create mode 100644 node_modules/resolve-from/readme.md create mode 100644 node_modules/rimraf/CHANGELOG.md create mode 100644 node_modules/rimraf/LICENSE create mode 100644 node_modules/rimraf/README.md create mode 100755 node_modules/rimraf/bin.js create mode 100644 node_modules/rimraf/package.json create mode 100644 node_modules/rimraf/rimraf.js create mode 100644 node_modules/safe-buffer/LICENSE create mode 100644 node_modules/safe-buffer/README.md create mode 100644 node_modules/safe-buffer/index.d.ts create mode 100644 node_modules/safe-buffer/index.js create mode 100644 node_modules/safe-buffer/package.json create mode 100644 node_modules/safer-buffer/LICENSE create mode 100644 node_modules/safer-buffer/Porting-Buffer.md create mode 100644 node_modules/safer-buffer/Readme.md create mode 100644 node_modules/safer-buffer/dangerous.js create mode 100644 node_modules/safer-buffer/package.json create mode 100644 node_modules/safer-buffer/safer.js create mode 100644 node_modules/safer-buffer/tests.js create mode 100644 node_modules/semver/CHANGELOG.md create mode 100644 node_modules/semver/LICENSE create mode 100644 node_modules/semver/README.md create mode 100755 node_modules/semver/bin/semver.js create mode 100644 node_modules/semver/package.json create mode 100644 node_modules/semver/range.bnf create mode 100644 node_modules/semver/semver.js create mode 100644 node_modules/set-blocking/CHANGELOG.md create mode 100644 node_modules/set-blocking/LICENSE.txt create mode 100644 node_modules/set-blocking/README.md create mode 100644 node_modules/set-blocking/index.js create mode 100644 node_modules/set-blocking/package.json create mode 100644 node_modules/shebang-command/index.js create mode 100644 node_modules/shebang-command/license create mode 100644 node_modules/shebang-command/package.json create mode 100644 node_modules/shebang-command/readme.md create mode 100644 node_modules/shebang-regex/index.d.ts create mode 100644 node_modules/shebang-regex/index.js create mode 100644 node_modules/shebang-regex/license create mode 100644 node_modules/shebang-regex/package.json create mode 100644 node_modules/shebang-regex/readme.md create mode 100644 node_modules/signal-exit/LICENSE.txt create mode 100644 node_modules/signal-exit/README.md create mode 100644 node_modules/signal-exit/index.js create mode 100644 node_modules/signal-exit/package.json create mode 100644 node_modules/signal-exit/signals.js create mode 100644 node_modules/source-map/CHANGELOG.md create mode 100644 node_modules/source-map/LICENSE create mode 100644 node_modules/source-map/README.md create mode 100644 node_modules/source-map/dist/source-map.debug.js create mode 100644 node_modules/source-map/dist/source-map.js create mode 100644 node_modules/source-map/dist/source-map.min.js create mode 100644 node_modules/source-map/dist/source-map.min.js.map create mode 100644 node_modules/source-map/lib/array-set.js create mode 100644 node_modules/source-map/lib/base64-vlq.js create mode 100644 node_modules/source-map/lib/base64.js create mode 100644 node_modules/source-map/lib/binary-search.js create mode 100644 node_modules/source-map/lib/mapping-list.js create mode 100644 node_modules/source-map/lib/quick-sort.js create mode 100644 node_modules/source-map/lib/source-map-consumer.js create mode 100644 node_modules/source-map/lib/source-map-generator.js create mode 100644 node_modules/source-map/lib/source-node.js create mode 100644 node_modules/source-map/lib/util.js create mode 100644 node_modules/source-map/package.json create mode 100644 node_modules/source-map/source-map.js create mode 100644 node_modules/spawn-wrap/CHANGELOG.md create mode 100644 node_modules/spawn-wrap/LICENSE create mode 100644 node_modules/spawn-wrap/README.md create mode 100644 node_modules/spawn-wrap/index.js create mode 100644 node_modules/spawn-wrap/lib/debug.js create mode 100644 node_modules/spawn-wrap/lib/exe-type.js create mode 100644 node_modules/spawn-wrap/lib/homedir.js create mode 100644 node_modules/spawn-wrap/lib/munge.js create mode 100644 node_modules/spawn-wrap/lib/mungers/cmd.js create mode 100644 node_modules/spawn-wrap/lib/mungers/env.js create mode 100644 node_modules/spawn-wrap/lib/mungers/node.js create mode 100644 node_modules/spawn-wrap/lib/mungers/npm.js create mode 100644 node_modules/spawn-wrap/lib/mungers/sh.js create mode 100644 node_modules/spawn-wrap/lib/mungers/shebang.js create mode 100644 node_modules/spawn-wrap/lib/which-or-undefined.js create mode 100644 node_modules/spawn-wrap/package.json create mode 100644 node_modules/spawn-wrap/shim.js create mode 100644 node_modules/sprintf-js/.npmignore create mode 100644 node_modules/sprintf-js/LICENSE create mode 100644 node_modules/sprintf-js/README.md create mode 100644 node_modules/sprintf-js/bower.json create mode 100644 node_modules/sprintf-js/demo/angular.html create mode 100644 node_modules/sprintf-js/dist/angular-sprintf.min.js create mode 100644 node_modules/sprintf-js/dist/angular-sprintf.min.js.map create mode 100644 node_modules/sprintf-js/dist/angular-sprintf.min.map create mode 100644 node_modules/sprintf-js/dist/sprintf.min.js create mode 100644 node_modules/sprintf-js/dist/sprintf.min.js.map create mode 100644 node_modules/sprintf-js/dist/sprintf.min.map create mode 100644 node_modules/sprintf-js/gruntfile.js create mode 100644 node_modules/sprintf-js/package.json create mode 100644 node_modules/sprintf-js/src/angular-sprintf.js create mode 100644 node_modules/sprintf-js/src/sprintf.js create mode 100644 node_modules/sprintf-js/test/test.js create mode 100644 node_modules/string-width/index.d.ts create mode 100644 node_modules/string-width/index.js create mode 100644 node_modules/string-width/license create mode 100644 node_modules/string-width/package.json create mode 100644 node_modules/string-width/readme.md create mode 100644 node_modules/strip-ansi/index.d.ts create mode 100644 node_modules/strip-ansi/index.js create mode 100644 node_modules/strip-ansi/license create mode 100644 node_modules/strip-ansi/package.json create mode 100644 node_modules/strip-ansi/readme.md create mode 100644 node_modules/strip-bom/index.d.ts create mode 100644 node_modules/strip-bom/index.js create mode 100644 node_modules/strip-bom/license create mode 100644 node_modules/strip-bom/package.json create mode 100644 node_modules/strip-bom/readme.md create mode 100644 node_modules/supports-color/browser.js create mode 100644 node_modules/supports-color/index.js create mode 100644 node_modules/supports-color/license create mode 100644 node_modules/supports-color/package.json create mode 100644 node_modules/supports-color/readme.md create mode 100644 node_modules/test-exclude/CHANGELOG.md create mode 100644 node_modules/test-exclude/LICENSE.txt create mode 100644 node_modules/test-exclude/README.md create mode 100644 node_modules/test-exclude/index.js create mode 100644 node_modules/test-exclude/is-outside-dir-posix.js create mode 100644 node_modules/test-exclude/is-outside-dir-win32.js create mode 100644 node_modules/test-exclude/is-outside-dir.js create mode 100644 node_modules/test-exclude/package.json create mode 100644 node_modules/to-fast-properties/index.js create mode 100644 node_modules/to-fast-properties/license create mode 100644 node_modules/to-fast-properties/package.json create mode 100644 node_modules/to-fast-properties/readme.md create mode 100644 node_modules/tr46/.npmignore create mode 100644 node_modules/tr46/index.js create mode 100644 node_modules/tr46/lib/.gitkeep create mode 100644 node_modules/tr46/lib/mappingTable.json create mode 100644 node_modules/tr46/package.json create mode 100644 node_modules/tunnel/.idea/encodings.xml create mode 100644 node_modules/tunnel/.idea/modules.xml create mode 100644 node_modules/tunnel/.idea/node-tunnel.iml create mode 100644 node_modules/tunnel/.idea/vcs.xml create mode 100644 node_modules/tunnel/.idea/workspace.xml create mode 100644 node_modules/tunnel/.travis.yml create mode 100644 node_modules/tunnel/CHANGELOG.md create mode 100644 node_modules/tunnel/LICENSE create mode 100644 node_modules/tunnel/README.md create mode 100644 node_modules/tunnel/index.js create mode 100644 node_modules/tunnel/lib/tunnel.js create mode 100644 node_modules/tunnel/package.json create mode 100644 node_modules/type-fest/index.d.ts create mode 100644 node_modules/type-fest/license create mode 100644 node_modules/type-fest/package.json create mode 100644 node_modules/type-fest/readme.md create mode 100644 node_modules/type-fest/source/basic.d.ts create mode 100644 node_modules/type-fest/source/except.d.ts create mode 100644 node_modules/type-fest/source/literal-union.d.ts create mode 100644 node_modules/type-fest/source/merge-exclusive.d.ts create mode 100644 node_modules/type-fest/source/merge.d.ts create mode 100644 node_modules/type-fest/source/mutable.d.ts create mode 100644 node_modules/type-fest/source/opaque.d.ts create mode 100644 node_modules/type-fest/source/package-json.d.ts create mode 100644 node_modules/type-fest/source/partial-deep.d.ts create mode 100644 node_modules/type-fest/source/promisable.d.ts create mode 100644 node_modules/type-fest/source/readonly-deep.d.ts create mode 100644 node_modules/type-fest/source/require-at-least-one.d.ts create mode 100644 node_modules/type-fest/source/require-exactly-one.d.ts create mode 100644 node_modules/type-fest/source/set-optional.d.ts create mode 100644 node_modules/type-fest/source/set-required.d.ts create mode 100644 node_modules/typedarray-to-buffer/.airtap.yml create mode 100644 node_modules/typedarray-to-buffer/.travis.yml create mode 100644 node_modules/typedarray-to-buffer/LICENSE create mode 100644 node_modules/typedarray-to-buffer/README.md create mode 100644 node_modules/typedarray-to-buffer/index.js create mode 100644 node_modules/typedarray-to-buffer/package.json create mode 100644 node_modules/typedarray-to-buffer/test/basic.js create mode 100644 node_modules/universal-user-agent/LICENSE.md create mode 100644 node_modules/universal-user-agent/README.md create mode 100644 node_modules/universal-user-agent/dist-node/index.js create mode 100644 node_modules/universal-user-agent/dist-node/index.js.map create mode 100644 node_modules/universal-user-agent/dist-src/index.js create mode 100644 node_modules/universal-user-agent/dist-types/index.d.ts create mode 100644 node_modules/universal-user-agent/dist-web/index.js create mode 100644 node_modules/universal-user-agent/dist-web/index.js.map create mode 100644 node_modules/universal-user-agent/package.json create mode 100644 node_modules/uuid/AUTHORS create mode 100644 node_modules/uuid/CHANGELOG.md create mode 100644 node_modules/uuid/LICENSE.md create mode 100644 node_modules/uuid/README.md create mode 100755 node_modules/uuid/bin/uuid create mode 100644 node_modules/uuid/index.js create mode 100644 node_modules/uuid/lib/bytesToUuid.js create mode 100644 node_modules/uuid/lib/md5-browser.js create mode 100644 node_modules/uuid/lib/md5.js create mode 100644 node_modules/uuid/lib/rng-browser.js create mode 100644 node_modules/uuid/lib/rng.js create mode 100644 node_modules/uuid/lib/sha1-browser.js create mode 100644 node_modules/uuid/lib/sha1.js create mode 100644 node_modules/uuid/lib/v35.js create mode 100644 node_modules/uuid/package.json create mode 100644 node_modules/uuid/v1.js create mode 100644 node_modules/uuid/v3.js create mode 100644 node_modules/uuid/v4.js create mode 100644 node_modules/uuid/v5.js create mode 100644 node_modules/webidl-conversions/LICENSE.md create mode 100644 node_modules/webidl-conversions/README.md create mode 100644 node_modules/webidl-conversions/lib/index.js create mode 100644 node_modules/webidl-conversions/package.json create mode 100644 node_modules/whatwg-url/LICENSE.txt create mode 100644 node_modules/whatwg-url/README.md create mode 100644 node_modules/whatwg-url/lib/URL-impl.js create mode 100644 node_modules/whatwg-url/lib/URL.js create mode 100644 node_modules/whatwg-url/lib/public-api.js create mode 100644 node_modules/whatwg-url/lib/url-state-machine.js create mode 100644 node_modules/whatwg-url/lib/utils.js create mode 100644 node_modules/whatwg-url/package.json create mode 100644 node_modules/which-module/CHANGELOG.md create mode 100644 node_modules/which-module/LICENSE create mode 100644 node_modules/which-module/README.md create mode 100644 node_modules/which-module/index.js create mode 100644 node_modules/which-module/package.json create mode 100644 node_modules/which/CHANGELOG.md create mode 100644 node_modules/which/LICENSE create mode 100644 node_modules/which/README.md create mode 100755 node_modules/which/bin/node-which create mode 100644 node_modules/which/package.json create mode 100644 node_modules/which/which.js create mode 100755 node_modules/wrap-ansi/index.js create mode 100644 node_modules/wrap-ansi/license create mode 100644 node_modules/wrap-ansi/node_modules/ansi-styles/index.d.ts create mode 100644 node_modules/wrap-ansi/node_modules/ansi-styles/index.js create mode 100644 node_modules/wrap-ansi/node_modules/ansi-styles/license create mode 100644 node_modules/wrap-ansi/node_modules/ansi-styles/package.json create mode 100644 node_modules/wrap-ansi/node_modules/ansi-styles/readme.md create mode 100644 node_modules/wrap-ansi/node_modules/color-convert/CHANGELOG.md create mode 100644 node_modules/wrap-ansi/node_modules/color-convert/LICENSE create mode 100644 node_modules/wrap-ansi/node_modules/color-convert/README.md create mode 100644 node_modules/wrap-ansi/node_modules/color-convert/conversions.js create mode 100644 node_modules/wrap-ansi/node_modules/color-convert/index.js create mode 100644 node_modules/wrap-ansi/node_modules/color-convert/package.json create mode 100644 node_modules/wrap-ansi/node_modules/color-convert/route.js create mode 100644 node_modules/wrap-ansi/node_modules/color-name/LICENSE create mode 100644 node_modules/wrap-ansi/node_modules/color-name/README.md create mode 100644 node_modules/wrap-ansi/node_modules/color-name/index.js create mode 100644 node_modules/wrap-ansi/node_modules/color-name/package.json create mode 100644 node_modules/wrap-ansi/package.json create mode 100644 node_modules/wrap-ansi/readme.md create mode 100644 node_modules/wrappy/LICENSE create mode 100644 node_modules/wrappy/README.md create mode 100644 node_modules/wrappy/package.json create mode 100644 node_modules/wrappy/wrappy.js create mode 100644 node_modules/write-file-atomic/CHANGELOG.md create mode 100644 node_modules/write-file-atomic/LICENSE create mode 100644 node_modules/write-file-atomic/README.md create mode 100644 node_modules/write-file-atomic/index.js create mode 100644 node_modules/write-file-atomic/package.json create mode 100644 node_modules/y18n/CHANGELOG.md create mode 100644 node_modules/y18n/LICENSE create mode 100644 node_modules/y18n/README.md create mode 100644 node_modules/y18n/index.js create mode 100644 node_modules/y18n/package.json create mode 100644 node_modules/yargs-parser/CHANGELOG.md create mode 100644 node_modules/yargs-parser/LICENSE.txt create mode 100644 node_modules/yargs-parser/README.md create mode 100644 node_modules/yargs-parser/index.js create mode 100644 node_modules/yargs-parser/lib/tokenize-arg-string.js create mode 100644 node_modules/yargs-parser/package.json create mode 100644 node_modules/yargs/CHANGELOG.md create mode 100644 node_modules/yargs/LICENSE create mode 100644 node_modules/yargs/README.md create mode 100644 node_modules/yargs/build/lib/apply-extends.d.ts create mode 100644 node_modules/yargs/build/lib/apply-extends.js create mode 100644 node_modules/yargs/build/lib/argsert.d.ts create mode 100644 node_modules/yargs/build/lib/argsert.js create mode 100644 node_modules/yargs/build/lib/command.d.ts create mode 100644 node_modules/yargs/build/lib/command.js create mode 100644 node_modules/yargs/build/lib/common-types.d.ts create mode 100644 node_modules/yargs/build/lib/common-types.js create mode 100644 node_modules/yargs/build/lib/completion-templates.d.ts create mode 100644 node_modules/yargs/build/lib/completion-templates.js create mode 100644 node_modules/yargs/build/lib/completion.d.ts create mode 100644 node_modules/yargs/build/lib/completion.js create mode 100644 node_modules/yargs/build/lib/is-promise.d.ts create mode 100644 node_modules/yargs/build/lib/is-promise.js create mode 100644 node_modules/yargs/build/lib/levenshtein.d.ts create mode 100644 node_modules/yargs/build/lib/levenshtein.js create mode 100644 node_modules/yargs/build/lib/middleware.d.ts create mode 100644 node_modules/yargs/build/lib/middleware.js create mode 100644 node_modules/yargs/build/lib/obj-filter.d.ts create mode 100644 node_modules/yargs/build/lib/obj-filter.js create mode 100644 node_modules/yargs/build/lib/parse-command.d.ts create mode 100644 node_modules/yargs/build/lib/parse-command.js create mode 100644 node_modules/yargs/build/lib/process-argv.d.ts create mode 100644 node_modules/yargs/build/lib/process-argv.js create mode 100644 node_modules/yargs/build/lib/usage.d.ts create mode 100644 node_modules/yargs/build/lib/usage.js create mode 100644 node_modules/yargs/build/lib/validation.d.ts create mode 100644 node_modules/yargs/build/lib/validation.js create mode 100644 node_modules/yargs/build/lib/yargs.d.ts create mode 100644 node_modules/yargs/build/lib/yargs.js create mode 100644 node_modules/yargs/build/lib/yerror.d.ts create mode 100644 node_modules/yargs/build/lib/yerror.js create mode 100644 node_modules/yargs/index.js create mode 100644 node_modules/yargs/locales/be.json create mode 100644 node_modules/yargs/locales/de.json create mode 100644 node_modules/yargs/locales/en.json create mode 100644 node_modules/yargs/locales/es.json create mode 100644 node_modules/yargs/locales/fi.json create mode 100644 node_modules/yargs/locales/fr.json create mode 100644 node_modules/yargs/locales/hi.json create mode 100644 node_modules/yargs/locales/hu.json create mode 100644 node_modules/yargs/locales/id.json create mode 100644 node_modules/yargs/locales/it.json create mode 100644 node_modules/yargs/locales/ja.json create mode 100644 node_modules/yargs/locales/ko.json create mode 100644 node_modules/yargs/locales/nb.json create mode 100644 node_modules/yargs/locales/nl.json create mode 100644 node_modules/yargs/locales/nn.json create mode 100644 node_modules/yargs/locales/pirate.json create mode 100644 node_modules/yargs/locales/pl.json create mode 100644 node_modules/yargs/locales/pt.json create mode 100644 node_modules/yargs/locales/pt_BR.json create mode 100644 node_modules/yargs/locales/ru.json create mode 100644 node_modules/yargs/locales/th.json create mode 100644 node_modules/yargs/locales/tr.json create mode 100644 node_modules/yargs/locales/zh_CN.json create mode 100644 node_modules/yargs/locales/zh_TW.json create mode 100644 node_modules/yargs/package.json create mode 100644 node_modules/yargs/yargs.js diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..5af46e73 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 GP ✅ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 00000000..5f0ba38a --- /dev/null +++ b/README.md @@ -0,0 +1,125 @@ +# codeclimate-action + +[![Test Coverage](https://api.codeclimate.com/v1/badges/8f2233d4c51c92ad427c/test_coverage)](https://codeclimate.com/github/paambaati/codeclimate-action/test_coverage) +[![Build Status](https://github.com/paambaati/codeclimate-action/workflows/PR%20Checks/badge.svg)](https://actions-badge.atrox.dev/paambaati/codeclimate-action/goto) +[![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) + +A GitHub action that publishes your code coverage to [Code Climate](http://codeclimate.com/). + +## Usage + +This action requires that you set the [`CC_TEST_REPORTER_ID`](https://docs.codeclimate.com/docs/configuring-test-coverage) environment variable. You can find it under Repo Settings in your Code Climate project. + +### Inputs + +| Input | Default | Description | +| ------------------- | --------------- | ---------------------------------------------------------------------------------- | +| `coverageCommand` | | The actual command that should be executed to run your tests and capture coverage. | +| `workingDirectory` | | Specify a custom working directory where the coverage command should be executed. | +| `debug` | `false` | Enable Code Coverage debug output when set to `true`. | +| `coverageLocations` | | Locations to find code coverage as a multiline string.
Each line should be of the form `:`.
`type` can be any one of `clover, cobertura, coverage.py, excoveralls, gcov, gocov, jacoco, lcov, lcov-json, simplecov, xccov`. See examples below. | +| `prefix` | `undefined` | See [`--prefix`](https://docs.codeclimate.com/docs/configuring-test-coverage) | +| `verifyDownload` | `true` | Verifies the downloaded Code Climate reporter binary's checksum and GPG signature. See [Verifying binaries](https://github.com/codeclimate/test-reporter#verifying-binaries) | + +#### Example + +```yaml +steps: + - name: Test & publish code coverage + uses: paambaati/codeclimate-action@v3.1.1 + env: + CC_TEST_REPORTER_ID: + with: + coverageCommand: npm run coverage + debug: true +``` + +#### Example with only upload + +When you've already generated the coverage report in a previous step and wish to just upload the coverage data to Code Climate, you can leave out the `coverageCommand` option. + +```yaml +steps: + - name: Test & publish code coverage + uses: paambaati/codeclimate-action@v3.1.1 + env: + CC_TEST_REPORTER_ID: +``` + +#### Example with wildcard (glob) pattern + +This action supports basic glob patterns to search for files matching given patterns. It uses [`@actions/glob`](https://github.com/actions/toolkit/tree/master/packages/glob#basic) to expand the glob patterns. + +```yaml +steps: + - name: Test & publish code coverage + uses: paambaati/codeclimate-action@v3.1.1 + env: + CC_TEST_REPORTER_ID: + with: + coverageCommand: yarn run coverage + coverageLocations: | + ${{github.workspace}}/*.lcov:lcov +``` + +#### Example with Jacoco + +```yaml +steps: + - name: Test & publish code coverage + uses: paambaati/codeclimate-action@v3.1.1 + env: + # Set CC_TEST_REPORTER_ID as secret of your repo + CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}} + JACOCO_SOURCE_PATH: "${{github.workspace}}/src/main/java" + with: + # The report file must be there, otherwise Code Climate won't find it + coverageCommand: mvn test + coverageLocations: ${{github.workspace}}/target/site/jacoco/jacoco.xml:jacoco +``` + +#### Example of multiple test coverages for monorepo with Jest + +Let's say you have a monorepo with two folders —`client` and `server`, both with their own coverage folders and a `yarn coverage` script which runs Jest within both folders. + +```json +"scripts": { + "coverage": "yarn client coverage && yarn server coverage" +} +``` + +First be sure that paths in your `coverage/lcov.info` are correct; they should be either absolute or relative to the **root** of the monorepo. Open `lcov.info` and search for any path. For example — + +```lcov +SF:src/server.ts +``` + +If you find a *relative* path like this (happens for Jest 25+), it's incorrect as it is relative to the sub-package. This can be fixed by configuring Jest to set the root of your monorepo — + +```javascript +// server/jest.config.js +module.exports = { + ... + coverageReporters: [['lcov', { projectRoot: '..' }]] + ... +}; +``` + +```yaml +steps: + - name: Test & publish code coverage + uses: paambaati/codeclimate-action@v3.1.1 + env: + CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}} + with: + coverageCommand: yarn run coverage + coverageLocations: | + ${{github.workspace}}/client/coverage/lcov.info:lcov + ${{github.workspace}}/server/coverage/lcov.info:lcov +``` + +Example projects + +1. [paambaati/websight](https://github.com/paambaati/websight/blob/89f03007680531587dd5ff5c673e6d813a298d8c/.github/workflows/ci.yml#L33-L50) + +2. [MartinNuc/coverage-ga-test](https://github.com/MartinNuc/coverage-ga-test/blob/master/.github/workflows/ci.yaml) diff --git a/action.yml b/action.yml new file mode 100644 index 00000000..11701881 --- /dev/null +++ b/action.yml @@ -0,0 +1,34 @@ +name: 'Code Climate Coverage Action' +description: 'Publish code coverage to Code Climate' +author: 'GP ' +branding: + icon: 'code' + color: 'gray-dark' +inputs: + coverageCommand: + required: false + description: 'Coverage command to execute' + default: '' + workingDirectory: + required: false + description: 'Custom working directory for executing the coverage command' + default: '' + debug: + required: false + description: 'Enable debugging logs for the Code Climate test reporter' + default: 'false' + coverageLocations: + required: false + description: 'Locations to find code coverage (Used for builds from multiple locations)' + default: '' + prefix: + required: false + description: 'See https://docs.codeclimate.com/docs/configuring-test-coverage' + default: '' + verifyDownload: + required: false + description: 'Verify the downloaded reporter''s checksum and GPG signature' + default: 'true' +runs: + using: 'node16' + main: 'lib/main.js' diff --git a/lib/main.js b/lib/main.js new file mode 100644 index 00000000..ed6fb48a --- /dev/null +++ b/lib/main.js @@ -0,0 +1,300 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.run = exports.CODECLIMATE_GPG_PUBLIC_KEY_ID = void 0; +const os_1 = require("os"); +const process_1 = require("process"); +const core_1 = require("@actions/core"); +const exec_1 = require("@actions/exec"); +const github_1 = require("@actions/github"); +const glob = __importStar(require("@actions/glob")); +const utils_1 = require("./utils"); +const DOWNLOAD_URL = `https://codeclimate.com/downloads/test-reporter/test-reporter-latest-${(0, os_1.platform)()}-amd64`; +const EXECUTABLE = './cc-reporter'; +exports.CODECLIMATE_GPG_PUBLIC_KEY_ID = '9BD9E2DD46DA965A537E5B0A5CBF320243B6FD85'; +const CODECLIMATE_GPG_PUBLIC_KEY_URL = `https://keys.openpgp.org/vks/v1/by-fingerprint/${exports.CODECLIMATE_GPG_PUBLIC_KEY_ID}`; +const DEFAULT_COVERAGE_COMMAND = ''; +const DEFAULT_WORKING_DIRECTORY = ''; +const DEFAULT_CODECLIMATE_DEBUG = 'false'; +const DEFAULT_COVERAGE_LOCATIONS = ''; +const DEFAULT_VERIFY_DOWNLOAD = 'true'; +function prepareEnv() { + var _a, _b; + const env = process.env; + if (process.env.GITHUB_SHA !== undefined) + env.GIT_COMMIT_SHA = process.env.GITHUB_SHA; + if (process.env.GITHUB_REF !== undefined) + env.GIT_BRANCH = process.env.GITHUB_REF; + if (env.GIT_BRANCH) + env.GIT_BRANCH = env.GIT_BRANCH.replace(/^refs\/heads\//, ''); // Remove 'refs/heads/' prefix (See https://github.com/paambaati/codeclimate-action/issues/42) + if (process.env.GITHUB_EVENT_NAME === 'pull_request') { + env.GIT_BRANCH = process.env.GITHUB_HEAD_REF || env.GIT_BRANCH; // Report correct branch for PRs (See https://github.com/paambaati/codeclimate-action/issues/86) + env.GIT_COMMIT_SHA = (_b = (_a = github_1.context.payload.pull_request) === null || _a === void 0 ? void 0 : _a['head']) === null || _b === void 0 ? void 0 : _b['sha']; // Report correct SHA for the head branch (See https://github.com/paambaati/codeclimate-action/issues/140) + } + return env; +} +function getLocationLines(coverageLocationPatternsParam) { + return __awaiter(this, void 0, void 0, function* () { + const coverageLocationPatternsLines = coverageLocationPatternsParam + .split(/\r?\n/) + .filter((pat) => pat) + .map((pat) => pat.trim()); + const patternsAndFormats = coverageLocationPatternsLines.map((line) => { + const lineParts = line.split(':'); + const format = lineParts.slice(-1)[0]; + const pattern = lineParts.slice(0, -1)[0]; + return { format, pattern }; + }); + const pathsWithFormat = yield Promise.all(patternsAndFormats.map(({ format, pattern }) => __awaiter(this, void 0, void 0, function* () { + const globber = yield glob.create(pattern); + const paths = yield globber.glob(); + const pathsWithFormat = paths.map((singlePath) => `${singlePath}:${format}`); + return pathsWithFormat; + }))); + const coverageLocationLines = [].concat(...pathsWithFormat); + return coverageLocationLines; + }); +} +function run(downloadUrl = DOWNLOAD_URL, executable = EXECUTABLE, coverageCommand = DEFAULT_COVERAGE_COMMAND, workingDirectory = DEFAULT_WORKING_DIRECTORY, codeClimateDebug = DEFAULT_CODECLIMATE_DEBUG, coverageLocationsParam = DEFAULT_COVERAGE_LOCATIONS, coveragePrefix, verifyDownload = DEFAULT_VERIFY_DOWNLOAD) { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + if ((0, os_1.platform)() === 'win32') { + const err = new Error('CC Reporter is not supported on Windows!'); + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 CodeClimate Reporter will not run on Windows!'); + return reject(err); + } + let lastExitCode = 1; + if (workingDirectory) { + (0, core_1.debug)(`Changing working directory to ${workingDirectory}`); + try { + (0, process_1.chdir)(workingDirectory); + lastExitCode = 0; + (0, core_1.debug)('✅ Changing working directory completed...'); + } + catch (err) { + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 Changing working directory failed!'); + return reject(err); + } + } + try { + (0, core_1.debug)(`ℹ️ Downloading CC Reporter from ${downloadUrl} ...`); + yield (0, utils_1.downloadToFile)(downloadUrl, executable); + (0, core_1.debug)('✅ CC Reporter downloaded...'); + } + catch (err) { + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 CC Reporter download failed!'); + (0, core_1.warning)(`Could not download ${downloadUrl}`); + (0, core_1.warning)(`Please check if your platform is supported — see https://docs.codeclimate.com/docs/configuring-test-coverage#section-locations-of-pre-built-binaries`); + return reject(err); + } + if (verifyDownload === 'true') { + const checksumUrl = `${downloadUrl}.sha256`; + const checksumFilePath = `${executable}.sha256`; + const signatureUrl = `${downloadUrl}.sha256.sig`; + const signatureFilePath = `${executable}.sha256.sig`; + const ccPublicKeyFilePath = 'public-key.asc'; + try { + (0, core_1.debug)(`ℹ️ Verifying CC Reporter checksum...`); + yield (0, utils_1.downloadToFile)(checksumUrl, checksumFilePath); + const checksumVerified = yield (0, utils_1.verifyChecksum)(executable, checksumFilePath, 'sha256'); + if (!checksumVerified) + throw new Error('CC Reporter checksum does not match!'); + (0, core_1.debug)('✅ CC Reported checksum verification completed...'); + } + catch (err) { + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 CC Reporter checksum verfication failed!'); + return reject(err); + } + try { + (0, core_1.debug)(`ℹ️ Verifying CC Reporter GPG signature...`); + yield (0, utils_1.downloadToFile)(signatureUrl, signatureFilePath); + yield (0, utils_1.downloadToFile)(CODECLIMATE_GPG_PUBLIC_KEY_URL, ccPublicKeyFilePath); + const signatureVerified = yield (0, utils_1.verifySignature)(checksumFilePath, signatureFilePath, ccPublicKeyFilePath); + if (!signatureVerified) + throw new Error('CC Reporter GPG signature is invalid!'); + (0, core_1.debug)('✅ CC Reported GPG signature verification completed...'); + } + catch (err) { + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 CC Reporter GPG signature verfication failed!'); + return reject(err); + } + } + const execOpts = { + env: prepareEnv(), + }; + try { + lastExitCode = yield (0, exec_1.exec)(executable, ['before-build'], execOpts); + if (lastExitCode !== 0) { + throw new Error(`Coverage after-build exited with code ${lastExitCode}`); + } + (0, core_1.debug)('✅ CC Reporter before-build checkin completed...'); + } + catch (err) { + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 CC Reporter before-build checkin failed!'); + return reject(err); + } + if (coverageCommand) { + try { + lastExitCode = yield (0, exec_1.exec)(coverageCommand, undefined, execOpts); + if (lastExitCode !== 0) { + throw new Error(`Coverage run exited with code ${lastExitCode}`); + } + (0, core_1.debug)('✅ Coverage run completed...'); + } + catch (err) { + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 Coverage run failed!'); + return reject(err); + } + } + else { + (0, core_1.info)(`ℹ️ 'coverageCommand' not set, so skipping building coverage report!`); + } + const coverageLocations = yield getLocationLines(coverageLocationsParam); + if (coverageLocations.length > 0) { + (0, core_1.debug)(`Parsing ${coverageLocations.length} coverage location(s) — ${coverageLocations} (${typeof coverageLocations})`); + // Run format-coverage on each location. + const parts = []; + for (const i in coverageLocations) { + const [location, type] = coverageLocations[i].split(':'); + if (!type) { + const err = new Error(`Invalid formatter type ${type}`); + (0, core_1.debug)(`⚠️ Could not find coverage formatter type! Found ${coverageLocations[i]} (${typeof coverageLocations[i]})`); + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 Coverage formatter type not set! Each coverage location should be of the format :'); + return reject(err); + } + const commands = [ + 'format-coverage', + location, + '-t', + type, + '-o', + `codeclimate.${i}.json`, + ]; + if (codeClimateDebug === 'true') + commands.push('--debug'); + if (coveragePrefix) { + commands.push('--prefix', coveragePrefix); + } + parts.push(`codeclimate.${i}.json`); + try { + lastExitCode = yield (0, exec_1.exec)(executable, commands, execOpts); + if (lastExitCode !== 0) { + throw new Error(`Coverage formatter exited with code ${lastExitCode}`); + } + } + catch (err) { + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 CC Reporter coverage formatting failed!'); + return reject(err); + } + } + // Run sum coverage. + const sumCommands = [ + 'sum-coverage', + ...parts, + '-p', + `${coverageLocations.length}`, + '-o', + `coverage.total.json`, + ]; + if (codeClimateDebug === 'true') + sumCommands.push('--debug'); + try { + lastExitCode = yield (0, exec_1.exec)(executable, sumCommands, execOpts); + if (lastExitCode !== 0) { + throw new Error(`Coverage sum process exited with code ${lastExitCode}`); + } + } + catch (err) { + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 CC Reporter coverage sum failed!'); + return reject(err); + } + // Upload to Code Climate. + const uploadCommands = ['upload-coverage', '-i', `coverage.total.json`]; + if (codeClimateDebug === 'true') + uploadCommands.push('--debug'); + try { + lastExitCode = yield (0, exec_1.exec)(executable, uploadCommands, execOpts); + if (lastExitCode !== 0) { + throw new Error(`Coverage upload exited with code ${lastExitCode}`); + } + (0, core_1.debug)('✅ CC Reporter upload coverage completed!'); + return resolve(); + } + catch (err) { + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 CC Reporter coverage upload failed!'); + return reject(err); + } + } + try { + const commands = ['after-build', '--exit-code', lastExitCode.toString()]; + if (codeClimateDebug === 'true') + commands.push('--debug'); + if (coveragePrefix) { + commands.push('--prefix', coveragePrefix); + } + lastExitCode = yield (0, exec_1.exec)(executable, commands, execOpts); + if (lastExitCode !== 0) { + throw new Error(`Coverage after-build exited with code ${lastExitCode}`); + } + (0, core_1.debug)('✅ CC Reporter after-build checkin completed!'); + return resolve(); + } + catch (err) { + (0, core_1.error)(err.message); + (0, core_1.setFailed)('🚨 CC Reporter after-build checkin failed!'); + return reject(err); + } + })); +} +exports.run = run; +/* istanbul ignore next */ +if (require.main === module) { + const coverageCommand = (0, utils_1.getOptionalString)('coverageCommand', DEFAULT_COVERAGE_COMMAND); + const workingDirectory = (0, utils_1.getOptionalString)('workingDirectory', DEFAULT_WORKING_DIRECTORY); + const codeClimateDebug = (0, utils_1.getOptionalString)('debug', DEFAULT_CODECLIMATE_DEBUG); + const coverageLocations = (0, utils_1.getOptionalString)('coverageLocations', DEFAULT_COVERAGE_LOCATIONS); + const coveragePrefix = (0, utils_1.getOptionalString)('prefix'); + const verifyDownload = (0, utils_1.getOptionalString)('verifyDownload', DEFAULT_VERIFY_DOWNLOAD); + run(DOWNLOAD_URL, EXECUTABLE, coverageCommand, workingDirectory, codeClimateDebug, coverageLocations, coveragePrefix, verifyDownload); +} diff --git a/lib/utils.js b/lib/utils.js new file mode 100644 index 00000000..490dc42a --- /dev/null +++ b/lib/utils.js @@ -0,0 +1,169 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.verifySignature = exports.verifyChecksum = exports.getFileChecksum = exports.getFileContentsAsString = exports.getFileContents = exports.downloadToFile = exports.areObjectsEqual = exports.getOptionalString = void 0; +const crypto_1 = require("crypto"); +const fs_1 = require("fs"); +const util_1 = require("util"); +const core_1 = require("@actions/core"); +const node_fetch_1 = __importDefault(require("node-fetch")); +const openpgp_1 = require("openpgp"); +const readFileAsync = (0, util_1.promisify)(fs_1.readFile); +/** + * Parses GitHub Action input and returns the optional value as a string. + * + * @param name Input name (declared in `action.yml`). + * @param defaultValue Default value as optional fallback. + * @returns Parsed input value. + */ +const getOptionalString = (name, defaultValue = '') => (0, core_1.getInput)(name, { required: false }) || defaultValue; +exports.getOptionalString = getOptionalString; +/** + * Naively checks if 2 given JSON objects are identical. + * + * @param obj1 First JSON. + * @param obj2 Second JSON. + * @returns `true` if same, `false` if not. + */ +const areObjectsEqual = (obj1, obj2) => JSON.stringify(obj1) === JSON.stringify(obj2); +exports.areObjectsEqual = areObjectsEqual; +/** + * Downloads the given URL as a file to the given file location. + * + * @param url URL to download. + * @param file File path to save the download to. + * @param mode (Optional) File mode. + */ +function downloadToFile(url, file, mode = 0o755) { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + try { + const response = yield (0, node_fetch_1.default)(url, { timeout: 2 * 60 * 1000 }); // Timeout in 2 minutes. + const writer = (0, fs_1.createWriteStream)(file, { mode }); + response.body.pipe(writer); + writer.on('close', () => { + return resolve(); + }); + } + catch (err) { + return reject(err); + } + })); +} +exports.downloadToFile = downloadToFile; +/** + * Returns file contents as a `Buffer`. + * + * @param filePath File path to read. + * @param options (Optional) File read options. @see https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fs_filehandle_readfile_options + * @returns File contents as `Buffer`. + */ +function getFileContents(filePath, options) { + return __awaiter(this, void 0, void 0, function* () { + return yield readFileAsync(filePath, options); + }); +} +exports.getFileContents = getFileContents; +/** + * Returns file contents as a string. Useful for reading ASCII-encoded files. + * + * @param filePath File path to read. + * @param options (Optional) File read options. @see https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fs_filehandle_readfile_options + * @returns File contents as string. + */ +function getFileContentsAsString(filePath, options) { + return __awaiter(this, void 0, void 0, function* () { + return (yield getFileContents(filePath, options)).toString('utf8'); + }); +} +exports.getFileContentsAsString = getFileContentsAsString; +/** + * Returns given file's checksum by calculating the hash for the given algorithm. + * + * @param filePath File to generate checksum for. + * @param algorithm Hashing algorithm. @default `sha256` + * @returns Checksum of file as string. + */ +function getFileChecksum(filePath, algorithm = 'sha256') { + return __awaiter(this, void 0, void 0, function* () { + const fileContents = yield getFileContents(filePath); + return (0, crypto_1.createHash)(algorithm).update(fileContents).digest('hex'); + }); +} +exports.getFileChecksum = getFileChecksum; +/** + * Verifies that the file and its checksum file actually match. It generates + * the checksum and compares it with the checksum in the accompanying checksum file. + * + * Note that the checksum file is of the format ` `. + * + * @param originalFile Original file for which the checksum was generated. + * @param checksumFile Checksum file. + * @param algorithm (Optional) Hashing algorithm. @default `sha256` + * @returns Returns `true` if checksums match, `false` if they don't. + */ +function verifyChecksum(originalFile, checksumFile, algorithm = 'sha256') { + return __awaiter(this, void 0, void 0, function* () { + const binaryChecksum = yield getFileChecksum(originalFile, algorithm); + const declaredChecksumFileContents = yield getFileContents(checksumFile); + const declaredChecksum = declaredChecksumFileContents + .toString() + .trim() + .split(' ')[0]; + try { + return (0, crypto_1.timingSafeEqual)(Buffer.from(binaryChecksum), Buffer.from(declaredChecksum)); + } + catch (_a) { + // Fail on other errors that can definitely cause the comparison to fail, including + // mismatched Buffer byte lengths. + return false; + } + }); +} +exports.verifyChecksum = verifyChecksum; +/** + * Verifies the GPG signature of the given file. + * + * @param messageFilePath The message file that was signed. + * @param signatureFilePath GPG signature file. + * @param publicKeyFilePath GPG public key file. + * @returns Returns `true` if signatures match, `false` if they don't. + */ +function verifySignature(messageFilePath, signatureFilePath, publicKeyFilePath) { + return __awaiter(this, void 0, void 0, function* () { + const messageText = yield getFileContentsAsString(messageFilePath); + const signatureBuffer = yield getFileContents(signatureFilePath); + const publicKeyText = yield getFileContentsAsString(publicKeyFilePath); + const publicKey = yield (0, openpgp_1.readKey)({ + armoredKey: publicKeyText, + }); + const signature = yield (0, openpgp_1.readSignature)({ + binarySignature: signatureBuffer, + }); + const message = yield (0, openpgp_1.createMessage)({ text: messageText }); + const verificationResult = yield (0, openpgp_1.verify)({ + message, + signature, + verificationKeys: publicKey, + }); + const { verified } = verificationResult.signatures[0]; + try { + yield verified; + return true; + } + catch (_a) { + return false; + } + }); +} +exports.verifySignature = verifySignature; diff --git a/node_modules/.bin/browserslist b/node_modules/.bin/browserslist new file mode 120000 index 00000000..3cd991b2 --- /dev/null +++ b/node_modules/.bin/browserslist @@ -0,0 +1 @@ +../browserslist/cli.js \ No newline at end of file diff --git a/node_modules/.bin/esparse b/node_modules/.bin/esparse new file mode 120000 index 00000000..7423b18b --- /dev/null +++ b/node_modules/.bin/esparse @@ -0,0 +1 @@ +../esprima/bin/esparse.js \ No newline at end of file diff --git a/node_modules/.bin/esvalidate b/node_modules/.bin/esvalidate new file mode 120000 index 00000000..16069eff --- /dev/null +++ b/node_modules/.bin/esvalidate @@ -0,0 +1 @@ +../esprima/bin/esvalidate.js \ No newline at end of file diff --git a/node_modules/.bin/js-yaml b/node_modules/.bin/js-yaml new file mode 120000 index 00000000..9dbd010d --- /dev/null +++ b/node_modules/.bin/js-yaml @@ -0,0 +1 @@ +../js-yaml/bin/js-yaml.js \ No newline at end of file diff --git a/node_modules/.bin/jsesc b/node_modules/.bin/jsesc new file mode 120000 index 00000000..7237604c --- /dev/null +++ b/node_modules/.bin/jsesc @@ -0,0 +1 @@ +../jsesc/bin/jsesc \ No newline at end of file diff --git a/node_modules/.bin/json5 b/node_modules/.bin/json5 new file mode 120000 index 00000000..217f3798 --- /dev/null +++ b/node_modules/.bin/json5 @@ -0,0 +1 @@ +../json5/lib/cli.js \ No newline at end of file diff --git a/node_modules/.bin/node-which b/node_modules/.bin/node-which new file mode 120000 index 00000000..6f8415ec --- /dev/null +++ b/node_modules/.bin/node-which @@ -0,0 +1 @@ +../which/bin/node-which \ No newline at end of file diff --git a/node_modules/.bin/nyc b/node_modules/.bin/nyc new file mode 120000 index 00000000..8e524439 --- /dev/null +++ b/node_modules/.bin/nyc @@ -0,0 +1 @@ +../nyc/bin/nyc.js \ No newline at end of file diff --git a/node_modules/.bin/parser b/node_modules/.bin/parser new file mode 120000 index 00000000..ce7bf97e --- /dev/null +++ b/node_modules/.bin/parser @@ -0,0 +1 @@ +../@babel/parser/bin/babel-parser.js \ No newline at end of file diff --git a/node_modules/.bin/rimraf b/node_modules/.bin/rimraf new file mode 120000 index 00000000..4cd49a49 --- /dev/null +++ b/node_modules/.bin/rimraf @@ -0,0 +1 @@ +../rimraf/bin.js \ No newline at end of file diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver new file mode 120000 index 00000000..5aaadf42 --- /dev/null +++ b/node_modules/.bin/semver @@ -0,0 +1 @@ +../semver/bin/semver.js \ No newline at end of file diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid new file mode 120000 index 00000000..b3e45bc5 --- /dev/null +++ b/node_modules/.bin/uuid @@ -0,0 +1 @@ +../uuid/bin/uuid \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json new file mode 100644 index 00000000..40b20011 --- /dev/null +++ b/node_modules/.package-lock.json @@ -0,0 +1,1797 @@ +{ + "name": "codeclimate-action", + "version": "3.1.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "node_modules/@actions/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "node_modules/@actions/core/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@actions/exec": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", + "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", + "dependencies": { + "@actions/io": "^1.0.1" + } + }, + "node_modules/@actions/github": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", + "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "@octokit/core": "^3.6.0", + "@octokit/plugin-paginate-rest": "^2.17.0", + "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + } + }, + "node_modules/@actions/glob": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.3.0.tgz", + "integrity": "sha512-tJP1ZhF87fd6LBnaXWlahkyvdgvsLl7WnreW1EZaC8JWjpMXmzqWzQVe/IEYslrkT9ymibVrKyJN4UMD7uQM2w==", + "dependencies": { + "@actions/core": "^1.2.6", + "minimatch": "^3.0.4" + } + }, + "node_modules/@actions/http-client": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", + "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", + "dependencies": { + "tunnel": "^0.0.6" + } + }, + "node_modules/@actions/io": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.1.tgz", + "integrity": "sha512-Qi4JoKXjmE0O67wAOH6y0n26QXhMKMFo7GD/4IXNVcrtLjUlGjGuVys6pQgwF3ArfGTQu0XpqaNr0YhED2RaRA==" + }, + "node_modules/@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", + "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.5", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dependencies": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "dependencies": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", + "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", + "dependencies": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "dependencies": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "dependencies": { + "@octokit/types": "^6.34.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "dependencies": { + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dependencies": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dependencies": { + "default-require-extensions": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", + "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", + "dependencies": { + "caniuse-lite": "^1.0.30001259", + "electron-to-chromium": "^1.3.846", + "escalade": "^3.1.1", + "nanocolors": "^0.1.5", + "node-releases": "^1.1.76" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dependencies": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001260", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz", + "integrity": "sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg==", + "dependencies": { + "nanocolors": "^0.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-require-extensions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "dependencies": { + "strip-bom": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.850", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.850.tgz", + "integrity": "sha512-ZzkDcdzePeF4dhoGZQT77V2CyJOpwfTZEOg4h0x6R/jQhGt/rIRpbRyVreWLtD7B/WsVxo91URm2WxMKR9JQZA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hook-std": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-2.0.0.tgz", + "integrity": "sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==", + "engines": { + "node": ">=8" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz", + "integrity": "sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dependencies": { + "append-transform": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", + "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "dependencies": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.0", + "istanbul-lib-coverage": "^3.0.0-alpha.1", + "make-dir": "^3.0.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^3.3.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanocolors": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", + "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==" + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dependencies": { + "process-on-spawn": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-releases": { + "version": "1.1.76", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", + "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==" + }, + "node_modules/nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "dependencies": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/openpgp": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/openpgp/-/openpgp-5.5.0.tgz", + "integrity": "sha512-SpwcJnxrK9Y0HRM6KxSFqkAEOSWEabCH/c8dII/+y2e5f6KvuDG5ZE7JXaPBaVJNE4VUZZeTphxXDoZD0KOHrw==", + "dependencies": { + "asn1.js": "^5.0.0" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dependencies": { + "fromentries": "^1.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.4.tgz", + "integrity": "sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q==" + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dependencies": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + } + } +} diff --git a/node_modules/@actions/core/LICENSE.md b/node_modules/@actions/core/LICENSE.md new file mode 100644 index 00000000..dbae2edb --- /dev/null +++ b/node_modules/@actions/core/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright 2019 GitHub + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@actions/core/README.md b/node_modules/@actions/core/README.md new file mode 100644 index 00000000..3c20c8ea --- /dev/null +++ b/node_modules/@actions/core/README.md @@ -0,0 +1,335 @@ +# `@actions/core` + +> Core functions for setting results, logging, registering secrets and exporting variables across actions + +## Usage + +### Import the package + +```js +// javascript +const core = require('@actions/core'); + +// typescript +import * as core from '@actions/core'; +``` + +#### Inputs/Outputs + +Action inputs can be read with `getInput` which returns a `string` or `getBooleanInput` which parses a boolean based on the [yaml 1.2 specification](https://yaml.org/spec/1.2/spec.html#id2804923). If `required` set to be false, the input should have a default value in `action.yml`. + +Outputs can be set with `setOutput` which makes them available to be mapped into inputs of other actions to ensure they are decoupled. + +```js +const myInput = core.getInput('inputName', { required: true }); +const myBooleanInput = core.getBooleanInput('booleanInputName', { required: true }); +const myMultilineInput = core.getMultilineInput('multilineInputName', { required: true }); +core.setOutput('outputKey', 'outputVal'); +``` + +#### Exporting variables + +Since each step runs in a separate process, you can use `exportVariable` to add it to this step and future steps environment blocks. + +```js +core.exportVariable('envVar', 'Val'); +``` + +#### Setting a secret + +Setting a secret registers the secret with the runner to ensure it is masked in logs. + +```js +core.setSecret('myPassword'); +``` + +#### PATH Manipulation + +To make a tool's path available in the path for the remainder of the job (without altering the machine or containers state), use `addPath`. The runner will prepend the path given to the jobs PATH. + +```js +core.addPath('/path/to/mytool'); +``` + +#### Exit codes + +You should use this library to set the failing exit code for your action. If status is not set and the script runs to completion, that will lead to a success. + +```js +const core = require('@actions/core'); + +try { + // Do stuff +} +catch (err) { + // setFailed logs the message and sets a failing exit code + core.setFailed(`Action failed with error ${err}`); +} +``` + +Note that `setNeutral` is not yet implemented in actions V2 but equivalent functionality is being planned. + +#### Logging + +Finally, this library provides some utilities for logging. Note that debug logging is hidden from the logs by default. This behavior can be toggled by enabling the [Step Debug Logs](../../docs/action-debugging.md#step-debug-logs). + +```js +const core = require('@actions/core'); + +const myInput = core.getInput('input'); +try { + core.debug('Inside try block'); + + if (!myInput) { + core.warning('myInput was not set'); + } + + if (core.isDebug()) { + // curl -v https://github.com + } else { + // curl https://github.com + } + + // Do stuff + core.info('Output to the actions build log') + + core.notice('This is a message that will also emit an annotation') +} +catch (err) { + core.error(`Error ${err}, action may still succeed though`); +} +``` + +This library can also wrap chunks of output in foldable groups. + +```js +const core = require('@actions/core') + +// Manually wrap output +core.startGroup('Do some function') +doSomeFunction() +core.endGroup() + +// Wrap an asynchronous function call +const result = await core.group('Do something async', async () => { + const response = await doSomeHTTPRequest() + return response +}) +``` + +#### Annotations + +This library has 3 methods that will produce [annotations](https://docs.github.com/en/rest/reference/checks#create-a-check-run). +```js +core.error('This is a bad error. This will also fail the build.') + +core.warning('Something went wrong, but it\'s not bad enough to fail the build.') + +core.notice('Something happened that you might want to know about.') +``` + +These will surface to the UI in the Actions page and on Pull Requests. They look something like this: + +![Annotations Image](../../docs/assets/annotations.png) + +These annotations can also be attached to particular lines and columns of your source files to show exactly where a problem is occuring. + +These options are: +```typescript +export interface AnnotationProperties { + /** + * A title for the annotation. + */ + title?: string + + /** + * The name of the file for which the annotation should be created. + */ + file?: string + + /** + * The start line for the annotation. + */ + startLine?: number + + /** + * The end line for the annotation. Defaults to `startLine` when `startLine` is provided. + */ + endLine?: number + + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + */ + startColumn?: number + + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + * Defaults to `startColumn` when `startColumn` is provided. + */ + endColumn?: number +} +``` + +#### Styling output + +Colored output is supported in the Action logs via standard [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code). 3/4 bit, 8 bit and 24 bit colors are all supported. + +Foreground colors: + +```js +// 3/4 bit +core.info('\u001b[35mThis foreground will be magenta') + +// 8 bit +core.info('\u001b[38;5;6mThis foreground will be cyan') + +// 24 bit +core.info('\u001b[38;2;255;0;0mThis foreground will be bright red') +``` + +Background colors: + +```js +// 3/4 bit +core.info('\u001b[43mThis background will be yellow'); + +// 8 bit +core.info('\u001b[48;5;6mThis background will be cyan') + +// 24 bit +core.info('\u001b[48;2;255;0;0mThis background will be bright red') +``` + +Special styles: + +```js +core.info('\u001b[1mBold text') +core.info('\u001b[3mItalic text') +core.info('\u001b[4mUnderlined text') +``` + +ANSI escape codes can be combined with one another: + +```js +core.info('\u001b[31;46mRed foreground with a cyan background and \u001b[1mbold text at the end'); +``` + +> Note: Escape codes reset at the start of each line + +```js +core.info('\u001b[35mThis foreground will be magenta') +core.info('This foreground will reset to the default') +``` + +Manually typing escape codes can be a little difficult, but you can use third party modules such as [ansi-styles](https://github.com/chalk/ansi-styles). + +```js +const style = require('ansi-styles'); +core.info(style.color.ansi16m.hex('#abcdef') + 'Hello world!') +``` + +#### Action state + +You can use this library to save state and get state for sharing information between a given wrapper action: + +**action.yml**: + +```yaml +name: 'Wrapper action sample' +inputs: + name: + default: 'GitHub' +runs: + using: 'node12' + main: 'main.js' + post: 'cleanup.js' +``` + +In action's `main.js`: + +```js +const core = require('@actions/core'); + +core.saveState("pidToKill", 12345); +``` + +In action's `cleanup.js`: + +```js +const core = require('@actions/core'); + +var pid = core.getState("pidToKill"); + +process.kill(pid); +``` + +#### OIDC Token + +You can use these methods to interact with the GitHub OIDC provider and get a JWT ID token which would help to get access token from third party cloud providers. + +**Method Name**: getIDToken() + +**Inputs** + +audience : optional + +**Outputs** + +A [JWT](https://jwt.io/) ID Token + +In action's `main.ts`: +```js +const core = require('@actions/core'); +async function getIDTokenAction(): Promise { + + const audience = core.getInput('audience', {required: false}) + + const id_token1 = await core.getIDToken() // ID Token with default audience + const id_token2 = await core.getIDToken(audience) // ID token with custom audience + + // this id_token can be used to get access token from third party cloud providers +} +getIDTokenAction() +``` + +In action's `actions.yml`: + +```yaml +name: 'GetIDToken' +description: 'Get ID token from Github OIDC provider' +inputs: + audience: + description: 'Audience for which the ID token is intended for' + required: false +outputs: + id_token1: + description: 'ID token obtained from OIDC provider' + id_token2: + description: 'ID token obtained from OIDC provider' +runs: + using: 'node12' + main: 'dist/index.js' +``` + +#### Filesystem path helpers + +You can use these methods to manipulate file paths across operating systems. + +The `toPosixPath` function converts input paths to Posix-style (Linux) paths. +The `toWin32Path` function converts input paths to Windows-style paths. These +functions work independently of the underlying runner operating system. + +```js +toPosixPath('\\foo\\bar') // => /foo/bar +toWin32Path('/foo/bar') // => \foo\bar +``` + +The `toPlatformPath` function converts input paths to the expected value on the runner's operating system. + +```js +// On a Windows runner. +toPlatformPath('/foo/bar') // => \foo\bar + +// On a Linux runner. +toPlatformPath('\\foo\\bar') // => /foo/bar +``` diff --git a/node_modules/@actions/core/lib/command.d.ts b/node_modules/@actions/core/lib/command.d.ts new file mode 100644 index 00000000..53f8f4b8 --- /dev/null +++ b/node_modules/@actions/core/lib/command.d.ts @@ -0,0 +1,15 @@ +export interface CommandProperties { + [key: string]: any; +} +/** + * Commands + * + * Command Format: + * ::name key=value,key=value::message + * + * Examples: + * ::warning::This is the message + * ::set-env name=MY_VAR::some value + */ +export declare function issueCommand(command: string, properties: CommandProperties, message: any): void; +export declare function issue(name: string, message?: string): void; diff --git a/node_modules/@actions/core/lib/command.js b/node_modules/@actions/core/lib/command.js new file mode 100644 index 00000000..0b28c66b --- /dev/null +++ b/node_modules/@actions/core/lib/command.js @@ -0,0 +1,92 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.issue = exports.issueCommand = void 0; +const os = __importStar(require("os")); +const utils_1 = require("./utils"); +/** + * Commands + * + * Command Format: + * ::name key=value,key=value::message + * + * Examples: + * ::warning::This is the message + * ::set-env name=MY_VAR::some value + */ +function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); +} +exports.issueCommand = issueCommand; +function issue(name, message = '') { + issueCommand(name, {}, message); +} +exports.issue = issue; +const CMD_STRING = '::'; +class Command { + constructor(command, properties, message) { + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + let first = true; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + if (first) { + first = false; + } + else { + cmdStr += ','; + } + cmdStr += `${key}=${escapeProperty(val)}`; + } + } + } + } + cmdStr += `${CMD_STRING}${escapeData(this.message)}`; + return cmdStr; + } +} +function escapeData(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A'); +} +function escapeProperty(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/:/g, '%3A') + .replace(/,/g, '%2C'); +} +//# sourceMappingURL=command.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/command.js.map b/node_modules/@actions/core/lib/command.js.map new file mode 100644 index 00000000..51c7c637 --- /dev/null +++ b/node_modules/@actions/core/lib/command.js.map @@ -0,0 +1 @@ +{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,mCAAsC;AAWtC;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;IAC9C,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/core.d.ts b/node_modules/@actions/core/lib/core.d.ts new file mode 100644 index 00000000..1defb572 --- /dev/null +++ b/node_modules/@actions/core/lib/core.d.ts @@ -0,0 +1,198 @@ +/** + * Interface for getInput options + */ +export interface InputOptions { + /** Optional. Whether the input is required. If required and not present, will throw. Defaults to false */ + required?: boolean; + /** Optional. Whether leading/trailing whitespace will be trimmed for the input. Defaults to true */ + trimWhitespace?: boolean; +} +/** + * The code to exit an action + */ +export declare enum ExitCode { + /** + * A code indicating that the action was successful + */ + Success = 0, + /** + * A code indicating that the action was a failure + */ + Failure = 1 +} +/** + * Optional properties that can be sent with annotatation commands (notice, error, and warning) + * See: https://docs.github.com/en/rest/reference/checks#create-a-check-run for more information about annotations. + */ +export interface AnnotationProperties { + /** + * A title for the annotation. + */ + title?: string; + /** + * The path of the file for which the annotation should be created. + */ + file?: string; + /** + * The start line for the annotation. + */ + startLine?: number; + /** + * The end line for the annotation. Defaults to `startLine` when `startLine` is provided. + */ + endLine?: number; + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + */ + startColumn?: number; + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + * Defaults to `startColumn` when `startColumn` is provided. + */ + endColumn?: number; +} +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify + */ +export declare function exportVariable(name: string, val: any): void; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +export declare function setSecret(secret: string): void; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +export declare function addPath(inputPath: string): void; +/** + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +export declare function getInput(name: string, options?: InputOptions): string; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +export declare function getMultilineInput(name: string, options?: InputOptions): string[]; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +export declare function getBooleanInput(name: string, options?: InputOptions): boolean; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +export declare function setOutput(name: string, value: any): void; +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +export declare function setCommandEcho(enabled: boolean): void; +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +export declare function setFailed(message: string | Error): void; +/** + * Gets whether Actions Step Debug is on or not + */ +export declare function isDebug(): boolean; +/** + * Writes debug message to user log + * @param message debug message + */ +export declare function debug(message: string): void; +/** + * Adds an error issue + * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +export declare function error(message: string | Error, properties?: AnnotationProperties): void; +/** + * Adds a warning issue + * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +export declare function warning(message: string | Error, properties?: AnnotationProperties): void; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +export declare function notice(message: string | Error, properties?: AnnotationProperties): void; +/** + * Writes info to log with console.log. + * @param message info message + */ +export declare function info(message: string): void; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +export declare function startGroup(name: string): void; +/** + * End an output group. + */ +export declare function endGroup(): void; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +export declare function group(name: string, fn: () => Promise): Promise; +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +export declare function saveState(name: string, value: any): void; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +export declare function getState(name: string): string; +export declare function getIDToken(aud?: string): Promise; +/** + * Summary exports + */ +export { summary } from './summary'; +/** + * @deprecated use core.summary + */ +export { markdownSummary } from './summary'; +/** + * Path exports + */ +export { toPosixPath, toWin32Path, toPlatformPath } from './path-utils'; diff --git a/node_modules/@actions/core/lib/core.js b/node_modules/@actions/core/lib/core.js new file mode 100644 index 00000000..48df6ad0 --- /dev/null +++ b/node_modules/@actions/core/lib/core.js @@ -0,0 +1,336 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; +const command_1 = require("./command"); +const file_command_1 = require("./file-command"); +const utils_1 = require("./utils"); +const os = __importStar(require("os")); +const path = __importStar(require("path")); +const oidc_utils_1 = require("./oidc-utils"); +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function exportVariable(name, val) { + const convertedVal = utils_1.toCommandValue(val); + process.env[name] = convertedVal; + const filePath = process.env['GITHUB_ENV'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); + } + command_1.issueCommand('set-env', { name }, convertedVal); +} +exports.exportVariable = exportVariable; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +function setSecret(secret) { + command_1.issueCommand('add-mask', {}, secret); +} +exports.setSecret = setSecret; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + const filePath = process.env['GITHUB_PATH'] || ''; + if (filePath) { + file_command_1.issueFileCommand('PATH', inputPath); + } + else { + command_1.issueCommand('add-path', {}, inputPath); + } + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; +} +exports.addPath = addPath; +/** + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + if (options && options.trimWhitespace === false) { + return val; + } + return val.trim(); +} +exports.getInput = getInput; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +function getMultilineInput(name, options) { + const inputs = getInput(name, options) + .split('\n') + .filter(x => x !== ''); + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map(input => input.trim()); +} +exports.getMultilineInput = getMultilineInput; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +function getBooleanInput(name, options) { + const trueValue = ['true', 'True', 'TRUE']; + const falseValue = ['false', 'False', 'FALSE']; + const val = getInput(name, options); + if (trueValue.includes(val)) + return true; + if (falseValue.includes(val)) + return false; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); +} +exports.getBooleanInput = getBooleanInput; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function setOutput(name, value) { + const filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); + } + process.stdout.write(os.EOL); + command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); +} +exports.setOutput = setOutput; +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +function setCommandEcho(enabled) { + command_1.issue('echo', enabled ? 'on' : 'off'); +} +exports.setCommandEcho = setCommandEcho; +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +exports.setFailed = setFailed; +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Gets whether Actions Step Debug is on or not + */ +function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; +} +exports.isDebug = isDebug; +/** + * Writes debug message to user log + * @param message debug message + */ +function debug(message) { + command_1.issueCommand('debug', {}, message); +} +exports.debug = debug; +/** + * Adds an error issue + * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function error(message, properties = {}) { + command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.error = error; +/** + * Adds a warning issue + * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function warning(message, properties = {}) { + command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.warning = warning; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function notice(message, properties = {}) { + command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.notice = notice; +/** + * Writes info to log with console.log. + * @param message info message + */ +function info(message) { + process.stdout.write(message + os.EOL); +} +exports.info = info; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +function startGroup(name) { + command_1.issue('group', name); +} +exports.startGroup = startGroup; +/** + * End an output group. + */ +function endGroup() { + command_1.issue('endgroup'); +} +exports.endGroup = endGroup; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } + finally { + endGroup(); + } + return result; + }); +} +exports.group = group; +//----------------------------------------------------------------------- +// Wrapper action state +//----------------------------------------------------------------------- +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function saveState(name, value) { + const filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); + } + command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); +} +exports.saveState = saveState; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +function getState(name) { + return process.env[`STATE_${name}`] || ''; +} +exports.getState = getState; +function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); +} +exports.getIDToken = getIDToken; +/** + * Summary exports + */ +var summary_1 = require("./summary"); +Object.defineProperty(exports, "summary", { enumerable: true, get: function () { return summary_1.summary; } }); +/** + * @deprecated use core.summary + */ +var summary_2 = require("./summary"); +Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } }); +/** + * Path exports + */ +var path_utils_1 = require("./path-utils"); +Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } }); +Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } }); +Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }); +//# sourceMappingURL=core.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/core.js.map b/node_modules/@actions/core/lib/core.js.map new file mode 100644 index 00000000..99f7fd85 --- /dev/null +++ b/node_modules/@actions/core/lib/core.js.map @@ -0,0 +1 @@ +{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA6C;AAC7C,iDAAuE;AACvE,mCAA2D;AAE3D,uCAAwB;AACxB,2CAA4B;AAE5B,6CAAuC;AAavC;;GAEG;AACH,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB;;OAEG;IACH,6CAAW,CAAA;IAEX;;OAEG;IACH,6CAAW,CAAA;AACb,CAAC,EAVW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAUnB;AAuCD,yEAAyE;AACzE,YAAY;AACZ,yEAAyE;AAEzE;;;;GAIG;AACH,8DAA8D;AAC9D,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,YAAY,GAAG,sBAAc,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAA;IAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAChD,IAAI,QAAQ,EAAE;QACZ,OAAO,+BAAgB,CAAC,KAAK,EAAE,qCAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;KAClE;IAED,sBAAY,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,EAAE,YAAY,CAAC,CAAA;AAC/C,CAAC;AAVD,wCAUC;AAED;;;GAGG;AACH,SAAgB,SAAS,CAAC,MAAc;IACtC,sBAAY,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC;AAFD,8BAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,SAAiB;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IACjD,IAAI,QAAQ,EAAE;QACZ,+BAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;KACpC;SAAM;QACL,sBAAY,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;KACxC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;AAC7E,CAAC;AARD,0BAQC;AAED;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAC,IAAY,EAAE,OAAsB;IAC3D,MAAM,GAAG,GACP,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAA;KAC5D;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;QAC/C,OAAO,GAAG,CAAA;KACX;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC;AAZD,4BAYC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,IAAY,EACZ,OAAsB;IAEtB,MAAM,MAAM,GAAa,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;SAC7C,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAExB,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;QAC/C,OAAO,MAAM,CAAA;KACd;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;AAC1C,CAAC;AAbD,8CAaC;AAED;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,IAAY,EAAE,OAAsB;IAClE,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1C,MAAM,IAAI,SAAS,CACjB,6DAA6D,IAAI,IAAI;QACnE,4EAA4E,CAC/E,CAAA;AACH,CAAC;AAVD,0CAUC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;IACnD,IAAI,QAAQ,EAAE;QACZ,OAAO,+BAAgB,CAAC,QAAQ,EAAE,qCAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;KACvE;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAC5B,sBAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3D,CAAC;AARD,8BAQC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAgB;IAC7C,eAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC;AAFD,wCAEC;AAED,yEAAyE;AACzE,UAAU;AACV,yEAAyE;AAEzE;;;;GAIG;AACH,SAAgB,SAAS,CAAC,OAAuB;IAC/C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAA;IAEnC,KAAK,CAAC,OAAO,CAAC,CAAA;AAChB,CAAC;AAJD,8BAIC;AAED,yEAAyE;AACzE,mBAAmB;AACnB,yEAAyE;AAEzE;;GAEG;AACH,SAAgB,OAAO;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,CAAA;AAC5C,CAAC;AAFD,0BAEC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,OAAe;IACnC,sBAAY,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC;AAFD,sBAEC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CACnB,OAAuB,EACvB,aAAmC,EAAE;IAErC,sBAAY,CACV,OAAO,EACP,2BAAmB,CAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,sBASC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CACrB,OAAuB,EACvB,aAAmC,EAAE;IAErC,sBAAY,CACV,SAAS,EACT,2BAAmB,CAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,0BASC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CACpB,OAAuB,EACvB,aAAmC,EAAE;IAErC,sBAAY,CACV,QAAQ,EACR,2BAAmB,CAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,wBASC;AAED;;;GAGG;AACH,SAAgB,IAAI,CAAC,OAAe;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,oBAEC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,eAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACtB,CAAC;AAFD,gCAEC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,eAAK,CAAC,UAAU,CAAC,CAAA;AACnB,CAAC;AAFD,4BAEC;AAED;;;;;;;GAOG;AACH,SAAsB,KAAK,CAAI,IAAY,EAAE,EAAoB;;QAC/D,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhB,IAAI,MAAS,CAAA;QAEb,IAAI;YACF,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;SACpB;gBAAS;YACR,QAAQ,EAAE,CAAA;SACX;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CAAA;AAZD,sBAYC;AAED,yEAAyE;AACzE,uBAAuB;AACvB,yEAAyE;AAEzE;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IAClD,IAAI,QAAQ,EAAE;QACZ,OAAO,+BAAgB,CAAC,OAAO,EAAE,qCAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;KACtE;IAED,sBAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3D,CAAC;AAPD,8BAOC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;AAC3C,CAAC;AAFD,4BAEC;AAED,SAAsB,UAAU,CAAC,GAAY;;QAC3C,OAAO,MAAM,uBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAAA;AAFD,gCAEC;AAED;;GAEG;AACH,qCAAiC;AAAzB,kGAAA,OAAO,OAAA;AAEf;;GAEG;AACH,qCAAyC;AAAjC,0GAAA,eAAe,OAAA;AAEvB;;GAEG;AACH,2CAAqE;AAA7D,yGAAA,WAAW,OAAA;AAAE,yGAAA,WAAW,OAAA;AAAE,4GAAA,cAAc,OAAA"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/file-command.d.ts b/node_modules/@actions/core/lib/file-command.d.ts new file mode 100644 index 00000000..2d1f2f42 --- /dev/null +++ b/node_modules/@actions/core/lib/file-command.d.ts @@ -0,0 +1,2 @@ +export declare function issueFileCommand(command: string, message: any): void; +export declare function prepareKeyValueMessage(key: string, value: any): string; diff --git a/node_modules/@actions/core/lib/file-command.js b/node_modules/@actions/core/lib/file-command.js new file mode 100644 index 00000000..2d0d738f --- /dev/null +++ b/node_modules/@actions/core/lib/file-command.js @@ -0,0 +1,58 @@ +"use strict"; +// For internal use, subject to change. +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +const fs = __importStar(require("fs")); +const os = __importStar(require("os")); +const uuid_1 = require("uuid"); +const utils_1 = require("./utils"); +function issueFileCommand(command, message) { + const filePath = process.env[`GITHUB_${command}`]; + if (!filePath) { + throw new Error(`Unable to find environment variable for file command ${command}`); + } + if (!fs.existsSync(filePath)) { + throw new Error(`Missing file at path: ${filePath}`); + } + fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { + encoding: 'utf8' + }); +} +exports.issueFileCommand = issueFileCommand; +function prepareKeyValueMessage(key, value) { + const delimiter = `ghadelimiter_${uuid_1.v4()}`; + const convertedValue = utils_1.toCommandValue(value); + // These should realistically never happen, but just in case someone finds a + // way to exploit uuid generation let's not allow keys or values that contain + // the delimiter. + if (key.includes(delimiter)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + } + if (convertedValue.includes(delimiter)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + } + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; +} +exports.prepareKeyValueMessage = prepareKeyValueMessage; +//# sourceMappingURL=file-command.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/file-command.js.map b/node_modules/@actions/core/lib/file-command.js.map new file mode 100644 index 00000000..b1a9d54d --- /dev/null +++ b/node_modules/@actions/core/lib/file-command.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,+BAAiC;AACjC,mCAAsC;AAEtC,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAY;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,4CAcC;AAED,SAAgB,sBAAsB,CAAC,GAAW,EAAE,KAAU;IAC5D,MAAM,SAAS,GAAG,gBAAgB,SAAM,EAAE,EAAE,CAAA;IAC5C,MAAM,cAAc,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAA;IAE5C,4EAA4E;IAC5E,6EAA6E;IAC7E,iBAAiB;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,4DAA4D,SAAS,GAAG,CACzE,CAAA;KACF;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,6DAA6D,SAAS,GAAG,CAC1E,CAAA;KACF;IAED,OAAO,GAAG,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAA;AAC9E,CAAC;AApBD,wDAoBC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/oidc-utils.d.ts b/node_modules/@actions/core/lib/oidc-utils.d.ts new file mode 100644 index 00000000..657c7f4a --- /dev/null +++ b/node_modules/@actions/core/lib/oidc-utils.d.ts @@ -0,0 +1,7 @@ +export declare class OidcClient { + private static createHttpClient; + private static getRequestToken; + private static getIDTokenUrl; + private static getCall; + static getIDToken(audience?: string): Promise; +} diff --git a/node_modules/@actions/core/lib/oidc-utils.js b/node_modules/@actions/core/lib/oidc-utils.js new file mode 100644 index 00000000..f7012770 --- /dev/null +++ b/node_modules/@actions/core/lib/oidc-utils.js @@ -0,0 +1,77 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OidcClient = void 0; +const http_client_1 = require("@actions/http-client"); +const auth_1 = require("@actions/http-client/lib/auth"); +const core_1 = require("./core"); +class OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); + } + static getRequestToken() { + const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + if (!token) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + } + return token; + } + static getIDTokenUrl() { + const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; + if (!runtimeUrl) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + return runtimeUrl; + } + static getCall(id_token_url) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const httpclient = OidcClient.createHttpClient(); + const res = yield httpclient + .getJson(id_token_url) + .catch(error => { + throw new Error(`Failed to get ID Token. \n + Error Code : ${error.statusCode}\n + Error Message: ${error.result.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + throw new Error('Response json body do not have ID Token field'); + } + return id_token; + }); + } + static getIDToken(audience) { + return __awaiter(this, void 0, void 0, function* () { + try { + // New ID Token is requested from action service + let id_token_url = OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + core_1.debug(`ID token url is ${id_token_url}`); + const id_token = yield OidcClient.getCall(id_token_url); + core_1.setSecret(id_token); + return id_token; + } + catch (error) { + throw new Error(`Error message: ${error.message}`); + } + }); + } +} +exports.OidcClient = OidcClient; +//# sourceMappingURL=oidc-utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/oidc-utils.js.map b/node_modules/@actions/core/lib/oidc-utils.js.map new file mode 100644 index 00000000..284fa1d3 --- /dev/null +++ b/node_modules/@actions/core/lib/oidc-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"oidc-utils.js","sourceRoot":"","sources":["../src/oidc-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,sDAA+C;AAC/C,wDAAqE;AACrE,iCAAuC;AAKvC,MAAa,UAAU;IACb,MAAM,CAAC,gBAAgB,CAC7B,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,EAAE;QAEb,MAAM,cAAc,GAAmB;YACrC,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,QAAQ;SACrB,CAAA;QAED,OAAO,IAAI,wBAAU,CACnB,qBAAqB,EACrB,CAAC,IAAI,8BAAuB,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,EAC3D,cAAc,CACf,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,eAAe;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAC3D,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,MAAM,CAAC,aAAa;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC9D,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;SAC3E;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,MAAM,CAAO,OAAO,CAAC,YAAoB;;;YAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAA;YAEhD,MAAM,GAAG,GAAG,MAAM,UAAU;iBACzB,OAAO,CAAgB,YAAY,CAAC;iBACpC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,MAAM,IAAI,KAAK,CACb;uBACa,KAAK,CAAC,UAAU;yBACd,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CACtC,CAAA;YACH,CAAC,CAAC,CAAA;YAEJ,MAAM,QAAQ,SAAG,GAAG,CAAC,MAAM,0CAAE,KAAK,CAAA;YAClC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;aACjE;YACD,OAAO,QAAQ,CAAA;;KAChB;IAED,MAAM,CAAO,UAAU,CAAC,QAAiB;;YACvC,IAAI;gBACF,gDAAgD;gBAChD,IAAI,YAAY,GAAW,UAAU,CAAC,aAAa,EAAE,CAAA;gBACrD,IAAI,QAAQ,EAAE;oBACZ,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;oBACpD,YAAY,GAAG,GAAG,YAAY,aAAa,eAAe,EAAE,CAAA;iBAC7D;gBAED,YAAK,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAA;gBAExC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;gBACvD,gBAAS,CAAC,QAAQ,CAAC,CAAA;gBACnB,OAAO,QAAQ,CAAA;aAChB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;aACnD;QACH,CAAC;KAAA;CACF;AAzED,gCAyEC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/path-utils.d.ts b/node_modules/@actions/core/lib/path-utils.d.ts new file mode 100644 index 00000000..1fee9f39 --- /dev/null +++ b/node_modules/@actions/core/lib/path-utils.d.ts @@ -0,0 +1,25 @@ +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +export declare function toPosixPath(pth: string): string; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +export declare function toWin32Path(pth: string): string; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +export declare function toPlatformPath(pth: string): string; diff --git a/node_modules/@actions/core/lib/path-utils.js b/node_modules/@actions/core/lib/path-utils.js new file mode 100644 index 00000000..7251c829 --- /dev/null +++ b/node_modules/@actions/core/lib/path-utils.js @@ -0,0 +1,58 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; +const path = __importStar(require("path")); +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +function toPosixPath(pth) { + return pth.replace(/[\\]/g, '/'); +} +exports.toPosixPath = toPosixPath; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +function toWin32Path(pth) { + return pth.replace(/[/]/g, '\\'); +} +exports.toWin32Path = toWin32Path; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); +} +exports.toPlatformPath = toPlatformPath; +//# sourceMappingURL=path-utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/path-utils.js.map b/node_modules/@actions/core/lib/path-utils.js.map new file mode 100644 index 00000000..7ab1cace --- /dev/null +++ b/node_modules/@actions/core/lib/path-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAE5B;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC;AAFD,kCAEC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC;AAFD,kCAEC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,wCAEC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/summary.d.ts b/node_modules/@actions/core/lib/summary.d.ts new file mode 100644 index 00000000..bb792555 --- /dev/null +++ b/node_modules/@actions/core/lib/summary.d.ts @@ -0,0 +1,202 @@ +export declare const SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; +export declare const SUMMARY_DOCS_URL = "https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary"; +export declare type SummaryTableRow = (SummaryTableCell | string)[]; +export interface SummaryTableCell { + /** + * Cell content + */ + data: string; + /** + * Render cell as header + * (optional) default: false + */ + header?: boolean; + /** + * Number of columns the cell extends + * (optional) default: '1' + */ + colspan?: string; + /** + * Number of rows the cell extends + * (optional) default: '1' + */ + rowspan?: string; +} +export interface SummaryImageOptions { + /** + * The width of the image in pixels. Must be an integer without a unit. + * (optional) + */ + width?: string; + /** + * The height of the image in pixels. Must be an integer without a unit. + * (optional) + */ + height?: string; +} +export interface SummaryWriteOptions { + /** + * Replace all existing content in summary file with buffer contents + * (optional) default: false + */ + overwrite?: boolean; +} +declare class Summary { + private _buffer; + private _filePath?; + constructor(); + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + private filePath; + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + private wrap; + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options?: SummaryWriteOptions): Promise; + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear(): Promise; + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify(): string; + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer(): boolean; + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer(): Summary; + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text: string, addEOL?: boolean): Summary; + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL(): Summary; + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code: string, lang?: string): Summary; + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items: string[], ordered?: boolean): Summary; + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows: SummaryTableRow[]): Summary; + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label: string, content: string): Summary; + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src: string, alt: string, options?: SummaryImageOptions): Summary; + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text: string, level?: number | string): Summary; + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator(): Summary; + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak(): Summary; + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text: string, cite?: string): Summary; + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text: string, href: string): Summary; +} +/** + * @deprecated use `core.summary` + */ +export declare const markdownSummary: Summary; +export declare const summary: Summary; +export {}; diff --git a/node_modules/@actions/core/lib/summary.js b/node_modules/@actions/core/lib/summary.js new file mode 100644 index 00000000..04a335b8 --- /dev/null +++ b/node_modules/@actions/core/lib/summary.js @@ -0,0 +1,283 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; +const os_1 = require("os"); +const fs_1 = require("fs"); +const { access, appendFile, writeFile } = fs_1.promises; +exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; +exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; +class Summary { + constructor() { + this._buffer = ''; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; + } + const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; + if (!pathFromEnv) { + throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + } + catch (_a) { + throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + } + this._filePath = pathFromEnv; + return this._filePath; + }); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs) + .map(([key, value]) => ` ${key}="${value}"`) + .join(''); + if (!content) { + return `<${tag}${htmlAttrs}>`; + } + return `<${tag}${htmlAttrs}>${content}`; + } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); + return this.emptyBuffer(); + }); + } + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); + } + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; + } + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; + } + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ''; + return this; + } + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; + } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, (lang && { lang })); + const element = this.wrap('pre', this.wrap('code', code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag = ordered ? 'ol' : 'ul'; + const listItems = items.map(item => this.wrap('li', item)).join(''); + const element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows) { + const tableBody = rows + .map(row => { + const cells = row + .map(cell => { + if (typeof cell === 'string') { + return this.wrap('td', cell); + } + const { header, data, colspan, rowspan } = cell; + const tag = header ? 'th' : 'td'; + const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); + return this.wrap(tag, data, attrs); + }) + .join(''); + return this.wrap('tr', cells); + }) + .join(''); + const element = this.wrap('table', tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap('details', this.wrap('summary', label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); + const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag = `h${level}`; + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) + ? tag + : 'h1'; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap('br', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, (cite && { cite })); + const element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap('a', text, { href }); + return this.addRaw(element).addEOL(); + } +} +const _summary = new Summary(); +/** + * @deprecated use `core.summary` + */ +exports.markdownSummary = _summary; +exports.summary = _summary; +//# sourceMappingURL=summary.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/summary.js.map b/node_modules/@actions/core/lib/summary.js.map new file mode 100644 index 00000000..d598f264 --- /dev/null +++ b/node_modules/@actions/core/lib/summary.js.map @@ -0,0 +1 @@ +{"version":3,"file":"summary.js","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAsB;AACtB,2BAAsC;AACtC,MAAM,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAC,GAAG,aAAQ,CAAA;AAEnC,QAAA,eAAe,GAAG,qBAAqB,CAAA;AACvC,QAAA,gBAAgB,GAC3B,2GAA2G,CAAA;AA+C7G,MAAM,OAAO;IAIX;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACW,QAAQ;;YACpB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,IAAI,CAAC,SAAS,CAAA;aACtB;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAe,CAAC,CAAA;YAChD,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,IAAI,KAAK,CACb,4CAA4C,uBAAe,6DAA6D,CACzH,CAAA;aACF;YAED,IAAI;gBACF,MAAM,MAAM,CAAC,WAAW,EAAE,cAAS,CAAC,IAAI,GAAG,cAAS,CAAC,IAAI,CAAC,CAAA;aAC3D;YAAC,WAAM;gBACN,MAAM,IAAI,KAAK,CACb,mCAAmC,WAAW,0DAA0D,CACzG,CAAA;aACF;YAED,IAAI,CAAC,SAAS,GAAG,WAAW,CAAA;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;KAAA;IAED;;;;;;;;OAQG;IACK,IAAI,CACV,GAAW,EACX,OAAsB,EACtB,QAAuC,EAAE;QAEzC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,KAAK,GAAG,CAAC;aAC3C,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,GAAG,GAAG,SAAS,GAAG,CAAA;SAC9B;QAED,OAAO,IAAI,GAAG,GAAG,SAAS,IAAI,OAAO,KAAK,GAAG,GAAG,CAAA;IAClD,CAAC;IAED;;;;;;OAMG;IACG,KAAK,CAAC,OAA6B;;YACvC,MAAM,SAAS,GAAG,CAAC,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,CAAA;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;YACtC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;YACpD,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAA;YAC3D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;QAC3B,CAAC;KAAA;IAED;;;;OAIG;IACG,KAAK;;YACT,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;QACpD,CAAC;KAAA;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAY,EAAE,MAAM,GAAG,KAAK;QACjC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAA;QACpB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAG,CAAC,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,IAAY,EAAE,IAAa;QACtC,MAAM,KAAK,qBACN,CAAC,IAAI,IAAI,EAAC,IAAI,EAAC,CAAC,CACpB,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,KAAe,EAAE,OAAO,GAAG,KAAK;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,IAAuB;QAC9B,MAAM,SAAS,GAAG,IAAI;aACnB,GAAG,CAAC,GAAG,CAAC,EAAE;YACT,MAAM,KAAK,GAAG,GAAG;iBACd,GAAG,CAAC,IAAI,CAAC,EAAE;gBACV,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;iBAC7B;gBAED,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAC,GAAG,IAAI,CAAA;gBAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;gBAChC,MAAM,KAAK,mCACN,CAAC,OAAO,IAAI,EAAC,OAAO,EAAC,CAAC,GACtB,CAAC,OAAO,IAAI,EAAC,OAAO,EAAC,CAAC,CAC1B,CAAA;gBAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACpC,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAA;YAEX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,KAAa,EAAE,OAAe;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAW,EAAE,GAAW,EAAE,OAA6B;QAC9D,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,OAAO,IAAI,EAAE,CAAA;QACrC,MAAM,KAAK,mCACN,CAAC,KAAK,IAAI,EAAC,KAAK,EAAC,CAAC,GAClB,CAAC,MAAM,IAAI,EAAC,MAAM,EAAC,CAAC,CACxB,CAAA;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,kBAAG,GAAG,EAAE,GAAG,IAAK,KAAK,EAAE,CAAA;QAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,IAAY,EAAE,KAAuB;QAC9C,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;QACvB,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnE,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,CAAA;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAY,EAAE,IAAa;QAClC,MAAM,KAAK,qBACN,CAAC,IAAI,IAAI,EAAC,IAAI,EAAC,CAAC,CACpB,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,IAAY,EAAE,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAC,IAAI,EAAC,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAA;AAE9B;;GAEG;AACU,QAAA,eAAe,GAAG,QAAQ,CAAA;AAC1B,QAAA,OAAO,GAAG,QAAQ,CAAA"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/utils.d.ts b/node_modules/@actions/core/lib/utils.d.ts new file mode 100644 index 00000000..3b9e28d5 --- /dev/null +++ b/node_modules/@actions/core/lib/utils.d.ts @@ -0,0 +1,14 @@ +import { AnnotationProperties } from './core'; +import { CommandProperties } from './command'; +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +export declare function toCommandValue(input: any): string; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +export declare function toCommandProperties(annotationProperties: AnnotationProperties): CommandProperties; diff --git a/node_modules/@actions/core/lib/utils.js b/node_modules/@actions/core/lib/utils.js new file mode 100644 index 00000000..9b5ca44b --- /dev/null +++ b/node_modules/@actions/core/lib/utils.js @@ -0,0 +1,40 @@ +"use strict"; +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toCommandProperties = exports.toCommandValue = void 0; +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +function toCommandValue(input) { + if (input === null || input === undefined) { + return ''; + } + else if (typeof input === 'string' || input instanceof String) { + return input; + } + return JSON.stringify(input); +} +exports.toCommandValue = toCommandValue; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; +} +exports.toCommandProperties = toCommandProperties; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/utils.js.map b/node_modules/@actions/core/lib/utils.js.map new file mode 100644 index 00000000..8211bb7e --- /dev/null +++ b/node_modules/@actions/core/lib/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,uDAAuD;;;AAKvD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;QAC/D,OAAO,KAAe,CAAA;KACvB;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAPD,wCAOC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,oBAA0C;IAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,CAAA;KACV;IAED,OAAO;QACL,KAAK,EAAE,oBAAoB,CAAC,KAAK;QACjC,IAAI,EAAE,oBAAoB,CAAC,IAAI;QAC/B,IAAI,EAAE,oBAAoB,CAAC,SAAS;QACpC,OAAO,EAAE,oBAAoB,CAAC,OAAO;QACrC,GAAG,EAAE,oBAAoB,CAAC,WAAW;QACrC,SAAS,EAAE,oBAAoB,CAAC,SAAS;KAC1C,CAAA;AACH,CAAC;AAfD,kDAeC"} \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/.bin/uuid b/node_modules/@actions/core/node_modules/.bin/uuid new file mode 120000 index 00000000..588f70ec --- /dev/null +++ b/node_modules/@actions/core/node_modules/.bin/uuid @@ -0,0 +1 @@ +../uuid/dist/bin/uuid \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/CHANGELOG.md b/node_modules/@actions/core/node_modules/uuid/CHANGELOG.md new file mode 100644 index 00000000..7519d19d --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/CHANGELOG.md @@ -0,0 +1,229 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +### [8.3.2](https://github.com/uuidjs/uuid/compare/v8.3.1...v8.3.2) (2020-12-08) + +### Bug Fixes + +- lazy load getRandomValues ([#537](https://github.com/uuidjs/uuid/issues/537)) ([16c8f6d](https://github.com/uuidjs/uuid/commit/16c8f6df2f6b09b4d6235602d6a591188320a82e)), closes [#536](https://github.com/uuidjs/uuid/issues/536) + +### [8.3.1](https://github.com/uuidjs/uuid/compare/v8.3.0...v8.3.1) (2020-10-04) + +### Bug Fixes + +- support expo>=39.0.0 ([#515](https://github.com/uuidjs/uuid/issues/515)) ([c65a0f3](https://github.com/uuidjs/uuid/commit/c65a0f3fa73b901959d638d1e3591dfacdbed867)), closes [#375](https://github.com/uuidjs/uuid/issues/375) + +## [8.3.0](https://github.com/uuidjs/uuid/compare/v8.2.0...v8.3.0) (2020-07-27) + +### Features + +- add parse/stringify/validate/version/NIL APIs ([#479](https://github.com/uuidjs/uuid/issues/479)) ([0e6c10b](https://github.com/uuidjs/uuid/commit/0e6c10ba1bf9517796ff23c052fc0468eedfd5f4)), closes [#475](https://github.com/uuidjs/uuid/issues/475) [#478](https://github.com/uuidjs/uuid/issues/478) [#480](https://github.com/uuidjs/uuid/issues/480) [#481](https://github.com/uuidjs/uuid/issues/481) [#180](https://github.com/uuidjs/uuid/issues/180) + +## [8.2.0](https://github.com/uuidjs/uuid/compare/v8.1.0...v8.2.0) (2020-06-23) + +### Features + +- improve performance of v1 string representation ([#453](https://github.com/uuidjs/uuid/issues/453)) ([0ee0b67](https://github.com/uuidjs/uuid/commit/0ee0b67c37846529c66089880414d29f3ae132d5)) +- remove deprecated v4 string parameter ([#454](https://github.com/uuidjs/uuid/issues/454)) ([88ce3ca](https://github.com/uuidjs/uuid/commit/88ce3ca0ba046f60856de62c7ce03f7ba98ba46c)), closes [#437](https://github.com/uuidjs/uuid/issues/437) +- support jspm ([#473](https://github.com/uuidjs/uuid/issues/473)) ([e9f2587](https://github.com/uuidjs/uuid/commit/e9f2587a92575cac31bc1d4ae944e17c09756659)) + +### Bug Fixes + +- prepare package exports for webpack 5 ([#468](https://github.com/uuidjs/uuid/issues/468)) ([8d6e6a5](https://github.com/uuidjs/uuid/commit/8d6e6a5f8965ca9575eb4d92e99a43435f4a58a8)) + +## [8.1.0](https://github.com/uuidjs/uuid/compare/v8.0.0...v8.1.0) (2020-05-20) + +### Features + +- improve v4 performance by reusing random number array ([#435](https://github.com/uuidjs/uuid/issues/435)) ([bf4af0d](https://github.com/uuidjs/uuid/commit/bf4af0d711b4d2ed03d1f74fd12ad0baa87dc79d)) +- optimize V8 performance of bytesToUuid ([#434](https://github.com/uuidjs/uuid/issues/434)) ([e156415](https://github.com/uuidjs/uuid/commit/e156415448ec1af2351fa0b6660cfb22581971f2)) + +### Bug Fixes + +- export package.json required by react-native and bundlers ([#449](https://github.com/uuidjs/uuid/issues/449)) ([be1c8fe](https://github.com/uuidjs/uuid/commit/be1c8fe9a3206c358e0059b52fafd7213aa48a52)), closes [ai/nanoevents#44](https://github.com/ai/nanoevents/issues/44#issuecomment-602010343) [#444](https://github.com/uuidjs/uuid/issues/444) + +## [8.0.0](https://github.com/uuidjs/uuid/compare/v7.0.3...v8.0.0) (2020-04-29) + +### ⚠ BREAKING CHANGES + +- For native ECMAScript Module (ESM) usage in Node.js only named exports are exposed, there is no more default export. + + ```diff + -import uuid from 'uuid'; + -console.log(uuid.v4()); // -> 'cd6c3b08-0adc-4f4b-a6ef-36087a1c9869' + +import { v4 as uuidv4 } from 'uuid'; + +uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d' + ``` + +- Deep requiring specific algorithms of this library like `require('uuid/v4')`, which has been deprecated in `uuid@7`, is no longer supported. + + Instead use the named exports that this module exports. + + For ECMAScript Modules (ESM): + + ```diff + -import uuidv4 from 'uuid/v4'; + +import { v4 as uuidv4 } from 'uuid'; + uuidv4(); + ``` + + For CommonJS: + + ```diff + -const uuidv4 = require('uuid/v4'); + +const { v4: uuidv4 } = require('uuid'); + uuidv4(); + ``` + +### Features + +- native Node.js ES Modules (wrapper approach) ([#423](https://github.com/uuidjs/uuid/issues/423)) ([2d9f590](https://github.com/uuidjs/uuid/commit/2d9f590ad9701d692625c07ed62f0a0f91227991)), closes [#245](https://github.com/uuidjs/uuid/issues/245) [#419](https://github.com/uuidjs/uuid/issues/419) [#342](https://github.com/uuidjs/uuid/issues/342) +- remove deep requires ([#426](https://github.com/uuidjs/uuid/issues/426)) ([daf72b8](https://github.com/uuidjs/uuid/commit/daf72b84ceb20272a81bb5fbddb05dd95922cbba)) + +### Bug Fixes + +- add CommonJS syntax example to README quickstart section ([#417](https://github.com/uuidjs/uuid/issues/417)) ([e0ec840](https://github.com/uuidjs/uuid/commit/e0ec8402c7ad44b7ef0453036c612f5db513fda0)) + +### [7.0.3](https://github.com/uuidjs/uuid/compare/v7.0.2...v7.0.3) (2020-03-31) + +### Bug Fixes + +- make deep require deprecation warning work in browsers ([#409](https://github.com/uuidjs/uuid/issues/409)) ([4b71107](https://github.com/uuidjs/uuid/commit/4b71107d8c0d2ef56861ede6403fc9dc35a1e6bf)), closes [#408](https://github.com/uuidjs/uuid/issues/408) + +### [7.0.2](https://github.com/uuidjs/uuid/compare/v7.0.1...v7.0.2) (2020-03-04) + +### Bug Fixes + +- make access to msCrypto consistent ([#393](https://github.com/uuidjs/uuid/issues/393)) ([8bf2a20](https://github.com/uuidjs/uuid/commit/8bf2a20f3565df743da7215eebdbada9d2df118c)) +- simplify link in deprecation warning ([#391](https://github.com/uuidjs/uuid/issues/391)) ([bb2c8e4](https://github.com/uuidjs/uuid/commit/bb2c8e4e9f4c5f9c1eaaf3ea59710c633cd90cb7)) +- update links to match content in readme ([#386](https://github.com/uuidjs/uuid/issues/386)) ([44f2f86](https://github.com/uuidjs/uuid/commit/44f2f86e9d2bbf14ee5f0f00f72a3db1292666d4)) + +### [7.0.1](https://github.com/uuidjs/uuid/compare/v7.0.0...v7.0.1) (2020-02-25) + +### Bug Fixes + +- clean up esm builds for node and browser ([#383](https://github.com/uuidjs/uuid/issues/383)) ([59e6a49](https://github.com/uuidjs/uuid/commit/59e6a49e7ce7b3e8fb0f3ee52b9daae72af467dc)) +- provide browser versions independent from module system ([#380](https://github.com/uuidjs/uuid/issues/380)) ([4344a22](https://github.com/uuidjs/uuid/commit/4344a22e7aed33be8627eeaaf05360f256a21753)), closes [#378](https://github.com/uuidjs/uuid/issues/378) + +## [7.0.0](https://github.com/uuidjs/uuid/compare/v3.4.0...v7.0.0) (2020-02-24) + +### ⚠ BREAKING CHANGES + +- The default export, which used to be the v4() method but which was already discouraged in v3.x of this library, has been removed. +- Explicitly note that deep imports of the different uuid version functions are deprecated and no longer encouraged and that ECMAScript module named imports should be used instead. Emit a deprecation warning for people who deep-require the different algorithm variants. +- Remove builtin support for insecure random number generators in the browser. Users who want that will have to supply their own random number generator function. +- Remove support for generating v3 and v5 UUIDs in Node.js<4.x +- Convert code base to ECMAScript Modules (ESM) and release CommonJS build for node and ESM build for browser bundlers. + +### Features + +- add UMD build to npm package ([#357](https://github.com/uuidjs/uuid/issues/357)) ([4e75adf](https://github.com/uuidjs/uuid/commit/4e75adf435196f28e3fbbe0185d654b5ded7ca2c)), closes [#345](https://github.com/uuidjs/uuid/issues/345) +- add various es module and CommonJS examples ([b238510](https://github.com/uuidjs/uuid/commit/b238510bf352463521f74bab175a3af9b7a42555)) +- ensure that docs are up-to-date in CI ([ee5e77d](https://github.com/uuidjs/uuid/commit/ee5e77db547474f5a8f23d6c857a6d399209986b)) +- hybrid CommonJS & ECMAScript modules build ([a3f078f](https://github.com/uuidjs/uuid/commit/a3f078faa0baff69ab41aed08e041f8f9c8993d0)) +- remove insecure fallback random number generator ([3a5842b](https://github.com/uuidjs/uuid/commit/3a5842b141a6e5de0ae338f391661e6b84b167c9)), closes [#173](https://github.com/uuidjs/uuid/issues/173) +- remove support for pre Node.js v4 Buffer API ([#356](https://github.com/uuidjs/uuid/issues/356)) ([b59b5c5](https://github.com/uuidjs/uuid/commit/b59b5c5ecad271c5453f1a156f011671f6d35627)) +- rename repository to github:uuidjs/uuid ([#351](https://github.com/uuidjs/uuid/issues/351)) ([c37a518](https://github.com/uuidjs/uuid/commit/c37a518e367ac4b6d0aa62dba1bc6ce9e85020f7)), closes [#338](https://github.com/uuidjs/uuid/issues/338) + +### Bug Fixes + +- add deep-require proxies for local testing and adjust tests ([#365](https://github.com/uuidjs/uuid/issues/365)) ([7fedc79](https://github.com/uuidjs/uuid/commit/7fedc79ac8fda4bfd1c566c7f05ef4ac13b2db48)) +- add note about removal of default export ([#372](https://github.com/uuidjs/uuid/issues/372)) ([12749b7](https://github.com/uuidjs/uuid/commit/12749b700eb49db8a9759fd306d8be05dbfbd58c)), closes [#370](https://github.com/uuidjs/uuid/issues/370) +- deprecated deep requiring of the different algorithm versions ([#361](https://github.com/uuidjs/uuid/issues/361)) ([c0bdf15](https://github.com/uuidjs/uuid/commit/c0bdf15e417639b1aeb0b247b2fb11f7a0a26b23)) + +## [3.4.0](https://github.com/uuidjs/uuid/compare/v3.3.3...v3.4.0) (2020-01-16) + +### Features + +- rename repository to github:uuidjs/uuid ([#351](https://github.com/uuidjs/uuid/issues/351)) ([e2d7314](https://github.com/uuidjs/uuid/commit/e2d7314)), closes [#338](https://github.com/uuidjs/uuid/issues/338) + +## [3.3.3](https://github.com/uuidjs/uuid/compare/v3.3.2...v3.3.3) (2019-08-19) + +### Bug Fixes + +- no longer run ci tests on node v4 +- upgrade dependencies + +## [3.3.2](https://github.com/uuidjs/uuid/compare/v3.3.1...v3.3.2) (2018-06-28) + +### Bug Fixes + +- typo ([305d877](https://github.com/uuidjs/uuid/commit/305d877)) + +## [3.3.1](https://github.com/uuidjs/uuid/compare/v3.3.0...v3.3.1) (2018-06-28) + +### Bug Fixes + +- fix [#284](https://github.com/uuidjs/uuid/issues/284) by setting function name in try-catch ([f2a60f2](https://github.com/uuidjs/uuid/commit/f2a60f2)) + +# [3.3.0](https://github.com/uuidjs/uuid/compare/v3.2.1...v3.3.0) (2018-06-22) + +### Bug Fixes + +- assignment to readonly property to allow running in strict mode ([#270](https://github.com/uuidjs/uuid/issues/270)) ([d062fdc](https://github.com/uuidjs/uuid/commit/d062fdc)) +- fix [#229](https://github.com/uuidjs/uuid/issues/229) ([c9684d4](https://github.com/uuidjs/uuid/commit/c9684d4)) +- Get correct version of IE11 crypto ([#274](https://github.com/uuidjs/uuid/issues/274)) ([153d331](https://github.com/uuidjs/uuid/commit/153d331)) +- mem issue when generating uuid ([#267](https://github.com/uuidjs/uuid/issues/267)) ([c47702c](https://github.com/uuidjs/uuid/commit/c47702c)) + +### Features + +- enforce Conventional Commit style commit messages ([#282](https://github.com/uuidjs/uuid/issues/282)) ([cc9a182](https://github.com/uuidjs/uuid/commit/cc9a182)) + +## [3.2.1](https://github.com/uuidjs/uuid/compare/v3.2.0...v3.2.1) (2018-01-16) + +### Bug Fixes + +- use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b)) + +# [3.2.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.2.0) (2018-01-16) + +### Bug Fixes + +- remove mistakenly added typescript dependency, rollback version (standard-version will auto-increment) ([09fa824](https://github.com/uuidjs/uuid/commit/09fa824)) +- use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b)) + +### Features + +- Add v3 Support ([#217](https://github.com/uuidjs/uuid/issues/217)) ([d94f726](https://github.com/uuidjs/uuid/commit/d94f726)) + +# [3.1.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.0.1) (2017-06-17) + +### Bug Fixes + +- (fix) Add .npmignore file to exclude test/ and other non-essential files from packing. (#183) +- Fix typo (#178) +- Simple typo fix (#165) + +### Features + +- v5 support in CLI (#197) +- V5 support (#188) + +# 3.0.1 (2016-11-28) + +- split uuid versions into separate files + +# 3.0.0 (2016-11-17) + +- remove .parse and .unparse + +# 2.0.0 + +- Removed uuid.BufferClass + +# 1.4.0 + +- Improved module context detection +- Removed public RNG functions + +# 1.3.2 + +- Improve tests and handling of v1() options (Issue #24) +- Expose RNG option to allow for perf testing with different generators + +# 1.3.0 + +- Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)! +- Support for node.js crypto API +- De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code diff --git a/node_modules/@actions/core/node_modules/uuid/CONTRIBUTING.md b/node_modules/@actions/core/node_modules/uuid/CONTRIBUTING.md new file mode 100644 index 00000000..4a4503d0 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/CONTRIBUTING.md @@ -0,0 +1,18 @@ +# Contributing + +Please feel free to file GitHub Issues or propose Pull Requests. We're always happy to discuss improvements to this library! + +## Testing + +```shell +npm test +``` + +## Releasing + +Releases are supposed to be done from master, version bumping is automated through [`standard-version`](https://github.com/conventional-changelog/standard-version): + +```shell +npm run release -- --dry-run # verify output manually +npm run release # follow the instructions from the output of this command +``` diff --git a/node_modules/@actions/core/node_modules/uuid/LICENSE.md b/node_modules/@actions/core/node_modules/uuid/LICENSE.md new file mode 100644 index 00000000..39341683 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright (c) 2010-2020 Robert Kieffer and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@actions/core/node_modules/uuid/README.md b/node_modules/@actions/core/node_modules/uuid/README.md new file mode 100644 index 00000000..ed27e576 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/README.md @@ -0,0 +1,505 @@ + + +# uuid [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser) + +For the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs + +- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs +- **Cross-platform** - Support for ... + - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds) + - Node 8, 10, 12, 14 + - Chrome, Safari, Firefox, Edge, IE 11 browsers + - Webpack and rollup.js module bundlers + - [React Native / Expo](#react-native--expo) +- **Secure** - Cryptographically-strong random values +- **Small** - Zero-dependency, small footprint, plays nice with "tree shaking" packagers +- **CLI** - Includes the [`uuid` command line](#command-line) utility + +**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details. + +## Quickstart + +To create a random UUID... + +**1. Install** + +```shell +npm install uuid +``` + +**2. Create a UUID** (ES6 module syntax) + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d' +``` + +... or using CommonJS syntax: + +```javascript +const { v4: uuidv4 } = require('uuid'); +uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +``` + +For timestamp UUIDs, namespace UUIDs, and other options read on ... + +## API Summary + +| | | | +| --- | --- | --- | +| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` | +| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` | +| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` | +| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | | +| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | | +| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | | +| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | | +| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` | +| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` | + +## API + +### uuid.NIL + +The nil UUID string (all zeros). + +Example: + +```javascript +import { NIL as NIL_UUID } from 'uuid'; + +NIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000' +``` + +### uuid.parse(str) + +Convert UUID string to array of bytes + +| | | +| --------- | ---------------------------------------- | +| `str` | A valid UUID `String` | +| _returns_ | `Uint8Array[16]` | +| _throws_ | `TypeError` if `str` is not a valid UUID | + +Note: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below. + +Example: + +```javascript +import { parse as uuidParse } from 'uuid'; + +// Parse a UUID +const bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); + +// Convert to hex strings to show byte order (for documentation purposes) +[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ + // [ + // '6e', 'c0', 'bd', '7f', + // '11', 'c0', '43', 'da', + // '97', '5e', '2a', '8a', + // 'd9', 'eb', 'ae', '0b' + // ] +``` + +### uuid.stringify(arr[, offset]) + +Convert array of bytes to UUID string + +| | | +| -------------- | ---------------------------------------------------------------------------- | +| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. | +| [`offset` = 0] | `Number` Starting index in the Array | +| _returns_ | `String` | +| _throws_ | `TypeError` if a valid UUID string cannot be generated | + +Note: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below. + +Example: + +```javascript +import { stringify as uuidStringify } from 'uuid'; + +const uuidBytes = [ + 0x6e, + 0xc0, + 0xbd, + 0x7f, + 0x11, + 0xc0, + 0x43, + 0xda, + 0x97, + 0x5e, + 0x2a, + 0x8a, + 0xd9, + 0xeb, + 0xae, + 0x0b, +]; + +uuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b' +``` + +### uuid.v1([options[, buffer[, offset]]]) + +Create an RFC version 1 (timestamp) UUID + +| | | +| --- | --- | +| [`options`] | `Object` with one or more of the following properties: | +| [`options.node` ] | RFC "node" field as an `Array[6]` of byte values (per 4.1.6) | +| [`options.clockseq`] | RFC "clock sequence" as a `Number` between 0 - 0x3fff | +| [`options.msecs`] | RFC "timestamp" field (`Number` of milliseconds, unix epoch) | +| [`options.nsecs`] | RFC "timestamp" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) | +| [`options.random`] | `Array` of 16 random bytes (0-255) | +| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) | +| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | +| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | +| _throws_ | `Error` if more than 10M UUIDs/sec are requested | + +Note: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process. + +Note: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields. + +Example: + +```javascript +import { v1 as uuidv1 } from 'uuid'; + +uuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d' +``` + +Example using `options`: + +```javascript +import { v1 as uuidv1 } from 'uuid'; + +const v1options = { + node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab], + clockseq: 0x1234, + msecs: new Date('2011-11-01').getTime(), + nsecs: 5678, +}; +uuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab' +``` + +### uuid.v3(name, namespace[, buffer[, offset]]) + +Create an RFC version 3 (namespace w/ MD5) UUID + +API is identical to `v5()`, but uses "v3" instead. + +⚠️ Note: Per the RFC, "_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_." + +### uuid.v4([options[, buffer[, offset]]]) + +Create an RFC version 4 (random) UUID + +| | | +| --- | --- | +| [`options`] | `Object` with one or more of the following properties: | +| [`options.random`] | `Array` of 16 random bytes (0-255) | +| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) | +| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | +| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | + +Example: + +```javascript +import { v4 as uuidv4 } from 'uuid'; + +uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +``` + +Example using predefined `random` values: + +```javascript +import { v4 as uuidv4 } from 'uuid'; + +const v4options = { + random: [ + 0x10, + 0x91, + 0x56, + 0xbe, + 0xc4, + 0xfb, + 0xc1, + 0xea, + 0x71, + 0xb4, + 0xef, + 0xe1, + 0x67, + 0x1c, + 0x58, + 0x36, + ], +}; +uuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836' +``` + +### uuid.v5(name, namespace[, buffer[, offset]]) + +Create an RFC version 5 (namespace w/ SHA-1) UUID + +| | | +| --- | --- | +| `name` | `String \| Array` | +| `namespace` | `String \| Array[16]` Namespace UUID | +| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | +| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | + +Note: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`. + +Example with custom namespace: + +```javascript +import { v5 as uuidv5 } from 'uuid'; + +// Define a custom namespace. Readers, create your own using something like +// https://www.uuidgenerator.net/ +const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341'; + +uuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681' +``` + +Example with RFC `URL` namespace: + +```javascript +import { v5 as uuidv5 } from 'uuid'; + +uuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1' +``` + +### uuid.validate(str) + +Test a string to see if it is a valid UUID + +| | | +| --------- | --------------------------------------------------- | +| `str` | `String` to validate | +| _returns_ | `true` if string is a valid UUID, `false` otherwise | + +Example: + +```javascript +import { validate as uuidValidate } from 'uuid'; + +uuidValidate('not a UUID'); // ⇨ false +uuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true +``` + +Using `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds. + +```javascript +import { version as uuidVersion } from 'uuid'; +import { validate as uuidValidate } from 'uuid'; + +function uuidValidateV4(uuid) { + return uuidValidate(uuid) && uuidVersion(uuid) === 4; +} + +const v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210'; +const v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836'; + +uuidValidateV4(v4Uuid); // ⇨ true +uuidValidateV4(v1Uuid); // ⇨ false +``` + +### uuid.version(str) + +Detect RFC version of a UUID + +| | | +| --------- | ---------------------------------------- | +| `str` | A valid UUID `String` | +| _returns_ | `Number` The RFC version of the UUID | +| _throws_ | `TypeError` if `str` is not a valid UUID | + +Example: + +```javascript +import { version as uuidVersion } from 'uuid'; + +uuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1 +uuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4 +``` + +## Command Line + +UUIDs can be generated from the command line using `uuid`. + +```shell +$ uuid +ddeb27fb-d9a0-4624-be4d-4615062daed4 +``` + +The default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details: + +```shell +$ uuid --help + +Usage: + uuid + uuid v1 + uuid v3 + uuid v4 + uuid v5 + uuid --help + +Note: may be "URL" or "DNS" to use the corresponding UUIDs +defined by RFC4122 +``` + +## ECMAScript Modules + +This library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments). + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +``` + +To run the examples you must first create a dist build of this library in the module root: + +```shell +npm run build +``` + +## CDN Builds + +### ECMAScript Modules + +To load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/): + +```html + +``` + +### UMD + +To load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs: + +**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**: + +```html + +``` + +**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**: + +```html + +``` + +**Using [cdnjs](https://cdnjs.com/libraries/uuid)**: + +```html + +``` + +These CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method: + +```html + +``` + +Methods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively. + +## "getRandomValues() not supported" + +This error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill: + +### React Native / Expo + +1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme) +1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point: + +```javascript +import 'react-native-get-random-values'; +import { v4 as uuidv4 } from 'uuid'; +``` + +Note: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`. + +### Web Workers / Service Workers (Edge <= 18) + +[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please). + +## Upgrading From `uuid@7.x` + +### Only Named Exports Supported When Using with Node.js ESM + +`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports. + +Instead of doing: + +```javascript +import uuid from 'uuid'; +uuid.v4(); +``` + +you will now have to use the named exports: + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); +``` + +### Deep Requires No Longer Supported + +Deep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported. + +## Upgrading From `uuid@3.x` + +"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_" + +In order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped. + +### Deep Requires Now Deprecated + +`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds: + +```javascript +const uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED! +uuidv4(); +``` + +As of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do "tree-shaking" to remove dead code. Instead, use the `import` syntax: + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); +``` + +... or for CommonJS: + +```javascript +const { v4: uuidv4 } = require('uuid'); +uuidv4(); +``` + +### Default Export Removed + +`uuid@3.x` was exporting the Version 4 UUID method as a default export: + +```javascript +const uuid = require('uuid'); // <== REMOVED! +``` + +This usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`. + +---- +Markdown generated from [README_js.md](README_js.md) by [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](https://github.com/broofa/runmd) \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/bin/uuid b/node_modules/@actions/core/node_modules/uuid/dist/bin/uuid new file mode 100755 index 00000000..f38d2ee1 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/bin/uuid @@ -0,0 +1,2 @@ +#!/usr/bin/env node +require('../uuid-bin'); diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/index.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/index.js new file mode 100644 index 00000000..1db6f6d2 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/index.js @@ -0,0 +1,9 @@ +export { default as v1 } from './v1.js'; +export { default as v3 } from './v3.js'; +export { default as v4 } from './v4.js'; +export { default as v5 } from './v5.js'; +export { default as NIL } from './nil.js'; +export { default as version } from './version.js'; +export { default as validate } from './validate.js'; +export { default as stringify } from './stringify.js'; +export { default as parse } from './parse.js'; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/md5.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/md5.js new file mode 100644 index 00000000..8b5d46a7 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/md5.js @@ -0,0 +1,215 @@ +/* + * Browser-compatible JavaScript MD5 + * + * Modification of JavaScript MD5 + * https://github.com/blueimp/JavaScript-MD5 + * + * Copyright 2011, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * https://opensource.org/licenses/MIT + * + * Based on + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ +function md5(bytes) { + if (typeof bytes === 'string') { + var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = new Uint8Array(msg.length); + + for (var i = 0; i < msg.length; ++i) { + bytes[i] = msg.charCodeAt(i); + } + } + + return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); +} +/* + * Convert an array of little-endian words to an array of bytes + */ + + +function md5ToHexEncodedArray(input) { + var output = []; + var length32 = input.length * 32; + var hexTab = '0123456789abcdef'; + + for (var i = 0; i < length32; i += 8) { + var x = input[i >> 5] >>> i % 32 & 0xff; + var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); + output.push(hex); + } + + return output; +} +/** + * Calculate output length with padding and bit length + */ + + +function getOutputLength(inputLength8) { + return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; +} +/* + * Calculate the MD5 of an array of little-endian words, and a bit length. + */ + + +function wordsToMd5(x, len) { + /* append padding */ + x[len >> 5] |= 0x80 << len % 32; + x[getOutputLength(len) - 1] = len; + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + + for (var i = 0; i < x.length; i += 16) { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + a = md5ff(a, b, c, d, x[i], 7, -680876936); + d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); + a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5gg(b, c, d, a, x[i], 20, -373897302); + a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); + a = md5hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5hh(d, a, b, c, x[i], 11, -358537222); + c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); + a = md5ii(a, b, c, d, x[i], 6, -198630844); + d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); + a = safeAdd(a, olda); + b = safeAdd(b, oldb); + c = safeAdd(c, oldc); + d = safeAdd(d, oldd); + } + + return [a, b, c, d]; +} +/* + * Convert an array bytes to an array of little-endian words + * Characters >255 have their high-byte silently ignored. + */ + + +function bytesToWords(input) { + if (input.length === 0) { + return []; + } + + var length8 = input.length * 8; + var output = new Uint32Array(getOutputLength(length8)); + + for (var i = 0; i < length8; i += 8) { + output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; + } + + return output; +} +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ + + +function safeAdd(x, y) { + var lsw = (x & 0xffff) + (y & 0xffff); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return msw << 16 | lsw & 0xffff; +} +/* + * Bitwise rotate a 32-bit number to the left. + */ + + +function bitRotateLeft(num, cnt) { + return num << cnt | num >>> 32 - cnt; +} +/* + * These functions implement the four basic operations the algorithm uses. + */ + + +function md5cmn(q, a, b, x, s, t) { + return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); +} + +function md5ff(a, b, c, d, x, s, t) { + return md5cmn(b & c | ~b & d, a, b, x, s, t); +} + +function md5gg(a, b, c, d, x, s, t) { + return md5cmn(b & d | c & ~d, a, b, x, s, t); +} + +function md5hh(a, b, c, d, x, s, t) { + return md5cmn(b ^ c ^ d, a, b, x, s, t); +} + +function md5ii(a, b, c, d, x, s, t) { + return md5cmn(c ^ (b | ~d), a, b, x, s, t); +} + +export default md5; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/nil.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/nil.js new file mode 100644 index 00000000..b36324c2 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/nil.js @@ -0,0 +1 @@ +export default '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/parse.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/parse.js new file mode 100644 index 00000000..7c5b1d5a --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/parse.js @@ -0,0 +1,35 @@ +import validate from './validate.js'; + +function parse(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + var v; + var arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +export default parse; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/regex.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/regex.js new file mode 100644 index 00000000..3da8673a --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/regex.js @@ -0,0 +1 @@ +export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/rng.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/rng.js new file mode 100644 index 00000000..8abbf2ea --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/rng.js @@ -0,0 +1,19 @@ +// Unique ID creation requires a high quality random # generator. In the browser we therefore +// require the crypto API and do not support built-in fallback to lower quality random number +// generators (like Math.random()). +var getRandomValues; +var rnds8 = new Uint8Array(16); +export default function rng() { + // lazy load so that environments that need to polyfill have a chance to do so + if (!getRandomValues) { + // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also, + // find the complete implementation of crypto (msCrypto) on IE11. + getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto); + + if (!getRandomValues) { + throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); + } + } + + return getRandomValues(rnds8); +} \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/sha1.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/sha1.js new file mode 100644 index 00000000..940548ba --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/sha1.js @@ -0,0 +1,96 @@ +// Adapted from Chris Veness' SHA1 code at +// http://www.movable-type.co.uk/scripts/sha1.html +function f(s, x, y, z) { + switch (s) { + case 0: + return x & y ^ ~x & z; + + case 1: + return x ^ y ^ z; + + case 2: + return x & y ^ x & z ^ y & z; + + case 3: + return x ^ y ^ z; + } +} + +function ROTL(x, n) { + return x << n | x >>> 32 - n; +} + +function sha1(bytes) { + var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; + var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; + + if (typeof bytes === 'string') { + var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = []; + + for (var i = 0; i < msg.length; ++i) { + bytes.push(msg.charCodeAt(i)); + } + } else if (!Array.isArray(bytes)) { + // Convert Array-like to Array + bytes = Array.prototype.slice.call(bytes); + } + + bytes.push(0x80); + var l = bytes.length / 4 + 2; + var N = Math.ceil(l / 16); + var M = new Array(N); + + for (var _i = 0; _i < N; ++_i) { + var arr = new Uint32Array(16); + + for (var j = 0; j < 16; ++j) { + arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3]; + } + + M[_i] = arr; + } + + M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); + M[N - 1][14] = Math.floor(M[N - 1][14]); + M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; + + for (var _i2 = 0; _i2 < N; ++_i2) { + var W = new Uint32Array(80); + + for (var t = 0; t < 16; ++t) { + W[t] = M[_i2][t]; + } + + for (var _t = 16; _t < 80; ++_t) { + W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1); + } + + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + + for (var _t2 = 0; _t2 < 80; ++_t2) { + var s = Math.floor(_t2 / 20); + var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0; + e = d; + d = c; + c = ROTL(b, 30) >>> 0; + b = a; + a = T; + } + + H[0] = H[0] + a >>> 0; + H[1] = H[1] + b >>> 0; + H[2] = H[2] + c >>> 0; + H[3] = H[3] + d >>> 0; + H[4] = H[4] + e >>> 0; + } + + return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff]; +} + +export default sha1; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/stringify.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/stringify.js new file mode 100644 index 00000000..31021115 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/stringify.js @@ -0,0 +1,30 @@ +import validate from './validate.js'; +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ + +var byteToHex = []; + +for (var i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr) { + var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +export default stringify; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v1.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v1.js new file mode 100644 index 00000000..1a22591e --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v1.js @@ -0,0 +1,95 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; // **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html + +var _nodeId; + +var _clockseq; // Previous uuid creation time + + +var _lastMSecs = 0; +var _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + var i = buf && offset || 0; + var b = buf || new Array(16); + options = options || {}; + var node = options.node || _nodeId; + var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + var seedBytes = options.random || (options.rng || rng)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (var n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || stringify(b); +} + +export default v1; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v3.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v3.js new file mode 100644 index 00000000..c9ab9a4c --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v3.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import md5 from './md5.js'; +var v3 = v35('v3', 0x30, md5); +export default v3; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v35.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v35.js new file mode 100644 index 00000000..31dd8a1c --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v35.js @@ -0,0 +1,64 @@ +import stringify from './stringify.js'; +import parse from './parse.js'; + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + var bytes = []; + + for (var i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +export var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +export var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +export default function (name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = parse(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + var bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (var i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return stringify(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v4.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v4.js new file mode 100644 index 00000000..404810a4 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v4.js @@ -0,0 +1,24 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; + +function v4(options, buf, offset) { + options = options || {}; + var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (var i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return stringify(rnds); +} + +export default v4; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v5.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v5.js new file mode 100644 index 00000000..c08d96ba --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/v5.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import sha1 from './sha1.js'; +var v5 = v35('v5', 0x50, sha1); +export default v5; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/validate.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/validate.js new file mode 100644 index 00000000..f1cdc7af --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/validate.js @@ -0,0 +1,7 @@ +import REGEX from './regex.js'; + +function validate(uuid) { + return typeof uuid === 'string' && REGEX.test(uuid); +} + +export default validate; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/version.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/version.js new file mode 100644 index 00000000..77530e9c --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-browser/version.js @@ -0,0 +1,11 @@ +import validate from './validate.js'; + +function version(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +export default version; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/index.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/index.js new file mode 100644 index 00000000..1db6f6d2 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/index.js @@ -0,0 +1,9 @@ +export { default as v1 } from './v1.js'; +export { default as v3 } from './v3.js'; +export { default as v4 } from './v4.js'; +export { default as v5 } from './v5.js'; +export { default as NIL } from './nil.js'; +export { default as version } from './version.js'; +export { default as validate } from './validate.js'; +export { default as stringify } from './stringify.js'; +export { default as parse } from './parse.js'; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/md5.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/md5.js new file mode 100644 index 00000000..4d68b040 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/md5.js @@ -0,0 +1,13 @@ +import crypto from 'crypto'; + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return crypto.createHash('md5').update(bytes).digest(); +} + +export default md5; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/nil.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/nil.js new file mode 100644 index 00000000..b36324c2 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/nil.js @@ -0,0 +1 @@ +export default '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/parse.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/parse.js new file mode 100644 index 00000000..6421c5d5 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/parse.js @@ -0,0 +1,35 @@ +import validate from './validate.js'; + +function parse(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +export default parse; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/regex.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/regex.js new file mode 100644 index 00000000..3da8673a --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/regex.js @@ -0,0 +1 @@ +export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/rng.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/rng.js new file mode 100644 index 00000000..80062449 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/rng.js @@ -0,0 +1,12 @@ +import crypto from 'crypto'; +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; +export default function rng() { + if (poolPtr > rnds8Pool.length - 16) { + crypto.randomFillSync(rnds8Pool); + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/sha1.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/sha1.js new file mode 100644 index 00000000..e23850b4 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/sha1.js @@ -0,0 +1,13 @@ +import crypto from 'crypto'; + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return crypto.createHash('sha1').update(bytes).digest(); +} + +export default sha1; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/stringify.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/stringify.js new file mode 100644 index 00000000..f9bca120 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/stringify.js @@ -0,0 +1,29 @@ +import validate from './validate.js'; +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ + +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +export default stringify; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v1.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v1.js new file mode 100644 index 00000000..ebf81acb --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v1.js @@ -0,0 +1,95 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; // **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html + +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || rng)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || stringify(b); +} + +export default v1; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v3.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v3.js new file mode 100644 index 00000000..09063b86 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v3.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import md5 from './md5.js'; +const v3 = v35('v3', 0x30, md5); +export default v3; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v35.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v35.js new file mode 100644 index 00000000..22f6a196 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v35.js @@ -0,0 +1,64 @@ +import stringify from './stringify.js'; +import parse from './parse.js'; + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +export default function (name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = parse(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return stringify(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v4.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v4.js new file mode 100644 index 00000000..efad926f --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v4.js @@ -0,0 +1,24 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; + +function v4(options, buf, offset) { + options = options || {}; + const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return stringify(rnds); +} + +export default v4; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v5.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v5.js new file mode 100644 index 00000000..e87fe317 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/v5.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import sha1 from './sha1.js'; +const v5 = v35('v5', 0x50, sha1); +export default v5; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/validate.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/validate.js new file mode 100644 index 00000000..f1cdc7af --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/validate.js @@ -0,0 +1,7 @@ +import REGEX from './regex.js'; + +function validate(uuid) { + return typeof uuid === 'string' && REGEX.test(uuid); +} + +export default validate; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/esm-node/version.js b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/version.js new file mode 100644 index 00000000..77530e9c --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/esm-node/version.js @@ -0,0 +1,11 @@ +import validate from './validate.js'; + +function version(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +export default version; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/index.js b/node_modules/@actions/core/node_modules/uuid/dist/index.js new file mode 100644 index 00000000..bf13b103 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/index.js @@ -0,0 +1,79 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "v1", { + enumerable: true, + get: function () { + return _v.default; + } +}); +Object.defineProperty(exports, "v3", { + enumerable: true, + get: function () { + return _v2.default; + } +}); +Object.defineProperty(exports, "v4", { + enumerable: true, + get: function () { + return _v3.default; + } +}); +Object.defineProperty(exports, "v5", { + enumerable: true, + get: function () { + return _v4.default; + } +}); +Object.defineProperty(exports, "NIL", { + enumerable: true, + get: function () { + return _nil.default; + } +}); +Object.defineProperty(exports, "version", { + enumerable: true, + get: function () { + return _version.default; + } +}); +Object.defineProperty(exports, "validate", { + enumerable: true, + get: function () { + return _validate.default; + } +}); +Object.defineProperty(exports, "stringify", { + enumerable: true, + get: function () { + return _stringify.default; + } +}); +Object.defineProperty(exports, "parse", { + enumerable: true, + get: function () { + return _parse.default; + } +}); + +var _v = _interopRequireDefault(require("./v1.js")); + +var _v2 = _interopRequireDefault(require("./v3.js")); + +var _v3 = _interopRequireDefault(require("./v4.js")); + +var _v4 = _interopRequireDefault(require("./v5.js")); + +var _nil = _interopRequireDefault(require("./nil.js")); + +var _version = _interopRequireDefault(require("./version.js")); + +var _validate = _interopRequireDefault(require("./validate.js")); + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +var _parse = _interopRequireDefault(require("./parse.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/md5-browser.js b/node_modules/@actions/core/node_modules/uuid/dist/md5-browser.js new file mode 100644 index 00000000..7a4582ac --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/md5-browser.js @@ -0,0 +1,223 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +/* + * Browser-compatible JavaScript MD5 + * + * Modification of JavaScript MD5 + * https://github.com/blueimp/JavaScript-MD5 + * + * Copyright 2011, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * https://opensource.org/licenses/MIT + * + * Based on + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ +function md5(bytes) { + if (typeof bytes === 'string') { + const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = new Uint8Array(msg.length); + + for (let i = 0; i < msg.length; ++i) { + bytes[i] = msg.charCodeAt(i); + } + } + + return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); +} +/* + * Convert an array of little-endian words to an array of bytes + */ + + +function md5ToHexEncodedArray(input) { + const output = []; + const length32 = input.length * 32; + const hexTab = '0123456789abcdef'; + + for (let i = 0; i < length32; i += 8) { + const x = input[i >> 5] >>> i % 32 & 0xff; + const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); + output.push(hex); + } + + return output; +} +/** + * Calculate output length with padding and bit length + */ + + +function getOutputLength(inputLength8) { + return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; +} +/* + * Calculate the MD5 of an array of little-endian words, and a bit length. + */ + + +function wordsToMd5(x, len) { + /* append padding */ + x[len >> 5] |= 0x80 << len % 32; + x[getOutputLength(len) - 1] = len; + let a = 1732584193; + let b = -271733879; + let c = -1732584194; + let d = 271733878; + + for (let i = 0; i < x.length; i += 16) { + const olda = a; + const oldb = b; + const oldc = c; + const oldd = d; + a = md5ff(a, b, c, d, x[i], 7, -680876936); + d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); + a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5gg(b, c, d, a, x[i], 20, -373897302); + a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); + a = md5hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5hh(d, a, b, c, x[i], 11, -358537222); + c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); + a = md5ii(a, b, c, d, x[i], 6, -198630844); + d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); + a = safeAdd(a, olda); + b = safeAdd(b, oldb); + c = safeAdd(c, oldc); + d = safeAdd(d, oldd); + } + + return [a, b, c, d]; +} +/* + * Convert an array bytes to an array of little-endian words + * Characters >255 have their high-byte silently ignored. + */ + + +function bytesToWords(input) { + if (input.length === 0) { + return []; + } + + const length8 = input.length * 8; + const output = new Uint32Array(getOutputLength(length8)); + + for (let i = 0; i < length8; i += 8) { + output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; + } + + return output; +} +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ + + +function safeAdd(x, y) { + const lsw = (x & 0xffff) + (y & 0xffff); + const msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return msw << 16 | lsw & 0xffff; +} +/* + * Bitwise rotate a 32-bit number to the left. + */ + + +function bitRotateLeft(num, cnt) { + return num << cnt | num >>> 32 - cnt; +} +/* + * These functions implement the four basic operations the algorithm uses. + */ + + +function md5cmn(q, a, b, x, s, t) { + return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); +} + +function md5ff(a, b, c, d, x, s, t) { + return md5cmn(b & c | ~b & d, a, b, x, s, t); +} + +function md5gg(a, b, c, d, x, s, t) { + return md5cmn(b & d | c & ~d, a, b, x, s, t); +} + +function md5hh(a, b, c, d, x, s, t) { + return md5cmn(b ^ c ^ d, a, b, x, s, t); +} + +function md5ii(a, b, c, d, x, s, t) { + return md5cmn(c ^ (b | ~d), a, b, x, s, t); +} + +var _default = md5; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/md5.js b/node_modules/@actions/core/node_modules/uuid/dist/md5.js new file mode 100644 index 00000000..824d4816 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/md5.js @@ -0,0 +1,23 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _crypto = _interopRequireDefault(require("crypto")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('md5').update(bytes).digest(); +} + +var _default = md5; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/nil.js b/node_modules/@actions/core/node_modules/uuid/dist/nil.js new file mode 100644 index 00000000..7ade577b --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/nil.js @@ -0,0 +1,8 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = '00000000-0000-0000-0000-000000000000'; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/parse.js b/node_modules/@actions/core/node_modules/uuid/dist/parse.js new file mode 100644 index 00000000..4c69fc39 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/parse.js @@ -0,0 +1,45 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _validate = _interopRequireDefault(require("./validate.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function parse(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +var _default = parse; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/regex.js b/node_modules/@actions/core/node_modules/uuid/dist/regex.js new file mode 100644 index 00000000..1ef91d64 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/regex.js @@ -0,0 +1,8 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/rng-browser.js b/node_modules/@actions/core/node_modules/uuid/dist/rng-browser.js new file mode 100644 index 00000000..91faeae6 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/rng-browser.js @@ -0,0 +1,26 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = rng; +// Unique ID creation requires a high quality random # generator. In the browser we therefore +// require the crypto API and do not support built-in fallback to lower quality random number +// generators (like Math.random()). +let getRandomValues; +const rnds8 = new Uint8Array(16); + +function rng() { + // lazy load so that environments that need to polyfill have a chance to do so + if (!getRandomValues) { + // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also, + // find the complete implementation of crypto (msCrypto) on IE11. + getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto); + + if (!getRandomValues) { + throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); + } + } + + return getRandomValues(rnds8); +} \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/rng.js b/node_modules/@actions/core/node_modules/uuid/dist/rng.js new file mode 100644 index 00000000..3507f937 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/rng.js @@ -0,0 +1,24 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = rng; + +var _crypto = _interopRequireDefault(require("crypto")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; + +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + _crypto.default.randomFillSync(rnds8Pool); + + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/sha1-browser.js b/node_modules/@actions/core/node_modules/uuid/dist/sha1-browser.js new file mode 100644 index 00000000..24cbcedc --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/sha1-browser.js @@ -0,0 +1,104 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +// Adapted from Chris Veness' SHA1 code at +// http://www.movable-type.co.uk/scripts/sha1.html +function f(s, x, y, z) { + switch (s) { + case 0: + return x & y ^ ~x & z; + + case 1: + return x ^ y ^ z; + + case 2: + return x & y ^ x & z ^ y & z; + + case 3: + return x ^ y ^ z; + } +} + +function ROTL(x, n) { + return x << n | x >>> 32 - n; +} + +function sha1(bytes) { + const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; + const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; + + if (typeof bytes === 'string') { + const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = []; + + for (let i = 0; i < msg.length; ++i) { + bytes.push(msg.charCodeAt(i)); + } + } else if (!Array.isArray(bytes)) { + // Convert Array-like to Array + bytes = Array.prototype.slice.call(bytes); + } + + bytes.push(0x80); + const l = bytes.length / 4 + 2; + const N = Math.ceil(l / 16); + const M = new Array(N); + + for (let i = 0; i < N; ++i) { + const arr = new Uint32Array(16); + + for (let j = 0; j < 16; ++j) { + arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3]; + } + + M[i] = arr; + } + + M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); + M[N - 1][14] = Math.floor(M[N - 1][14]); + M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; + + for (let i = 0; i < N; ++i) { + const W = new Uint32Array(80); + + for (let t = 0; t < 16; ++t) { + W[t] = M[i][t]; + } + + for (let t = 16; t < 80; ++t) { + W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1); + } + + let a = H[0]; + let b = H[1]; + let c = H[2]; + let d = H[3]; + let e = H[4]; + + for (let t = 0; t < 80; ++t) { + const s = Math.floor(t / 20); + const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0; + e = d; + d = c; + c = ROTL(b, 30) >>> 0; + b = a; + a = T; + } + + H[0] = H[0] + a >>> 0; + H[1] = H[1] + b >>> 0; + H[2] = H[2] + c >>> 0; + H[3] = H[3] + d >>> 0; + H[4] = H[4] + e >>> 0; + } + + return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff]; +} + +var _default = sha1; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/sha1.js b/node_modules/@actions/core/node_modules/uuid/dist/sha1.js new file mode 100644 index 00000000..03bdd63c --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/sha1.js @@ -0,0 +1,23 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _crypto = _interopRequireDefault(require("crypto")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('sha1').update(bytes).digest(); +} + +var _default = sha1; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/stringify.js b/node_modules/@actions/core/node_modules/uuid/dist/stringify.js new file mode 100644 index 00000000..b8e75194 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/stringify.js @@ -0,0 +1,39 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _validate = _interopRequireDefault(require("./validate.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!(0, _validate.default)(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +var _default = stringify; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/umd/uuid.min.js b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuid.min.js new file mode 100644 index 00000000..639ca2f2 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuid.min.js @@ -0,0 +1 @@ +!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).uuid={})}(this,(function(r){"use strict";var e,n=new Uint8Array(16);function t(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(n)}var o=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function a(r){return"string"==typeof r&&o.test(r)}for(var i,u,f=[],s=0;s<256;++s)f.push((s+256).toString(16).substr(1));function c(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(f[r[e+0]]+f[r[e+1]]+f[r[e+2]]+f[r[e+3]]+"-"+f[r[e+4]]+f[r[e+5]]+"-"+f[r[e+6]]+f[r[e+7]]+"-"+f[r[e+8]]+f[r[e+9]]+"-"+f[r[e+10]]+f[r[e+11]]+f[r[e+12]]+f[r[e+13]]+f[r[e+14]]+f[r[e+15]]).toLowerCase();if(!a(n))throw TypeError("Stringified UUID is invalid");return n}var l=0,d=0;function v(r){if(!a(r))throw TypeError("Invalid UUID");var e,n=new Uint8Array(16);return n[0]=(e=parseInt(r.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=255&e,n[4]=(e=parseInt(r.slice(9,13),16))>>>8,n[5]=255&e,n[6]=(e=parseInt(r.slice(14,18),16))>>>8,n[7]=255&e,n[8]=(e=parseInt(r.slice(19,23),16))>>>8,n[9]=255&e,n[10]=(e=parseInt(r.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=255&e,n}function p(r,e,n){function t(r,t,o,a){if("string"==typeof r&&(r=function(r){r=unescape(encodeURIComponent(r));for(var e=[],n=0;n>>9<<4)+1}function y(r,e){var n=(65535&r)+(65535&e);return(r>>16)+(e>>16)+(n>>16)<<16|65535&n}function g(r,e,n,t,o,a){return y((i=y(y(e,r),y(t,a)))<<(u=o)|i>>>32-u,n);var i,u}function m(r,e,n,t,o,a,i){return g(e&n|~e&t,r,e,o,a,i)}function w(r,e,n,t,o,a,i){return g(e&t|n&~t,r,e,o,a,i)}function b(r,e,n,t,o,a,i){return g(e^n^t,r,e,o,a,i)}function A(r,e,n,t,o,a,i){return g(n^(e|~t),r,e,o,a,i)}var U=p("v3",48,(function(r){if("string"==typeof r){var e=unescape(encodeURIComponent(r));r=new Uint8Array(e.length);for(var n=0;n>5]>>>o%32&255,i=parseInt(t.charAt(a>>>4&15)+t.charAt(15&a),16);e.push(i)}return e}(function(r,e){r[e>>5]|=128<>5]|=(255&r[t/8])<>>32-e}var R=p("v5",80,(function(r){var e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof r){var t=unescape(encodeURIComponent(r));r=[];for(var o=0;o>>0;w=m,m=g,g=C(y,30)>>>0,y=h,h=U}n[0]=n[0]+h>>>0,n[1]=n[1]+y>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+m>>>0,n[4]=n[4]+w>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}));r.NIL="00000000-0000-0000-0000-000000000000",r.parse=v,r.stringify=c,r.v1=function(r,e,n){var o=e&&n||0,a=e||new Array(16),f=(r=r||{}).node||i,s=void 0!==r.clockseq?r.clockseq:u;if(null==f||null==s){var v=r.random||(r.rng||t)();null==f&&(f=i=[1|v[0],v[1],v[2],v[3],v[4],v[5]]),null==s&&(s=u=16383&(v[6]<<8|v[7]))}var p=void 0!==r.msecs?r.msecs:Date.now(),h=void 0!==r.nsecs?r.nsecs:d+1,y=p-l+(h-d)/1e4;if(y<0&&void 0===r.clockseq&&(s=s+1&16383),(y<0||p>l)&&void 0===r.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");l=p,d=h,u=s;var g=(1e4*(268435455&(p+=122192928e5))+h)%4294967296;a[o++]=g>>>24&255,a[o++]=g>>>16&255,a[o++]=g>>>8&255,a[o++]=255&g;var m=p/4294967296*1e4&268435455;a[o++]=m>>>8&255,a[o++]=255&m,a[o++]=m>>>24&15|16,a[o++]=m>>>16&255,a[o++]=s>>>8|128,a[o++]=255&s;for(var w=0;w<6;++w)a[o+w]=f[w];return e||c(a)},r.v3=U,r.v4=function(r,e,n){var o=(r=r||{}).random||(r.rng||t)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e){n=n||0;for(var a=0;a<16;++a)e[n+a]=o[a];return e}return c(o)},r.v5=R,r.validate=a,r.version=function(r){if(!a(r))throw TypeError("Invalid UUID");return parseInt(r.substr(14,1),16)},Object.defineProperty(r,"__esModule",{value:!0})})); \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidNIL.min.js b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidNIL.min.js new file mode 100644 index 00000000..30b28a7e --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidNIL.min.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidNIL=n()}(this,(function(){"use strict";return"00000000-0000-0000-0000-000000000000"})); \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidParse.min.js b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidParse.min.js new file mode 100644 index 00000000..d48ea6af --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidParse.min.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidParse=n()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(n){if(!function(n){return"string"==typeof n&&e.test(n)}(n))throw TypeError("Invalid UUID");var t,i=new Uint8Array(16);return i[0]=(t=parseInt(n.slice(0,8),16))>>>24,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i[4]=(t=parseInt(n.slice(9,13),16))>>>8,i[5]=255&t,i[6]=(t=parseInt(n.slice(14,18),16))>>>8,i[7]=255&t,i[8]=(t=parseInt(n.slice(19,23),16))>>>8,i[9]=255&t,i[10]=(t=parseInt(n.slice(24,36),16))/1099511627776&255,i[11]=t/4294967296&255,i[12]=t>>>24&255,i[13]=t>>>16&255,i[14]=t>>>8&255,i[15]=255&t,i}})); \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidStringify.min.js b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidStringify.min.js new file mode 100644 index 00000000..fd39adc3 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidStringify.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidStringify=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function t(t){return"string"==typeof t&&e.test(t)}for(var i=[],n=0;n<256;++n)i.push((n+256).toString(16).substr(1));return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,f=(i[e[n+0]]+i[e[n+1]]+i[e[n+2]]+i[e[n+3]]+"-"+i[e[n+4]]+i[e[n+5]]+"-"+i[e[n+6]]+i[e[n+7]]+"-"+i[e[n+8]]+i[e[n+9]]+"-"+i[e[n+10]]+i[e[n+11]]+i[e[n+12]]+i[e[n+13]]+i[e[n+14]]+i[e[n+15]]).toLowerCase();if(!t(f))throw TypeError("Stringified UUID is invalid");return f}})); \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidValidate.min.js b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidValidate.min.js new file mode 100644 index 00000000..378e5b90 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidValidate.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidValidate=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(t){return"string"==typeof t&&e.test(t)}})); \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidVersion.min.js b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidVersion.min.js new file mode 100644 index 00000000..274bb090 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidVersion.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidVersion=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(t){if(!function(t){return"string"==typeof t&&e.test(t)}(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)}})); \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv1.min.js b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv1.min.js new file mode 100644 index 00000000..2622889a --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv1.min.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidv1=o()}(this,(function(){"use strict";var e,o=new Uint8Array(16);function t(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(o)}var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function r(e){return"string"==typeof e&&n.test(e)}for(var i,u,s=[],a=0;a<256;++a)s.push((a+256).toString(16).substr(1));var d=0,f=0;return function(e,o,n){var a=o&&n||0,c=o||new Array(16),l=(e=e||{}).node||i,p=void 0!==e.clockseq?e.clockseq:u;if(null==l||null==p){var v=e.random||(e.rng||t)();null==l&&(l=i=[1|v[0],v[1],v[2],v[3],v[4],v[5]]),null==p&&(p=u=16383&(v[6]<<8|v[7]))}var y=void 0!==e.msecs?e.msecs:Date.now(),m=void 0!==e.nsecs?e.nsecs:f+1,g=y-d+(m-f)/1e4;if(g<0&&void 0===e.clockseq&&(p=p+1&16383),(g<0||y>d)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");d=y,f=m,u=p;var h=(1e4*(268435455&(y+=122192928e5))+m)%4294967296;c[a++]=h>>>24&255,c[a++]=h>>>16&255,c[a++]=h>>>8&255,c[a++]=255&h;var w=y/4294967296*1e4&268435455;c[a++]=w>>>8&255,c[a++]=255&w,c[a++]=w>>>24&15|16,c[a++]=w>>>16&255,c[a++]=p>>>8|128,c[a++]=255&p;for(var b=0;b<6;++b)c[a+b]=l[b];return o||function(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(s[e[o+0]]+s[e[o+1]]+s[e[o+2]]+s[e[o+3]]+"-"+s[e[o+4]]+s[e[o+5]]+"-"+s[e[o+6]]+s[e[o+7]]+"-"+s[e[o+8]]+s[e[o+9]]+"-"+s[e[o+10]]+s[e[o+11]]+s[e[o+12]]+s[e[o+13]]+s[e[o+14]]+s[e[o+15]]).toLowerCase();if(!r(t))throw TypeError("Stringified UUID is invalid");return t}(c)}})); \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv3.min.js b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv3.min.js new file mode 100644 index 00000000..8d37b62d --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv3.min.js @@ -0,0 +1 @@ +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(n="undefined"!=typeof globalThis?globalThis:n||self).uuidv3=r()}(this,(function(){"use strict";var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function r(r){return"string"==typeof r&&n.test(r)}for(var e=[],t=0;t<256;++t)e.push((t+256).toString(16).substr(1));function i(n){return 14+(n+64>>>9<<4)+1}function o(n,r){var e=(65535&n)+(65535&r);return(n>>16)+(r>>16)+(e>>16)<<16|65535&e}function a(n,r,e,t,i,a){return o((f=o(o(r,n),o(t,a)))<<(u=i)|f>>>32-u,e);var f,u}function f(n,r,e,t,i,o,f){return a(r&e|~r&t,n,r,i,o,f)}function u(n,r,e,t,i,o,f){return a(r&t|e&~t,n,r,i,o,f)}function c(n,r,e,t,i,o,f){return a(r^e^t,n,r,i,o,f)}function s(n,r,e,t,i,o,f){return a(e^(r|~t),n,r,i,o,f)}return function(n,t,i){function o(n,o,a,f){if("string"==typeof n&&(n=function(n){n=unescape(encodeURIComponent(n));for(var r=[],e=0;e>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[4]=(e=parseInt(n.slice(9,13),16))>>>8,t[5]=255&e,t[6]=(e=parseInt(n.slice(14,18),16))>>>8,t[7]=255&e,t[8]=(e=parseInt(n.slice(19,23),16))>>>8,t[9]=255&e,t[10]=(e=parseInt(n.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=255&e,t}(o)),16!==o.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var u=new Uint8Array(16+n.length);if(u.set(o),u.set(n,o.length),(u=i(u))[6]=15&u[6]|t,u[8]=63&u[8]|128,a){f=f||0;for(var c=0;c<16;++c)a[f+c]=u[c];return a}return function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(e[n[t+0]]+e[n[t+1]]+e[n[t+2]]+e[n[t+3]]+"-"+e[n[t+4]]+e[n[t+5]]+"-"+e[n[t+6]]+e[n[t+7]]+"-"+e[n[t+8]]+e[n[t+9]]+"-"+e[n[t+10]]+e[n[t+11]]+e[n[t+12]]+e[n[t+13]]+e[n[t+14]]+e[n[t+15]]).toLowerCase();if(!r(i))throw TypeError("Stringified UUID is invalid");return i}(u)}try{o.name=n}catch(n){}return o.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",o.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",o}("v3",48,(function(n){if("string"==typeof n){var r=unescape(encodeURIComponent(n));n=new Uint8Array(r.length);for(var e=0;e>5]>>>i%32&255,a=parseInt(t.charAt(o>>>4&15)+t.charAt(15&o),16);r.push(a)}return r}(function(n,r){n[r>>5]|=128<>5]|=(255&n[t/8])<1&&void 0!==arguments[1]?arguments[1]:0,o=(i[t[e+0]]+i[t[e+1]]+i[t[e+2]]+i[t[e+3]]+"-"+i[t[e+4]]+i[t[e+5]]+"-"+i[t[e+6]]+i[t[e+7]]+"-"+i[t[e+8]]+i[t[e+9]]+"-"+i[t[e+10]]+i[t[e+11]]+i[t[e+12]]+i[t[e+13]]+i[t[e+14]]+i[t[e+15]]).toLowerCase();if(!r(o))throw TypeError("Stringified UUID is invalid");return o}(u)}})); \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv5.min.js b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv5.min.js new file mode 100644 index 00000000..ba6fc63d --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/umd/uuidv5.min.js @@ -0,0 +1 @@ +!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(r="undefined"!=typeof globalThis?globalThis:r||self).uuidv5=e()}(this,(function(){"use strict";var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function e(e){return"string"==typeof e&&r.test(e)}for(var t=[],n=0;n<256;++n)t.push((n+256).toString(16).substr(1));function a(r,e,t,n){switch(r){case 0:return e&t^~e&n;case 1:return e^t^n;case 2:return e&t^e&n^t&n;case 3:return e^t^n}}function o(r,e){return r<>>32-e}return function(r,n,a){function o(r,o,i,f){if("string"==typeof r&&(r=function(r){r=unescape(encodeURIComponent(r));for(var e=[],t=0;t>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(r.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(r.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(r.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(r.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}(o)),16!==o.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var s=new Uint8Array(16+r.length);if(s.set(o),s.set(r,o.length),(s=a(s))[6]=15&s[6]|n,s[8]=63&s[8]|128,i){f=f||0;for(var u=0;u<16;++u)i[f+u]=s[u];return i}return function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=(t[r[n+0]]+t[r[n+1]]+t[r[n+2]]+t[r[n+3]]+"-"+t[r[n+4]]+t[r[n+5]]+"-"+t[r[n+6]]+t[r[n+7]]+"-"+t[r[n+8]]+t[r[n+9]]+"-"+t[r[n+10]]+t[r[n+11]]+t[r[n+12]]+t[r[n+13]]+t[r[n+14]]+t[r[n+15]]).toLowerCase();if(!e(a))throw TypeError("Stringified UUID is invalid");return a}(s)}try{o.name=r}catch(r){}return o.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",o.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",o}("v5",80,(function(r){var e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof r){var n=unescape(encodeURIComponent(r));r=[];for(var i=0;i>>0;A=U,U=w,w=o(b,30)>>>0,b=g,g=C}t[0]=t[0]+g>>>0,t[1]=t[1]+b>>>0,t[2]=t[2]+w>>>0,t[3]=t[3]+U>>>0,t[4]=t[4]+A>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,255&t[0],t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,255&t[1],t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,255&t[2],t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,255&t[3],t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,255&t[4]]}))})); \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/uuid-bin.js b/node_modules/@actions/core/node_modules/uuid/dist/uuid-bin.js new file mode 100644 index 00000000..50a7a9f1 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/uuid-bin.js @@ -0,0 +1,85 @@ +"use strict"; + +var _assert = _interopRequireDefault(require("assert")); + +var _v = _interopRequireDefault(require("./v1.js")); + +var _v2 = _interopRequireDefault(require("./v3.js")); + +var _v3 = _interopRequireDefault(require("./v4.js")); + +var _v4 = _interopRequireDefault(require("./v5.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function usage() { + console.log('Usage:'); + console.log(' uuid'); + console.log(' uuid v1'); + console.log(' uuid v3 '); + console.log(' uuid v4'); + console.log(' uuid v5 '); + console.log(' uuid --help'); + console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122'); +} + +const args = process.argv.slice(2); + +if (args.indexOf('--help') >= 0) { + usage(); + process.exit(0); +} + +const version = args.shift() || 'v4'; + +switch (version) { + case 'v1': + console.log((0, _v.default)()); + break; + + case 'v3': + { + const name = args.shift(); + let namespace = args.shift(); + (0, _assert.default)(name != null, 'v3 name not specified'); + (0, _assert.default)(namespace != null, 'v3 namespace not specified'); + + if (namespace === 'URL') { + namespace = _v2.default.URL; + } + + if (namespace === 'DNS') { + namespace = _v2.default.DNS; + } + + console.log((0, _v2.default)(name, namespace)); + break; + } + + case 'v4': + console.log((0, _v3.default)()); + break; + + case 'v5': + { + const name = args.shift(); + let namespace = args.shift(); + (0, _assert.default)(name != null, 'v5 name not specified'); + (0, _assert.default)(namespace != null, 'v5 namespace not specified'); + + if (namespace === 'URL') { + namespace = _v4.default.URL; + } + + if (namespace === 'DNS') { + namespace = _v4.default.DNS; + } + + console.log((0, _v4.default)(name, namespace)); + break; + } + + default: + usage(); + process.exit(1); +} \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/v1.js b/node_modules/@actions/core/node_modules/uuid/dist/v1.js new file mode 100644 index 00000000..abb9b3d1 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/v1.js @@ -0,0 +1,107 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _rng = _interopRequireDefault(require("./rng.js")); + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || _rng.default)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || (0, _stringify.default)(b); +} + +var _default = v1; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/v3.js b/node_modules/@actions/core/node_modules/uuid/dist/v3.js new file mode 100644 index 00000000..6b47ff51 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/v3.js @@ -0,0 +1,16 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _v = _interopRequireDefault(require("./v35.js")); + +var _md = _interopRequireDefault(require("./md5.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const v3 = (0, _v.default)('v3', 0x30, _md.default); +var _default = v3; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/v35.js b/node_modules/@actions/core/node_modules/uuid/dist/v35.js new file mode 100644 index 00000000..f784c633 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/v35.js @@ -0,0 +1,78 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +exports.URL = exports.DNS = void 0; + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +var _parse = _interopRequireDefault(require("./parse.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +exports.DNS = DNS; +const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +exports.URL = URL; + +function _default(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = (0, _parse.default)(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return (0, _stringify.default)(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/v4.js b/node_modules/@actions/core/node_modules/uuid/dist/v4.js new file mode 100644 index 00000000..838ce0b2 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/v4.js @@ -0,0 +1,37 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _rng = _interopRequireDefault(require("./rng.js")); + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function v4(options, buf, offset) { + options = options || {}; + + const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return (0, _stringify.default)(rnds); +} + +var _default = v4; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/v5.js b/node_modules/@actions/core/node_modules/uuid/dist/v5.js new file mode 100644 index 00000000..99d615e0 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/v5.js @@ -0,0 +1,16 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _v = _interopRequireDefault(require("./v35.js")); + +var _sha = _interopRequireDefault(require("./sha1.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const v5 = (0, _v.default)('v5', 0x50, _sha.default); +var _default = v5; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/validate.js b/node_modules/@actions/core/node_modules/uuid/dist/validate.js new file mode 100644 index 00000000..fd052157 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/validate.js @@ -0,0 +1,17 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _regex = _interopRequireDefault(require("./regex.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function validate(uuid) { + return typeof uuid === 'string' && _regex.default.test(uuid); +} + +var _default = validate; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/dist/version.js b/node_modules/@actions/core/node_modules/uuid/dist/version.js new file mode 100644 index 00000000..b72949cd --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/dist/version.js @@ -0,0 +1,21 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _validate = _interopRequireDefault(require("./validate.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function version(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +var _default = version; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@actions/core/node_modules/uuid/package.json b/node_modules/@actions/core/node_modules/uuid/package.json new file mode 100644 index 00000000..f0ab3711 --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/package.json @@ -0,0 +1,135 @@ +{ + "name": "uuid", + "version": "8.3.2", + "description": "RFC4122 (v1, v4, and v5) UUIDs", + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "keywords": [ + "uuid", + "guid", + "rfc4122" + ], + "license": "MIT", + "bin": { + "uuid": "./dist/bin/uuid" + }, + "sideEffects": false, + "main": "./dist/index.js", + "exports": { + ".": { + "node": { + "module": "./dist/esm-node/index.js", + "require": "./dist/index.js", + "import": "./wrapper.mjs" + }, + "default": "./dist/esm-browser/index.js" + }, + "./package.json": "./package.json" + }, + "module": "./dist/esm-node/index.js", + "browser": { + "./dist/md5.js": "./dist/md5-browser.js", + "./dist/rng.js": "./dist/rng-browser.js", + "./dist/sha1.js": "./dist/sha1-browser.js", + "./dist/esm-node/index.js": "./dist/esm-browser/index.js" + }, + "files": [ + "CHANGELOG.md", + "CONTRIBUTING.md", + "LICENSE.md", + "README.md", + "dist", + "wrapper.mjs" + ], + "devDependencies": { + "@babel/cli": "7.11.6", + "@babel/core": "7.11.6", + "@babel/preset-env": "7.11.5", + "@commitlint/cli": "11.0.0", + "@commitlint/config-conventional": "11.0.0", + "@rollup/plugin-node-resolve": "9.0.0", + "babel-eslint": "10.1.0", + "bundlewatch": "0.3.1", + "eslint": "7.10.0", + "eslint-config-prettier": "6.12.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.22.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-prettier": "3.1.4", + "eslint-plugin-promise": "4.2.1", + "eslint-plugin-standard": "4.0.1", + "husky": "4.3.0", + "jest": "25.5.4", + "lint-staged": "10.4.0", + "npm-run-all": "4.1.5", + "optional-dev-dependency": "2.0.1", + "prettier": "2.1.2", + "random-seed": "0.3.0", + "rollup": "2.28.2", + "rollup-plugin-terser": "7.0.2", + "runmd": "1.3.2", + "standard-version": "9.0.0" + }, + "optionalDevDependencies": { + "@wdio/browserstack-service": "6.4.0", + "@wdio/cli": "6.4.0", + "@wdio/jasmine-framework": "6.4.0", + "@wdio/local-runner": "6.4.0", + "@wdio/spec-reporter": "6.4.0", + "@wdio/static-server-service": "6.4.0", + "@wdio/sync": "6.4.0" + }, + "scripts": { + "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build", + "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build", + "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test", + "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test", + "lint": "npm run eslint:check && npm run prettier:check", + "eslint:check": "eslint src/ test/ examples/ *.js", + "eslint:fix": "eslint --fix src/ test/ examples/ *.js", + "pretest": "[ -n $CI ] || npm run build", + "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/", + "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**", + "test:browser": "wdio run ./wdio.conf.js", + "pretest:node": "npm run build", + "test:node": "npm-run-all --parallel examples:node:**", + "test:pack": "./scripts/testpack.sh", + "pretest:benchmark": "npm run build", + "test:benchmark": "cd examples/benchmark && npm install && npm test", + "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'", + "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'", + "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json", + "md": "runmd --watch --output=README.md README_js.md", + "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )", + "docs:diff": "npm run docs && git diff --quiet README.md", + "build": "./scripts/build.sh", + "prepack": "npm run build", + "release": "standard-version --no-verify" + }, + "repository": { + "type": "git", + "url": "https://github.com/uuidjs/uuid.git" + }, + "husky": { + "hooks": { + "commit-msg": "commitlint -E HUSKY_GIT_PARAMS", + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.{js,jsx,json,md}": [ + "prettier --write" + ], + "*.{js,jsx}": [ + "eslint --fix" + ] + }, + "standard-version": { + "scripts": { + "postchangelog": "prettier --write CHANGELOG.md" + } + } +} diff --git a/node_modules/@actions/core/node_modules/uuid/wrapper.mjs b/node_modules/@actions/core/node_modules/uuid/wrapper.mjs new file mode 100644 index 00000000..c31e9cef --- /dev/null +++ b/node_modules/@actions/core/node_modules/uuid/wrapper.mjs @@ -0,0 +1,10 @@ +import uuid from './dist/index.js'; +export const v1 = uuid.v1; +export const v3 = uuid.v3; +export const v4 = uuid.v4; +export const v5 = uuid.v5; +export const NIL = uuid.NIL; +export const version = uuid.version; +export const validate = uuid.validate; +export const stringify = uuid.stringify; +export const parse = uuid.parse; diff --git a/node_modules/@actions/core/package.json b/node_modules/@actions/core/package.json new file mode 100644 index 00000000..1f3824de --- /dev/null +++ b/node_modules/@actions/core/package.json @@ -0,0 +1,46 @@ +{ + "name": "@actions/core", + "version": "1.10.0", + "description": "Actions core lib", + "keywords": [ + "github", + "actions", + "core" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/core", + "license": "MIT", + "main": "lib/core.js", + "types": "lib/core.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/core" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + }, + "devDependencies": { + "@types/node": "^12.0.2", + "@types/uuid": "^8.3.4" + } +} diff --git a/node_modules/@actions/exec/LICENSE.md b/node_modules/@actions/exec/LICENSE.md new file mode 100644 index 00000000..dbae2edb --- /dev/null +++ b/node_modules/@actions/exec/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright 2019 GitHub + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@actions/exec/README.md b/node_modules/@actions/exec/README.md new file mode 100644 index 00000000..53a6bf52 --- /dev/null +++ b/node_modules/@actions/exec/README.md @@ -0,0 +1,57 @@ +# `@actions/exec` + +## Usage + +#### Basic + +You can use this package to execute tools in a cross platform way: + +```js +const exec = require('@actions/exec'); + +await exec.exec('node index.js'); +``` + +#### Args + +You can also pass in arg arrays: + +```js +const exec = require('@actions/exec'); + +await exec.exec('node', ['index.js', 'foo=bar']); +``` + +#### Output/options + +Capture output or specify [other options](https://github.com/actions/toolkit/blob/d9347d4ab99fd507c0b9104b2cf79fb44fcc827d/packages/exec/src/interfaces.ts#L5): + +```js +const exec = require('@actions/exec'); + +let myOutput = ''; +let myError = ''; + +const options = {}; +options.listeners = { + stdout: (data: Buffer) => { + myOutput += data.toString(); + }, + stderr: (data: Buffer) => { + myError += data.toString(); + } +}; +options.cwd = './lib'; + +await exec.exec('node', ['index.js', 'foo=bar'], options); +``` + +#### Exec tools not in the PATH + +You can specify the full path for tools not in the PATH: + +```js +const exec = require('@actions/exec'); + +await exec.exec('"/path/to/my-tool"', ['arg1']); +``` diff --git a/node_modules/@actions/exec/lib/exec.d.ts b/node_modules/@actions/exec/lib/exec.d.ts new file mode 100644 index 00000000..baedcdb6 --- /dev/null +++ b/node_modules/@actions/exec/lib/exec.d.ts @@ -0,0 +1,24 @@ +import { ExecOptions, ExecOutput, ExecListeners } from './interfaces'; +export { ExecOptions, ExecOutput, ExecListeners }; +/** + * Exec a command. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code + */ +export declare function exec(commandLine: string, args?: string[], options?: ExecOptions): Promise; +/** + * Exec a command and get the output. + * Output will be streamed to the live console. + * Returns promise with the exit code and collected stdout and stderr + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code, stdout, and stderr + */ +export declare function getExecOutput(commandLine: string, args?: string[], options?: ExecOptions): Promise; diff --git a/node_modules/@actions/exec/lib/exec.js b/node_modules/@actions/exec/lib/exec.js new file mode 100644 index 00000000..72c7a9cc --- /dev/null +++ b/node_modules/@actions/exec/lib/exec.js @@ -0,0 +1,103 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getExecOutput = exports.exec = void 0; +const string_decoder_1 = require("string_decoder"); +const tr = __importStar(require("./toolrunner")); +/** + * Exec a command. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code + */ +function exec(commandLine, args, options) { + return __awaiter(this, void 0, void 0, function* () { + const commandArgs = tr.argStringToArray(commandLine); + if (commandArgs.length === 0) { + throw new Error(`Parameter 'commandLine' cannot be null or empty.`); + } + // Path to tool to execute should be first arg + const toolPath = commandArgs[0]; + args = commandArgs.slice(1).concat(args || []); + const runner = new tr.ToolRunner(toolPath, args, options); + return runner.exec(); + }); +} +exports.exec = exec; +/** + * Exec a command and get the output. + * Output will be streamed to the live console. + * Returns promise with the exit code and collected stdout and stderr + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code, stdout, and stderr + */ +function getExecOutput(commandLine, args, options) { + var _a, _b; + return __awaiter(this, void 0, void 0, function* () { + let stdout = ''; + let stderr = ''; + //Using string decoder covers the case where a mult-byte character is split + const stdoutDecoder = new string_decoder_1.StringDecoder('utf8'); + const stderrDecoder = new string_decoder_1.StringDecoder('utf8'); + const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; + const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; + const stdErrListener = (data) => { + stderr += stderrDecoder.write(data); + if (originalStdErrListener) { + originalStdErrListener(data); + } + }; + const stdOutListener = (data) => { + stdout += stdoutDecoder.write(data); + if (originalStdoutListener) { + originalStdoutListener(data); + } + }; + const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener }); + const exitCode = yield exec(commandLine, args, Object.assign(Object.assign({}, options), { listeners })); + //flush any remaining characters + stdout += stdoutDecoder.end(); + stderr += stderrDecoder.end(); + return { + exitCode, + stdout, + stderr + }; + }); +} +exports.getExecOutput = getExecOutput; +//# sourceMappingURL=exec.js.map \ No newline at end of file diff --git a/node_modules/@actions/exec/lib/exec.js.map b/node_modules/@actions/exec/lib/exec.js.map new file mode 100644 index 00000000..07626365 --- /dev/null +++ b/node_modules/@actions/exec/lib/exec.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA4C;AAE5C,iDAAkC;AAIlC;;;;;;;;;GASG;AACH,SAAsB,IAAI,CACxB,WAAmB,EACnB,IAAe,EACf,OAAqB;;QAErB,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QACpD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACpE;QACD,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAkB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACxE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;IACtB,CAAC;CAAA;AAdD,oBAcC;AAED;;;;;;;;;GASG;AAEH,SAAsB,aAAa,CACjC,WAAmB,EACnB,IAAe,EACf,OAAqB;;;QAErB,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,2EAA2E;QAC3E,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAA;QAE/C,MAAM,sBAAsB,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,CAAA;QACzD,MAAM,sBAAsB,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,CAAA;QAEzD,MAAM,cAAc,GAAG,CAAC,IAAY,EAAQ,EAAE;YAC5C,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,sBAAsB,EAAE;gBAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAA;aAC7B;QACH,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,CAAC,IAAY,EAAQ,EAAE;YAC5C,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,sBAAsB,EAAE;gBAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAA;aAC7B;QACH,CAAC,CAAA;QAED,MAAM,SAAS,mCACV,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KACrB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,GACvB,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,IAAI,kCAAM,OAAO,KAAE,SAAS,IAAE,CAAA;QAEvE,gCAAgC;QAChC,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,CAAA;QAE7B,OAAO;YACL,QAAQ;YACR,MAAM;YACN,MAAM;SACP,CAAA;;CACF;AA9CD,sCA8CC"} \ No newline at end of file diff --git a/node_modules/@actions/exec/lib/interfaces.d.ts b/node_modules/@actions/exec/lib/interfaces.d.ts new file mode 100644 index 00000000..8ae20e48 --- /dev/null +++ b/node_modules/@actions/exec/lib/interfaces.d.ts @@ -0,0 +1,57 @@ +/// +import * as stream from 'stream'; +/** + * Interface for exec options + */ +export interface ExecOptions { + /** optional working directory. defaults to current */ + cwd?: string; + /** optional envvar dictionary. defaults to current process's env */ + env?: { + [key: string]: string; + }; + /** optional. defaults to false */ + silent?: boolean; + /** optional out stream to use. Defaults to process.stdout */ + outStream?: stream.Writable; + /** optional err stream to use. Defaults to process.stderr */ + errStream?: stream.Writable; + /** optional. whether to skip quoting/escaping arguments if needed. defaults to false. */ + windowsVerbatimArguments?: boolean; + /** optional. whether to fail if output to stderr. defaults to false */ + failOnStdErr?: boolean; + /** optional. defaults to failing on non zero. ignore will not fail leaving it up to the caller */ + ignoreReturnCode?: boolean; + /** optional. How long in ms to wait for STDIO streams to close after the exit event of the process before terminating. defaults to 10000 */ + delay?: number; + /** optional. input to write to the process on STDIN. */ + input?: Buffer; + /** optional. Listeners for output. Callback functions that will be called on these events */ + listeners?: ExecListeners; +} +/** + * Interface for the output of getExecOutput() + */ +export interface ExecOutput { + /**The exit code of the process */ + exitCode: number; + /**The entire stdout of the process as a string */ + stdout: string; + /**The entire stderr of the process as a string */ + stderr: string; +} +/** + * The user defined listeners for an exec call + */ +export interface ExecListeners { + /** A call back for each buffer of stdout */ + stdout?: (data: Buffer) => void; + /** A call back for each buffer of stderr */ + stderr?: (data: Buffer) => void; + /** A call back for each line of stdout */ + stdline?: (data: string) => void; + /** A call back for each line of stderr */ + errline?: (data: string) => void; + /** A call back for each debug log */ + debug?: (data: string) => void; +} diff --git a/node_modules/@actions/exec/lib/interfaces.js b/node_modules/@actions/exec/lib/interfaces.js new file mode 100644 index 00000000..db919115 --- /dev/null +++ b/node_modules/@actions/exec/lib/interfaces.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/node_modules/@actions/exec/lib/interfaces.js.map b/node_modules/@actions/exec/lib/interfaces.js.map new file mode 100644 index 00000000..8fb5f7d1 --- /dev/null +++ b/node_modules/@actions/exec/lib/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@actions/exec/lib/toolrunner.d.ts b/node_modules/@actions/exec/lib/toolrunner.d.ts new file mode 100644 index 00000000..9bbbb1ea --- /dev/null +++ b/node_modules/@actions/exec/lib/toolrunner.d.ts @@ -0,0 +1,37 @@ +/// +import * as events from 'events'; +import * as im from './interfaces'; +export declare class ToolRunner extends events.EventEmitter { + constructor(toolPath: string, args?: string[], options?: im.ExecOptions); + private toolPath; + private args; + private options; + private _debug; + private _getCommandString; + private _processLineBuffer; + private _getSpawnFileName; + private _getSpawnArgs; + private _endsWith; + private _isCmdFile; + private _windowsQuoteCmdArg; + private _uvQuoteCmdArg; + private _cloneExecOptions; + private _getSpawnOptions; + /** + * Exec a tool. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param tool path to tool to exec + * @param options optional exec options. See ExecOptions + * @returns number + */ + exec(): Promise; +} +/** + * Convert an arg string to an array of args. Handles escaping + * + * @param argString string of arguments + * @returns string[] array of arguments + */ +export declare function argStringToArray(argString: string): string[]; diff --git a/node_modules/@actions/exec/lib/toolrunner.js b/node_modules/@actions/exec/lib/toolrunner.js new file mode 100644 index 00000000..e456a729 --- /dev/null +++ b/node_modules/@actions/exec/lib/toolrunner.js @@ -0,0 +1,618 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.argStringToArray = exports.ToolRunner = void 0; +const os = __importStar(require("os")); +const events = __importStar(require("events")); +const child = __importStar(require("child_process")); +const path = __importStar(require("path")); +const io = __importStar(require("@actions/io")); +const ioUtil = __importStar(require("@actions/io/lib/io-util")); +const timers_1 = require("timers"); +/* eslint-disable @typescript-eslint/unbound-method */ +const IS_WINDOWS = process.platform === 'win32'; +/* + * Class for running command line tools. Handles quoting and arg parsing in a platform agnostic way. + */ +class ToolRunner extends events.EventEmitter { + constructor(toolPath, args, options) { + super(); + if (!toolPath) { + throw new Error("Parameter 'toolPath' cannot be null or empty."); + } + this.toolPath = toolPath; + this.args = args || []; + this.options = options || {}; + } + _debug(message) { + if (this.options.listeners && this.options.listeners.debug) { + this.options.listeners.debug(message); + } + } + _getCommandString(options, noPrefix) { + const toolPath = this._getSpawnFileName(); + const args = this._getSpawnArgs(options); + let cmd = noPrefix ? '' : '[command]'; // omit prefix when piped to a second tool + if (IS_WINDOWS) { + // Windows + cmd file + if (this._isCmdFile()) { + cmd += toolPath; + for (const a of args) { + cmd += ` ${a}`; + } + } + // Windows + verbatim + else if (options.windowsVerbatimArguments) { + cmd += `"${toolPath}"`; + for (const a of args) { + cmd += ` ${a}`; + } + } + // Windows (regular) + else { + cmd += this._windowsQuoteCmdArg(toolPath); + for (const a of args) { + cmd += ` ${this._windowsQuoteCmdArg(a)}`; + } + } + } + else { + // OSX/Linux - this can likely be improved with some form of quoting. + // creating processes on Unix is fundamentally different than Windows. + // on Unix, execvp() takes an arg array. + cmd += toolPath; + for (const a of args) { + cmd += ` ${a}`; + } + } + return cmd; + } + _processLineBuffer(data, strBuffer, onLine) { + try { + let s = strBuffer + data.toString(); + let n = s.indexOf(os.EOL); + while (n > -1) { + const line = s.substring(0, n); + onLine(line); + // the rest of the string ... + s = s.substring(n + os.EOL.length); + n = s.indexOf(os.EOL); + } + return s; + } + catch (err) { + // streaming lines to console is best effort. Don't fail a build. + this._debug(`error processing line. Failed with error ${err}`); + return ''; + } + } + _getSpawnFileName() { + if (IS_WINDOWS) { + if (this._isCmdFile()) { + return process.env['COMSPEC'] || 'cmd.exe'; + } + } + return this.toolPath; + } + _getSpawnArgs(options) { + if (IS_WINDOWS) { + if (this._isCmdFile()) { + let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; + for (const a of this.args) { + argline += ' '; + argline += options.windowsVerbatimArguments + ? a + : this._windowsQuoteCmdArg(a); + } + argline += '"'; + return [argline]; + } + } + return this.args; + } + _endsWith(str, end) { + return str.endsWith(end); + } + _isCmdFile() { + const upperToolPath = this.toolPath.toUpperCase(); + return (this._endsWith(upperToolPath, '.CMD') || + this._endsWith(upperToolPath, '.BAT')); + } + _windowsQuoteCmdArg(arg) { + // for .exe, apply the normal quoting rules that libuv applies + if (!this._isCmdFile()) { + return this._uvQuoteCmdArg(arg); + } + // otherwise apply quoting rules specific to the cmd.exe command line parser. + // the libuv rules are generic and are not designed specifically for cmd.exe + // command line parser. + // + // for a detailed description of the cmd.exe command line parser, refer to + // http://stackoverflow.com/questions/4094699/how-does-the-windows-command-interpreter-cmd-exe-parse-scripts/7970912#7970912 + // need quotes for empty arg + if (!arg) { + return '""'; + } + // determine whether the arg needs to be quoted + const cmdSpecialChars = [ + ' ', + '\t', + '&', + '(', + ')', + '[', + ']', + '{', + '}', + '^', + '=', + ';', + '!', + "'", + '+', + ',', + '`', + '~', + '|', + '<', + '>', + '"' + ]; + let needsQuotes = false; + for (const char of arg) { + if (cmdSpecialChars.some(x => x === char)) { + needsQuotes = true; + break; + } + } + // short-circuit if quotes not needed + if (!needsQuotes) { + return arg; + } + // the following quoting rules are very similar to the rules that by libuv applies. + // + // 1) wrap the string in quotes + // + // 2) double-up quotes - i.e. " => "" + // + // this is different from the libuv quoting rules. libuv replaces " with \", which unfortunately + // doesn't work well with a cmd.exe command line. + // + // note, replacing " with "" also works well if the arg is passed to a downstream .NET console app. + // for example, the command line: + // foo.exe "myarg:""my val""" + // is parsed by a .NET console app into an arg array: + // [ "myarg:\"my val\"" ] + // which is the same end result when applying libuv quoting rules. although the actual + // command line from libuv quoting rules would look like: + // foo.exe "myarg:\"my val\"" + // + // 3) double-up slashes that precede a quote, + // e.g. hello \world => "hello \world" + // hello\"world => "hello\\""world" + // hello\\"world => "hello\\\\""world" + // hello world\ => "hello world\\" + // + // technically this is not required for a cmd.exe command line, or the batch argument parser. + // the reasons for including this as a .cmd quoting rule are: + // + // a) this is optimized for the scenario where the argument is passed from the .cmd file to an + // external program. many programs (e.g. .NET console apps) rely on the slash-doubling rule. + // + // b) it's what we've been doing previously (by deferring to node default behavior) and we + // haven't heard any complaints about that aspect. + // + // note, a weakness of the quoting rules chosen here, is that % is not escaped. in fact, % cannot be + // escaped when used on the command line directly - even though within a .cmd file % can be escaped + // by using %%. + // + // the saving grace is, on the command line, %var% is left as-is if var is not defined. this contrasts + // the line parsing rules within a .cmd file, where if var is not defined it is replaced with nothing. + // + // one option that was explored was replacing % with ^% - i.e. %var% => ^%var^%. this hack would + // often work, since it is unlikely that var^ would exist, and the ^ character is removed when the + // variable is used. the problem, however, is that ^ is not removed when %* is used to pass the args + // to an external program. + // + // an unexplored potential solution for the % escaping problem, is to create a wrapper .cmd file. + // % can be escaped within a .cmd file. + let reverse = '"'; + let quoteHit = true; + for (let i = arg.length; i > 0; i--) { + // walk the string in reverse + reverse += arg[i - 1]; + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\'; // double the slash + } + else if (arg[i - 1] === '"') { + quoteHit = true; + reverse += '"'; // double the quote + } + else { + quoteHit = false; + } + } + reverse += '"'; + return reverse + .split('') + .reverse() + .join(''); + } + _uvQuoteCmdArg(arg) { + // Tool runner wraps child_process.spawn() and needs to apply the same quoting as + // Node in certain cases where the undocumented spawn option windowsVerbatimArguments + // is used. + // + // Since this function is a port of quote_cmd_arg from Node 4.x (technically, lib UV, + // see https://github.com/nodejs/node/blob/v4.x/deps/uv/src/win/process.c for details), + // pasting copyright notice from Node within this function: + // + // Copyright Joyent, Inc. and other Node contributors. All rights reserved. + // + // Permission is hereby granted, free of charge, to any person obtaining a copy + // of this software and associated documentation files (the "Software"), to + // deal in the Software without restriction, including without limitation the + // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + // sell copies of the Software, and to permit persons to whom the Software is + // furnished to do so, subject to the following conditions: + // + // The above copyright notice and this permission notice shall be included in + // all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + // IN THE SOFTWARE. + if (!arg) { + // Need double quotation for empty argument + return '""'; + } + if (!arg.includes(' ') && !arg.includes('\t') && !arg.includes('"')) { + // No quotation needed + return arg; + } + if (!arg.includes('"') && !arg.includes('\\')) { + // No embedded double quotes or backslashes, so I can just wrap + // quote marks around the whole thing. + return `"${arg}"`; + } + // Expected input/output: + // input : hello"world + // output: "hello\"world" + // input : hello""world + // output: "hello\"\"world" + // input : hello\world + // output: hello\world + // input : hello\\world + // output: hello\\world + // input : hello\"world + // output: "hello\\\"world" + // input : hello\\"world + // output: "hello\\\\\"world" + // input : hello world\ + // output: "hello world\\" - note the comment in libuv actually reads "hello world\" + // but it appears the comment is wrong, it should be "hello world\\" + let reverse = '"'; + let quoteHit = true; + for (let i = arg.length; i > 0; i--) { + // walk the string in reverse + reverse += arg[i - 1]; + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\'; + } + else if (arg[i - 1] === '"') { + quoteHit = true; + reverse += '\\'; + } + else { + quoteHit = false; + } + } + reverse += '"'; + return reverse + .split('') + .reverse() + .join(''); + } + _cloneExecOptions(options) { + options = options || {}; + const result = { + cwd: options.cwd || process.cwd(), + env: options.env || process.env, + silent: options.silent || false, + windowsVerbatimArguments: options.windowsVerbatimArguments || false, + failOnStdErr: options.failOnStdErr || false, + ignoreReturnCode: options.ignoreReturnCode || false, + delay: options.delay || 10000 + }; + result.outStream = options.outStream || process.stdout; + result.errStream = options.errStream || process.stderr; + return result; + } + _getSpawnOptions(options, toolPath) { + options = options || {}; + const result = {}; + result.cwd = options.cwd; + result.env = options.env; + result['windowsVerbatimArguments'] = + options.windowsVerbatimArguments || this._isCmdFile(); + if (options.windowsVerbatimArguments) { + result.argv0 = `"${toolPath}"`; + } + return result; + } + /** + * Exec a tool. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param tool path to tool to exec + * @param options optional exec options. See ExecOptions + * @returns number + */ + exec() { + return __awaiter(this, void 0, void 0, function* () { + // root the tool path if it is unrooted and contains relative pathing + if (!ioUtil.isRooted(this.toolPath) && + (this.toolPath.includes('/') || + (IS_WINDOWS && this.toolPath.includes('\\')))) { + // prefer options.cwd if it is specified, however options.cwd may also need to be rooted + this.toolPath = path.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); + } + // if the tool is only a file name, then resolve it from the PATH + // otherwise verify it exists (add extension on Windows if necessary) + this.toolPath = yield io.which(this.toolPath, true); + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + this._debug(`exec tool: ${this.toolPath}`); + this._debug('arguments:'); + for (const arg of this.args) { + this._debug(` ${arg}`); + } + const optionsNonNull = this._cloneExecOptions(this.options); + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL); + } + const state = new ExecState(optionsNonNull, this.toolPath); + state.on('debug', (message) => { + this._debug(message); + }); + if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) { + return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`)); + } + const fileName = this._getSpawnFileName(); + const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName)); + let stdbuffer = ''; + if (cp.stdout) { + cp.stdout.on('data', (data) => { + if (this.options.listeners && this.options.listeners.stdout) { + this.options.listeners.stdout(data); + } + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(data); + } + stdbuffer = this._processLineBuffer(data, stdbuffer, (line) => { + if (this.options.listeners && this.options.listeners.stdline) { + this.options.listeners.stdline(line); + } + }); + }); + } + let errbuffer = ''; + if (cp.stderr) { + cp.stderr.on('data', (data) => { + state.processStderr = true; + if (this.options.listeners && this.options.listeners.stderr) { + this.options.listeners.stderr(data); + } + if (!optionsNonNull.silent && + optionsNonNull.errStream && + optionsNonNull.outStream) { + const s = optionsNonNull.failOnStdErr + ? optionsNonNull.errStream + : optionsNonNull.outStream; + s.write(data); + } + errbuffer = this._processLineBuffer(data, errbuffer, (line) => { + if (this.options.listeners && this.options.listeners.errline) { + this.options.listeners.errline(line); + } + }); + }); + } + cp.on('error', (err) => { + state.processError = err.message; + state.processExited = true; + state.processClosed = true; + state.CheckComplete(); + }); + cp.on('exit', (code) => { + state.processExitCode = code; + state.processExited = true; + this._debug(`Exit code ${code} received from tool '${this.toolPath}'`); + state.CheckComplete(); + }); + cp.on('close', (code) => { + state.processExitCode = code; + state.processExited = true; + state.processClosed = true; + this._debug(`STDIO streams have closed for tool '${this.toolPath}'`); + state.CheckComplete(); + }); + state.on('done', (error, exitCode) => { + if (stdbuffer.length > 0) { + this.emit('stdline', stdbuffer); + } + if (errbuffer.length > 0) { + this.emit('errline', errbuffer); + } + cp.removeAllListeners(); + if (error) { + reject(error); + } + else { + resolve(exitCode); + } + }); + if (this.options.input) { + if (!cp.stdin) { + throw new Error('child process missing stdin'); + } + cp.stdin.end(this.options.input); + } + })); + }); + } +} +exports.ToolRunner = ToolRunner; +/** + * Convert an arg string to an array of args. Handles escaping + * + * @param argString string of arguments + * @returns string[] array of arguments + */ +function argStringToArray(argString) { + const args = []; + let inQuotes = false; + let escaped = false; + let arg = ''; + function append(c) { + // we only escape double quotes. + if (escaped && c !== '"') { + arg += '\\'; + } + arg += c; + escaped = false; + } + for (let i = 0; i < argString.length; i++) { + const c = argString.charAt(i); + if (c === '"') { + if (!escaped) { + inQuotes = !inQuotes; + } + else { + append(c); + } + continue; + } + if (c === '\\' && escaped) { + append(c); + continue; + } + if (c === '\\' && inQuotes) { + escaped = true; + continue; + } + if (c === ' ' && !inQuotes) { + if (arg.length > 0) { + args.push(arg); + arg = ''; + } + continue; + } + append(c); + } + if (arg.length > 0) { + args.push(arg.trim()); + } + return args; +} +exports.argStringToArray = argStringToArray; +class ExecState extends events.EventEmitter { + constructor(options, toolPath) { + super(); + this.processClosed = false; // tracks whether the process has exited and stdio is closed + this.processError = ''; + this.processExitCode = 0; + this.processExited = false; // tracks whether the process has exited + this.processStderr = false; // tracks whether stderr was written to + this.delay = 10000; // 10 seconds + this.done = false; + this.timeout = null; + if (!toolPath) { + throw new Error('toolPath must not be empty'); + } + this.options = options; + this.toolPath = toolPath; + if (options.delay) { + this.delay = options.delay; + } + } + CheckComplete() { + if (this.done) { + return; + } + if (this.processClosed) { + this._setResult(); + } + else if (this.processExited) { + this.timeout = timers_1.setTimeout(ExecState.HandleTimeout, this.delay, this); + } + } + _debug(message) { + this.emit('debug', message); + } + _setResult() { + // determine whether there is an error + let error; + if (this.processExited) { + if (this.processError) { + error = new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`); + } + else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) { + error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`); + } + else if (this.processStderr && this.options.failOnStdErr) { + error = new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`); + } + } + // clear the timeout + if (this.timeout) { + clearTimeout(this.timeout); + this.timeout = null; + } + this.done = true; + this.emit('done', error, this.processExitCode); + } + static HandleTimeout(state) { + if (state.done) { + return; + } + if (!state.processClosed && state.processExited) { + const message = `The STDIO streams did not close within ${state.delay / + 1000} seconds of the exit event from process '${state.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`; + state._debug(message); + } + state._setResult(); + } +} +//# sourceMappingURL=toolrunner.js.map \ No newline at end of file diff --git a/node_modules/@actions/exec/lib/toolrunner.js.map b/node_modules/@actions/exec/lib/toolrunner.js.map new file mode 100644 index 00000000..6eaf1830 --- /dev/null +++ b/node_modules/@actions/exec/lib/toolrunner.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toolrunner.js","sourceRoot":"","sources":["../src/toolrunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,+CAAgC;AAChC,qDAAsC;AACtC,2CAA4B;AAG5B,gDAAiC;AACjC,gEAAiD;AACjD,mCAAiC;AAEjC,sDAAsD;AAEtD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AAE/C;;GAEG;AACH,MAAa,UAAW,SAAQ,MAAM,CAAC,YAAY;IACjD,YAAY,QAAgB,EAAE,IAAe,EAAE,OAAwB;QACrE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;SACjE;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;IAC9B,CAAC;IAMO,MAAM,CAAC,OAAe;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;YAC1D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SACtC;IACH,CAAC;IAEO,iBAAiB,CACvB,OAAuB,EACvB,QAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA,CAAC,0CAA0C;QAChF,IAAI,UAAU,EAAE;YACd,qBAAqB;YACrB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACrB,GAAG,IAAI,QAAQ,CAAA;gBACf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;oBACpB,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;iBACf;aACF;YACD,qBAAqB;iBAChB,IAAI,OAAO,CAAC,wBAAwB,EAAE;gBACzC,GAAG,IAAI,IAAI,QAAQ,GAAG,CAAA;gBACtB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;oBACpB,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;iBACf;aACF;YACD,oBAAoB;iBACf;gBACH,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;gBACzC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;oBACpB,GAAG,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAA;iBACzC;aACF;SACF;aAAM;YACL,qEAAqE;YACrE,sEAAsE;YACtE,wCAAwC;YACxC,GAAG,IAAI,QAAQ,CAAA;YACf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;gBACpB,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;aACf;SACF;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,kBAAkB,CACxB,IAAY,EACZ,SAAiB,EACjB,MAA8B;QAE9B,IAAI;YACF,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YACnC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YAEzB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;gBACb,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC9B,MAAM,CAAC,IAAI,CAAC,CAAA;gBAEZ,6BAA6B;gBAC7B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBAClC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;aACtB;YAED,OAAO,CAAC,CAAA;SACT;QAAC,OAAO,GAAG,EAAE;YACZ,kEAAkE;YAClE,IAAI,CAAC,MAAM,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAA;YAE9D,OAAO,EAAE,CAAA;SACV;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,UAAU,EAAE;YACd,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACrB,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAA;aAC3C;SACF;QAED,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEO,aAAa,CAAC,OAAuB;QAC3C,IAAI,UAAU,EAAE;YACd,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACrB,IAAI,OAAO,GAAG,aAAa,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;gBACpE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;oBACzB,OAAO,IAAI,GAAG,CAAA;oBACd,OAAO,IAAI,OAAO,CAAC,wBAAwB;wBACzC,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;iBAChC;gBAED,OAAO,IAAI,GAAG,CAAA;gBACd,OAAO,CAAC,OAAO,CAAC,CAAA;aACjB;SACF;QAED,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAEO,SAAS,CAAC,GAAW,EAAE,GAAW;QACxC,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAEO,UAAU;QAChB,MAAM,aAAa,GAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QACzD,OAAO,CACL,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CACtC,CAAA;IACH,CAAC;IAEO,mBAAmB,CAAC,GAAW;QACrC,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YACtB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;SAChC;QAED,6EAA6E;QAC7E,4EAA4E;QAC5E,uBAAuB;QACvB,EAAE;QACF,0EAA0E;QAC1E,4HAA4H;QAE5H,4BAA4B;QAC5B,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,IAAI,CAAA;SACZ;QAED,+CAA+C;QAC/C,MAAM,eAAe,GAAG;YACtB,GAAG;YACH,IAAI;YACJ,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;SACJ,CAAA;QACD,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACtB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE;gBACzC,WAAW,GAAG,IAAI,CAAA;gBAClB,MAAK;aACN;SACF;QAED,qCAAqC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,GAAG,CAAA;SACX;QAED,mFAAmF;QACnF,EAAE;QACF,+BAA+B;QAC/B,EAAE;QACF,qCAAqC;QACrC,EAAE;QACF,mGAAmG;QACnG,oDAAoD;QACpD,EAAE;QACF,sGAAsG;QACtG,oCAAoC;QACpC,sCAAsC;QACtC,wDAAwD;QACxD,kCAAkC;QAClC,yFAAyF;QACzF,4DAA4D;QAC5D,sCAAsC;QACtC,EAAE;QACF,6CAA6C;QAC7C,6CAA6C;QAC7C,+CAA+C;QAC/C,iDAAiD;QACjD,8CAA8C;QAC9C,EAAE;QACF,gGAAgG;QAChG,gEAAgE;QAChE,EAAE;QACF,iGAAiG;QACjG,kGAAkG;QAClG,EAAE;QACF,6FAA6F;QAC7F,wDAAwD;QACxD,EAAE;QACF,oGAAoG;QACpG,mGAAmG;QACnG,eAAe;QACf,EAAE;QACF,sGAAsG;QACtG,sGAAsG;QACtG,EAAE;QACF,gGAAgG;QAChG,kGAAkG;QAClG,oGAAoG;QACpG,0BAA0B;QAC1B,EAAE;QACF,iGAAiG;QACjG,uCAAuC;QACvC,IAAI,OAAO,GAAG,GAAG,CAAA;QACjB,IAAI,QAAQ,GAAG,IAAI,CAAA;QACnB,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACnC,6BAA6B;YAC7B,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACrB,IAAI,QAAQ,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;gBACnC,OAAO,IAAI,IAAI,CAAA,CAAC,mBAAmB;aACpC;iBAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC7B,QAAQ,GAAG,IAAI,CAAA;gBACf,OAAO,IAAI,GAAG,CAAA,CAAC,mBAAmB;aACnC;iBAAM;gBACL,QAAQ,GAAG,KAAK,CAAA;aACjB;SACF;QAED,OAAO,IAAI,GAAG,CAAA;QACd,OAAO,OAAO;aACX,KAAK,CAAC,EAAE,CAAC;aACT,OAAO,EAAE;aACT,IAAI,CAAC,EAAE,CAAC,CAAA;IACb,CAAC;IAEO,cAAc,CAAC,GAAW;QAChC,iFAAiF;QACjF,qFAAqF;QACrF,WAAW;QACX,EAAE;QACF,qFAAqF;QACrF,uFAAuF;QACvF,2DAA2D;QAC3D,EAAE;QACF,gFAAgF;QAChF,EAAE;QACF,oFAAoF;QACpF,gFAAgF;QAChF,kFAAkF;QAClF,mFAAmF;QACnF,kFAAkF;QAClF,gEAAgE;QAChE,EAAE;QACF,kFAAkF;QAClF,2DAA2D;QAC3D,EAAE;QACF,kFAAkF;QAClF,gFAAgF;QAChF,mFAAmF;QACnF,8EAA8E;QAC9E,+EAA+E;QAC/E,oFAAoF;QACpF,wBAAwB;QAExB,IAAI,CAAC,GAAG,EAAE;YACR,2CAA2C;YAC3C,OAAO,IAAI,CAAA;SACZ;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACnE,sBAAsB;YACtB,OAAO,GAAG,CAAA;SACX;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC7C,+DAA+D;YAC/D,sCAAsC;YACtC,OAAO,IAAI,GAAG,GAAG,CAAA;SAClB;QAED,yBAAyB;QACzB,wBAAwB;QACxB,2BAA2B;QAC3B,yBAAyB;QACzB,6BAA6B;QAC7B,wBAAwB;QACxB,wBAAwB;QACxB,yBAAyB;QACzB,yBAAyB;QACzB,yBAAyB;QACzB,6BAA6B;QAC7B,0BAA0B;QAC1B,+BAA+B;QAC/B,yBAAyB;QACzB,sFAAsF;QACtF,gGAAgG;QAChG,IAAI,OAAO,GAAG,GAAG,CAAA;QACjB,IAAI,QAAQ,GAAG,IAAI,CAAA;QACnB,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACnC,6BAA6B;YAC7B,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACrB,IAAI,QAAQ,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;gBACnC,OAAO,IAAI,IAAI,CAAA;aAChB;iBAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC7B,QAAQ,GAAG,IAAI,CAAA;gBACf,OAAO,IAAI,IAAI,CAAA;aAChB;iBAAM;gBACL,QAAQ,GAAG,KAAK,CAAA;aACjB;SACF;QAED,OAAO,IAAI,GAAG,CAAA;QACd,OAAO,OAAO;aACX,KAAK,CAAC,EAAE,CAAC;aACT,OAAO,EAAE;aACT,IAAI,CAAC,EAAE,CAAC,CAAA;IACb,CAAC;IAEO,iBAAiB,CAAC,OAAwB;QAChD,OAAO,GAAG,OAAO,IAAoB,EAAE,CAAA;QACvC,MAAM,MAAM,GAAmC;YAC7C,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YACjC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,IAAI,KAAK;YACnE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;YAC3C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;YACnD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;SAC9B,CAAA;QACD,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAqB,OAAO,CAAC,MAAM,CAAA;QACvE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAqB,OAAO,CAAC,MAAM,CAAA;QACvE,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,gBAAgB,CACtB,OAAuB,EACvB,QAAgB;QAEhB,OAAO,GAAG,OAAO,IAAoB,EAAE,CAAA;QACvC,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACxB,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACxB,MAAM,CAAC,0BAA0B,CAAC;YAChC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAA;QACvD,IAAI,OAAO,CAAC,wBAAwB,EAAE;YACpC,MAAM,CAAC,KAAK,GAAG,IAAI,QAAQ,GAAG,CAAA;SAC/B;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACG,IAAI;;YACR,qEAAqE;YACrE,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC/B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAC1B,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAC/C;gBACA,wFAAwF;gBACxF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC1B,OAAO,CAAC,GAAG,EAAE,EACb,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EACjC,IAAI,CAAC,QAAQ,CACd,CAAA;aACF;YAED,iEAAiE;YACjE,qEAAqE;YACrE,IAAI,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAEnD,OAAO,IAAI,OAAO,CAAS,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnD,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC1C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;oBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;iBACzB;gBAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC3D,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,SAAS,EAAE;oBACtD,cAAc,CAAC,SAAS,CAAC,KAAK,CAC5B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAChD,CAAA;iBACF;gBAED,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC1D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAe,EAAE,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACtB,CAAC,CAAC,CAAA;gBAEF,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;oBAChE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAA;iBACzE;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;gBACzC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CACpB,QAAQ,EACR,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAC9C,CAAA;gBAED,IAAI,SAAS,GAAG,EAAE,CAAA;gBAClB,IAAI,EAAE,CAAC,MAAM,EAAE;oBACb,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;wBACpC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;4BAC3D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;yBACpC;wBAED,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,SAAS,EAAE;4BACtD,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;yBACrC;wBAED,SAAS,GAAG,IAAI,CAAC,kBAAkB,CACjC,IAAI,EACJ,SAAS,EACT,CAAC,IAAY,EAAE,EAAE;4BACf,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;gCAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;6BACrC;wBACH,CAAC,CACF,CAAA;oBACH,CAAC,CAAC,CAAA;iBACH;gBAED,IAAI,SAAS,GAAG,EAAE,CAAA;gBAClB,IAAI,EAAE,CAAC,MAAM,EAAE;oBACb,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;wBACpC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;wBAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;4BAC3D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;yBACpC;wBAED,IACE,CAAC,cAAc,CAAC,MAAM;4BACtB,cAAc,CAAC,SAAS;4BACxB,cAAc,CAAC,SAAS,EACxB;4BACA,MAAM,CAAC,GAAG,cAAc,CAAC,YAAY;gCACnC,CAAC,CAAC,cAAc,CAAC,SAAS;gCAC1B,CAAC,CAAC,cAAc,CAAC,SAAS,CAAA;4BAC5B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;yBACd;wBAED,SAAS,GAAG,IAAI,CAAC,kBAAkB,CACjC,IAAI,EACJ,SAAS,EACT,CAAC,IAAY,EAAE,EAAE;4BACf,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;gCAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;6BACrC;wBACH,CAAC,CACF,CAAA;oBACH,CAAC,CAAC,CAAA;iBACH;gBAED,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;oBAC5B,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAA;oBAChC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC1B,KAAK,CAAC,aAAa,EAAE,CAAA;gBACvB,CAAC,CAAC,CAAA;gBAEF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC7B,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;oBAC5B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,wBAAwB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;oBACtE,KAAK,CAAC,aAAa,EAAE,CAAA;gBACvB,CAAC,CAAC,CAAA;gBAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC9B,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;oBAC5B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC1B,IAAI,CAAC,MAAM,CAAC,uCAAuC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;oBACpE,KAAK,CAAC,aAAa,EAAE,CAAA;gBACvB,CAAC,CAAC,CAAA;gBAEF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAY,EAAE,QAAgB,EAAE,EAAE;oBAClD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;qBAChC;oBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;qBAChC;oBAED,EAAE,CAAC,kBAAkB,EAAE,CAAA;oBAEvB,IAAI,KAAK,EAAE;wBACT,MAAM,CAAC,KAAK,CAAC,CAAA;qBACd;yBAAM;wBACL,OAAO,CAAC,QAAQ,CAAC,CAAA;qBAClB;gBACH,CAAC,CAAC,CAAA;gBAEF,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;oBACtB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;wBACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;qBAC/C;oBAED,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;iBACjC;YACH,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AAthBD,gCAshBC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,MAAM,IAAI,GAAa,EAAE,CAAA;IAEzB,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,SAAS,MAAM,CAAC,CAAS;QACvB,gCAAgC;QAChC,IAAI,OAAO,IAAI,CAAC,KAAK,GAAG,EAAE;YACxB,GAAG,IAAI,IAAI,CAAA;SACZ;QAED,GAAG,IAAI,CAAC,CAAA;QACR,OAAO,GAAG,KAAK,CAAA;IACjB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAE7B,IAAI,CAAC,KAAK,GAAG,EAAE;YACb,IAAI,CAAC,OAAO,EAAE;gBACZ,QAAQ,GAAG,CAAC,QAAQ,CAAA;aACrB;iBAAM;gBACL,MAAM,CAAC,CAAC,CAAC,CAAA;aACV;YACD,SAAQ;SACT;QAED,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,EAAE;YACzB,MAAM,CAAC,CAAC,CAAC,CAAA;YACT,SAAQ;SACT;QAED,IAAI,CAAC,KAAK,IAAI,IAAI,QAAQ,EAAE;YAC1B,OAAO,GAAG,IAAI,CAAA;YACd,SAAQ;SACT;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACd,GAAG,GAAG,EAAE,CAAA;aACT;YACD,SAAQ;SACT;QAED,MAAM,CAAC,CAAC,CAAC,CAAA;KACV;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;QAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;KACtB;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAvDD,4CAuDC;AAED,MAAM,SAAU,SAAQ,MAAM,CAAC,YAAY;IACzC,YAAY,OAAuB,EAAE,QAAgB;QACnD,KAAK,EAAE,CAAA;QAaT,kBAAa,GAAG,KAAK,CAAA,CAAC,4DAA4D;QAClF,iBAAY,GAAG,EAAE,CAAA;QACjB,oBAAe,GAAG,CAAC,CAAA;QACnB,kBAAa,GAAG,KAAK,CAAA,CAAC,wCAAwC;QAC9D,kBAAa,GAAG,KAAK,CAAA,CAAC,uCAAuC;QACrD,UAAK,GAAG,KAAK,CAAA,CAAC,aAAa;QAC3B,SAAI,GAAG,KAAK,CAAA;QAEZ,YAAO,GAAwB,IAAI,CAAA;QAnBzC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC9C;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;SAC3B;IACH,CAAC;IAaD,aAAa;QACX,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAM;SACP;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,UAAU,EAAE,CAAA;SAClB;aAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,mBAAU,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;SACrE;IACH,CAAC;IAEO,MAAM,CAAC,OAAe;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7B,CAAC;IAEO,UAAU;QAChB,sCAAsC;QACtC,IAAI,KAAwB,CAAA;QAC5B,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,KAAK,GAAG,IAAI,KAAK,CACf,8DAA8D,IAAI,CAAC,QAAQ,4DAA4D,IAAI,CAAC,YAAY,EAAE,CAC3J,CAAA;aACF;iBAAM,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;gBACvE,KAAK,GAAG,IAAI,KAAK,CACf,gBAAgB,IAAI,CAAC,QAAQ,2BAA2B,IAAI,CAAC,eAAe,EAAE,CAC/E,CAAA;aACF;iBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC1D,KAAK,GAAG,IAAI,KAAK,CACf,gBAAgB,IAAI,CAAC,QAAQ,sEAAsE,CACpG,CAAA;aACF;SACF;QAED,oBAAoB;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;SACpB;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;IAChD,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAAgB;QAC3C,IAAI,KAAK,CAAC,IAAI,EAAE;YACd,OAAM;SACP;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE;YAC/C,MAAM,OAAO,GAAG,0CAA0C,KAAK,CAAC,KAAK;gBACnE,IAAI,4CACJ,KAAK,CAAC,QACR,0FAA0F,CAAA;YAC1F,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;SACtB;QAED,KAAK,CAAC,UAAU,EAAE,CAAA;IACpB,CAAC;CACF"} \ No newline at end of file diff --git a/node_modules/@actions/exec/package.json b/node_modules/@actions/exec/package.json new file mode 100644 index 00000000..bc4d77a2 --- /dev/null +++ b/node_modules/@actions/exec/package.json @@ -0,0 +1,41 @@ +{ + "name": "@actions/exec", + "version": "1.1.1", + "description": "Actions exec lib", + "keywords": [ + "github", + "actions", + "exec" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/exec", + "license": "MIT", + "main": "lib/exec.js", + "types": "lib/exec.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/exec" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "dependencies": { + "@actions/io": "^1.0.1" + } +} diff --git a/node_modules/@actions/github/LICENSE.md b/node_modules/@actions/github/LICENSE.md new file mode 100644 index 00000000..dbae2edb --- /dev/null +++ b/node_modules/@actions/github/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright 2019 GitHub + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@actions/github/README.md b/node_modules/@actions/github/README.md new file mode 100644 index 00000000..30e6a68e --- /dev/null +++ b/node_modules/@actions/github/README.md @@ -0,0 +1,98 @@ +# `@actions/github` + +> A hydrated Octokit client. + +## Usage + +Returns an authenticated Octokit client that follows the machine [proxy settings](https://help.github.com/en/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners) and correctly sets GHES base urls. See https://octokit.github.io/rest.js for the API. + +```js +const github = require('@actions/github'); +const core = require('@actions/core'); + +async function run() { + // This should be a token with access to your repository scoped in as a secret. + // The YML workflow will need to set myToken with the GitHub Secret Token + // myToken: ${{ secrets.GITHUB_TOKEN }} + // https://help.github.com/en/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token#about-the-github_token-secret + const myToken = core.getInput('myToken'); + + const octokit = github.getOctokit(myToken) + + // You can also pass in additional options as a second parameter to getOctokit + // const octokit = github.getOctokit(myToken, {userAgent: "MyActionVersion1"}); + + const { data: pullRequest } = await octokit.rest.pulls.get({ + owner: 'octokit', + repo: 'rest.js', + pull_number: 123, + mediaType: { + format: 'diff' + } + }); + + console.log(pullRequest); +} + +run(); +``` + +You can also make GraphQL requests. See https://github.com/octokit/graphql.js for the API. + +```js +const result = await octokit.graphql(query, variables); +``` + +Finally, you can get the context of the current action: + +```js +const github = require('@actions/github'); + +const context = github.context; + +const newIssue = await octokit.rest.issues.create({ + ...context.repo, + title: 'New issue!', + body: 'Hello Universe!' +}); +``` + +## Webhook payload typescript definitions + +The npm module `@octokit/webhooks-definitions` provides type definitions for the response payloads. You can cast the payload to these types for better type information. + +First, install the npm module `npm install @octokit/webhooks-definitions` + +Then, assert the type based on the eventName +```ts +import * as core from '@actions/core' +import * as github from '@actions/github' +import {PushEvent} from '@octokit/webhooks-definitions/schema' + +if (github.context.eventName === 'push') { + const pushPayload = github.context.payload as PushEvent + core.info(`The head commit is: ${pushPayload.head_commit}`) +} +``` + +## Extending the Octokit instance +`@octokit/core` now supports the [plugin architecture](https://github.com/octokit/core.js#plugins). You can extend the GitHub instance using plugins. + +For example, using the `@octokit/plugin-enterprise-server` you can now access enterprise admin apis on GHES instances. + +```ts +import { GitHub, getOctokitOptions } from '@actions/github/lib/utils' +import { enterpriseServer220Admin } from '@octokit/plugin-enterprise-server' + +const octokit = GitHub.plugin(enterpriseServer220Admin) +// or override some of the default values as well +// const octokit = GitHub.plugin(enterpriseServer220Admin).defaults({userAgent: "MyNewUserAgent"}) + +const myToken = core.getInput('myToken'); +const myOctokit = new octokit(getOctokitOptions(token)) +// Create a new user +myOctokit.rest.enterpriseAdmin.createUser({ + login: "testuser", + email: "testuser@test.com", +}); +``` diff --git a/node_modules/@actions/github/lib/context.d.ts b/node_modules/@actions/github/lib/context.d.ts new file mode 100644 index 00000000..7d3a7de4 --- /dev/null +++ b/node_modules/@actions/github/lib/context.d.ts @@ -0,0 +1,32 @@ +import { WebhookPayload } from './interfaces'; +export declare class Context { + /** + * Webhook payload object that triggered the workflow + */ + payload: WebhookPayload; + eventName: string; + sha: string; + ref: string; + workflow: string; + action: string; + actor: string; + job: string; + runNumber: number; + runId: number; + apiUrl: string; + serverUrl: string; + graphqlUrl: string; + /** + * Hydrate the context from the environment + */ + constructor(); + get issue(): { + owner: string; + repo: string; + number: number; + }; + get repo(): { + owner: string; + repo: string; + }; +} diff --git a/node_modules/@actions/github/lib/context.js b/node_modules/@actions/github/lib/context.js new file mode 100644 index 00000000..767933ce --- /dev/null +++ b/node_modules/@actions/github/lib/context.js @@ -0,0 +1,54 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Context = void 0; +const fs_1 = require("fs"); +const os_1 = require("os"); +class Context { + /** + * Hydrate the context from the environment + */ + constructor() { + var _a, _b, _c; + this.payload = {}; + if (process.env.GITHUB_EVENT_PATH) { + if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); + } + else { + const path = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); + } + } + this.eventName = process.env.GITHUB_EVENT_NAME; + this.sha = process.env.GITHUB_SHA; + this.ref = process.env.GITHUB_REF; + this.workflow = process.env.GITHUB_WORKFLOW; + this.action = process.env.GITHUB_ACTION; + this.actor = process.env.GITHUB_ACTOR; + this.job = process.env.GITHUB_JOB; + this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); + this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); + this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; + this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; + this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; + } + get issue() { + const payload = this.payload; + return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); + } + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); + return { owner, repo }; + } + if (this.payload.repository) { + return { + owner: this.payload.repository.owner.login, + repo: this.payload.repository.name + }; + } + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); + } +} +exports.Context = Context; +//# sourceMappingURL=context.js.map \ No newline at end of file diff --git a/node_modules/@actions/github/lib/context.js.map b/node_modules/@actions/github/lib/context.js.map new file mode 100644 index 00000000..91fb9a9d --- /dev/null +++ b/node_modules/@actions/github/lib/context.js.map @@ -0,0 +1 @@ +{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAEA,2BAA2C;AAC3C,2BAAsB;AAEtB,MAAa,OAAO;IAmBlB;;OAEG;IACH;;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,IAAI,eAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;gBAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACvB,iBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAChE,CAAA;aACF;iBAAM;gBACL,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,QAAG,EAAE,CAAC,CAAA;aACvE;SACF;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAA2B,CAAA;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAyB,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAuB,CAAA;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsB,CAAA;QAC/C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAA2B,EAAE,EAAE,CAAC,CAAA;QACtE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAuB,EAAE,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,SAAG,OAAO,CAAC,GAAG,CAAC,cAAc,mCAAI,wBAAwB,CAAA;QACpE,IAAI,CAAC,SAAS,SAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,mCAAI,oBAAoB,CAAA;QACtE,IAAI,CAAC,UAAU,SACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,mCAAI,gCAAgC,CAAA;IACtE,CAAC;IAED,IAAI,KAAK;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,uCACK,IAAI,CAAC,IAAI,KACZ,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,MAAM,IAClE;IACH,CAAC;IAED,IAAI,IAAI;QACN,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAA;SACrB;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;gBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;aACnC,CAAA;SACF;QAED,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;CACF;AA3ED,0BA2EC"} \ No newline at end of file diff --git a/node_modules/@actions/github/lib/github.d.ts b/node_modules/@actions/github/lib/github.d.ts new file mode 100644 index 00000000..8c2121d2 --- /dev/null +++ b/node_modules/@actions/github/lib/github.d.ts @@ -0,0 +1,11 @@ +import * as Context from './context'; +import { GitHub } from './utils'; +import { OctokitOptions, OctokitPlugin } from '@octokit/core/dist-types/types'; +export declare const context: Context.Context; +/** + * Returns a hydrated octokit ready to use for GitHub Actions + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +export declare function getOctokit(token: string, options?: OctokitOptions, ...additionalPlugins: OctokitPlugin[]): InstanceType; diff --git a/node_modules/@actions/github/lib/github.js b/node_modules/@actions/github/lib/github.js new file mode 100644 index 00000000..b717a6b4 --- /dev/null +++ b/node_modules/@actions/github/lib/github.js @@ -0,0 +1,37 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getOctokit = exports.context = void 0; +const Context = __importStar(require("./context")); +const utils_1 = require("./utils"); +exports.context = new Context.Context(); +/** + * Returns a hydrated octokit ready to use for GitHub Actions + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokit(token, options, ...additionalPlugins) { + const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); + return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options)); +} +exports.getOctokit = getOctokit; +//# sourceMappingURL=github.js.map \ No newline at end of file diff --git a/node_modules/@actions/github/lib/github.js.map b/node_modules/@actions/github/lib/github.js.map new file mode 100644 index 00000000..60be74b5 --- /dev/null +++ b/node_modules/@actions/github/lib/github.js.map @@ -0,0 +1 @@ +{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,mCAAiD;AAKpC,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C;;;;;GAKG;AACH,SAAgB,UAAU,CACxB,KAAa,EACb,OAAwB,EACxB,GAAG,iBAAkC;IAErC,MAAM,iBAAiB,GAAG,cAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAC7D,OAAO,IAAI,iBAAiB,CAAC,yBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACjE,CAAC;AAPD,gCAOC"} \ No newline at end of file diff --git a/node_modules/@actions/github/lib/interfaces.d.ts b/node_modules/@actions/github/lib/interfaces.d.ts new file mode 100644 index 00000000..f8103332 --- /dev/null +++ b/node_modules/@actions/github/lib/interfaces.d.ts @@ -0,0 +1,40 @@ +export interface PayloadRepository { + [key: string]: any; + full_name?: string; + name: string; + owner: { + [key: string]: any; + login: string; + name?: string; + }; + html_url?: string; +} +export interface WebhookPayload { + [key: string]: any; + repository?: PayloadRepository; + issue?: { + [key: string]: any; + number: number; + html_url?: string; + body?: string; + }; + pull_request?: { + [key: string]: any; + number: number; + html_url?: string; + body?: string; + }; + sender?: { + [key: string]: any; + type: string; + }; + action?: string; + installation?: { + id: number; + [key: string]: any; + }; + comment?: { + id: number; + [key: string]: any; + }; +} diff --git a/node_modules/@actions/github/lib/interfaces.js b/node_modules/@actions/github/lib/interfaces.js new file mode 100644 index 00000000..a660b5e3 --- /dev/null +++ b/node_modules/@actions/github/lib/interfaces.js @@ -0,0 +1,4 @@ +"use strict"; +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/node_modules/@actions/github/lib/interfaces.js.map b/node_modules/@actions/github/lib/interfaces.js.map new file mode 100644 index 00000000..dc2c9609 --- /dev/null +++ b/node_modules/@actions/github/lib/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA,uDAAuD"} \ No newline at end of file diff --git a/node_modules/@actions/github/lib/internal/utils.d.ts b/node_modules/@actions/github/lib/internal/utils.d.ts new file mode 100644 index 00000000..5790d91f --- /dev/null +++ b/node_modules/@actions/github/lib/internal/utils.d.ts @@ -0,0 +1,6 @@ +/// +import * as http from 'http'; +import { OctokitOptions } from '@octokit/core/dist-types/types'; +export declare function getAuthString(token: string, options: OctokitOptions): string | undefined; +export declare function getProxyAgent(destinationUrl: string): http.Agent; +export declare function getApiBaseUrl(): string; diff --git a/node_modules/@actions/github/lib/internal/utils.js b/node_modules/@actions/github/lib/internal/utils.js new file mode 100644 index 00000000..175a4dae --- /dev/null +++ b/node_modules/@actions/github/lib/internal/utils.js @@ -0,0 +1,43 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0; +const httpClient = __importStar(require("@actions/http-client")); +function getAuthString(token, options) { + if (!token && !options.auth) { + throw new Error('Parameter token or opts.auth is required'); + } + else if (token && options.auth) { + throw new Error('Parameters token and opts.auth may not both be specified'); + } + return typeof options.auth === 'string' ? options.auth : `token ${token}`; +} +exports.getAuthString = getAuthString; +function getProxyAgent(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgent(destinationUrl); +} +exports.getProxyAgent = getProxyAgent; +function getApiBaseUrl() { + return process.env['GITHUB_API_URL'] || 'https://api.github.com'; +} +exports.getApiBaseUrl = getApiBaseUrl; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/github/lib/internal/utils.js.map b/node_modules/@actions/github/lib/internal/utils.js.map new file mode 100644 index 00000000..f1f519d5 --- /dev/null +++ b/node_modules/@actions/github/lib/internal/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,iEAAkD;AAGlD,SAAgB,aAAa,CAC3B,KAAa,EACb,OAAuB;IAEvB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;SAAM,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;KAC5E;IAED,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAA;AAC3E,CAAC;AAXD,sCAWC;AAED,SAAgB,aAAa,CAAC,cAAsB;IAClD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AACpC,CAAC;AAHD,sCAGC;AAED,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,wBAAwB,CAAA;AAClE,CAAC;AAFD,sCAEC"} \ No newline at end of file diff --git a/node_modules/@actions/github/lib/utils.d.ts b/node_modules/@actions/github/lib/utils.d.ts new file mode 100644 index 00000000..e889ee0e --- /dev/null +++ b/node_modules/@actions/github/lib/utils.d.ts @@ -0,0 +1,15 @@ +import * as Context from './context'; +import { Octokit } from '@octokit/core'; +import { OctokitOptions } from '@octokit/core/dist-types/types'; +export declare const context: Context.Context; +export declare const defaults: OctokitOptions; +export declare const GitHub: typeof Octokit & import("@octokit/core/dist-types/types").Constructor; +/** + * Convience function to correctly format Octokit Options to pass into the constructor. + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +export declare function getOctokitOptions(token: string, options?: OctokitOptions): OctokitOptions; diff --git a/node_modules/@actions/github/lib/utils.js b/node_modules/@actions/github/lib/utils.js new file mode 100644 index 00000000..d803f019 --- /dev/null +++ b/node_modules/@actions/github/lib/utils.js @@ -0,0 +1,54 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0; +const Context = __importStar(require("./context")); +const Utils = __importStar(require("./internal/utils")); +// octokit + plugins +const core_1 = require("@octokit/core"); +const plugin_rest_endpoint_methods_1 = require("@octokit/plugin-rest-endpoint-methods"); +const plugin_paginate_rest_1 = require("@octokit/plugin-paginate-rest"); +exports.context = new Context.Context(); +const baseUrl = Utils.getApiBaseUrl(); +exports.defaults = { + baseUrl, + request: { + agent: Utils.getProxyAgent(baseUrl) + } +}; +exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults); +/** + * Convience function to correctly format Octokit Options to pass into the constructor. + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokitOptions(token, options) { + const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller + // Auth + const auth = Utils.getAuthString(token, opts); + if (auth) { + opts.auth = auth; + } + return opts; +} +exports.getOctokitOptions = getOctokitOptions; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/github/lib/utils.js.map b/node_modules/@actions/github/lib/utils.js.map new file mode 100644 index 00000000..7221d068 --- /dev/null +++ b/node_modules/@actions/github/lib/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,wDAAyC;AAEzC,oBAAoB;AACpB,wCAAqC;AAErC,wFAAyE;AACzE,wEAA0D;AAE7C,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;AACxB,QAAA,QAAQ,GAAmB;IACtC,OAAO;IACP,OAAO,EAAE;QACP,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;KACpC;CACF,CAAA;AAEY,QAAA,MAAM,GAAG,cAAO,CAAC,MAAM,CAClC,kDAAmB,EACnB,mCAAY,CACb,CAAC,QAAQ,CAAC,gBAAQ,CAAC,CAAA;AAEpB;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,KAAa,EACb,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA,CAAC,iEAAiE;IAE/G,OAAO;IACP,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7C,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAbD,8CAaC"} \ No newline at end of file diff --git a/node_modules/@actions/github/package.json b/node_modules/@actions/github/package.json new file mode 100644 index 00000000..3bcbe30c --- /dev/null +++ b/node_modules/@actions/github/package.json @@ -0,0 +1,49 @@ +{ + "name": "@actions/github", + "version": "5.1.1", + "description": "Actions github lib", + "keywords": [ + "github", + "actions" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/github", + "license": "MIT", + "main": "lib/github.js", + "types": "lib/github.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/github" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "jest", + "build": "tsc", + "format": "prettier --write **/*.ts", + "format-check": "prettier --check **/*.ts", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "dependencies": { + "@actions/http-client": "^2.0.1", + "@octokit/core": "^3.6.0", + "@octokit/plugin-paginate-rest": "^2.17.0", + "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + }, + "devDependencies": { + "proxy": "^1.0.2" + } +} diff --git a/node_modules/@actions/glob/LICENSE.md b/node_modules/@actions/glob/LICENSE.md new file mode 100644 index 00000000..dbae2edb --- /dev/null +++ b/node_modules/@actions/glob/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright 2019 GitHub + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@actions/glob/README.md b/node_modules/@actions/glob/README.md new file mode 100644 index 00000000..9575beaa --- /dev/null +++ b/node_modules/@actions/glob/README.md @@ -0,0 +1,113 @@ +# `@actions/glob` + +## Usage + +### Basic + +You can use this package to search for files matching glob patterns. + +Relative paths and absolute paths are both allowed. Relative paths are rooted against the current working directory. + +```js +const glob = require('@actions/glob'); + +const patterns = ['**/tar.gz', '**/tar.bz'] +const globber = await glob.create(patterns.join('\n')) +const files = await globber.glob() +``` + +### Opt out of following symbolic links + +```js +const glob = require('@actions/glob'); + +const globber = await glob.create('**', {followSymbolicLinks: false}) +const files = await globber.glob() +``` + +### Iterator + +When dealing with a large amount of results, consider iterating the results as they are returned: + +```js +const glob = require('@actions/glob'); + +const globber = await glob.create('**') +for await (const file of globber.globGenerator()) { + console.log(file) +} +``` + +## Recommended action inputs + +Glob follows symbolic links by default. Following is often appropriate unless deleting files. + +Users may want to opt-out from following symbolic links for other reasons. For example, +excessive amounts of symbolic links can create the appearance of very, very many files +and slow the search. + +When an action allows a user to specify input patterns, it is generally recommended to +allow users to opt-out from following symbolic links. + +Snippet from `action.yml`: + +```yaml +inputs: + files: + description: 'Files to print' + required: true + follow-symbolic-links: + description: 'Indicates whether to follow symbolic links' + default: true +``` + +And corresponding toolkit consumption: + +```js +const core = require('@actions/core') +const glob = require('@actions/glob') + +const globOptions = { + followSymbolicLinks: core.getInput('follow-symbolic-links').toUpper() !== 'FALSE' +} +const globber = glob.create(core.getInput('files'), globOptions) +for await (const file of globber.globGenerator()) { + console.log(file) +} +``` + +## Patterns + +### Glob behavior + +Patterns `*`, `?`, `[...]`, `**` (globstar) are supported. + +With the following behaviors: +- File names that begin with `.` may be included in the results +- Case insensitive on Windows +- Directory separator `/` and `\` both supported on Windows + +### Tilde expansion + +Supports basic tilde expansion, for current user HOME replacement only. + +Example: +- `~` may expand to /Users/johndoe +- `~/foo` may expand to /Users/johndoe/foo + +### Comments + +Patterns that begin with `#` are treated as comments. + +### Exclude patterns + +Leading `!` changes the meaning of an include pattern to exclude. + +Multiple leading `!` flips the meaning. + +### Escaping + +Wrapping special characters in `[]` can be used to escape literal glob characters +in a file name. For example the literal file name `hello[a-z]` can be escaped as `hello[[]a-z]`. + +On Linux/macOS `\` is also treated as an escape character. diff --git a/node_modules/@actions/glob/lib/glob.d.ts b/node_modules/@actions/glob/lib/glob.d.ts new file mode 100644 index 00000000..8981adef --- /dev/null +++ b/node_modules/@actions/glob/lib/glob.d.ts @@ -0,0 +1,18 @@ +import { Globber } from './internal-globber'; +import { GlobOptions } from './internal-glob-options'; +import { HashFileOptions } from './internal-hash-file-options'; +export { Globber, GlobOptions }; +/** + * Constructs a globber + * + * @param patterns Patterns separated by newlines + * @param options Glob options + */ +export declare function create(patterns: string, options?: GlobOptions): Promise; +/** + * Computes the sha256 hash of a glob + * + * @param patterns Patterns separated by newlines + * @param options Glob options + */ +export declare function hashFiles(patterns: string, options?: HashFileOptions, verbose?: Boolean): Promise; diff --git a/node_modules/@actions/glob/lib/glob.js b/node_modules/@actions/glob/lib/glob.js new file mode 100644 index 00000000..95f98e45 --- /dev/null +++ b/node_modules/@actions/glob/lib/glob.js @@ -0,0 +1,44 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hashFiles = exports.create = void 0; +const internal_globber_1 = require("./internal-globber"); +const internal_hash_files_1 = require("./internal-hash-files"); +/** + * Constructs a globber + * + * @param patterns Patterns separated by newlines + * @param options Glob options + */ +function create(patterns, options) { + return __awaiter(this, void 0, void 0, function* () { + return yield internal_globber_1.DefaultGlobber.create(patterns, options); + }); +} +exports.create = create; +/** + * Computes the sha256 hash of a glob + * + * @param patterns Patterns separated by newlines + * @param options Glob options + */ +function hashFiles(patterns, options, verbose = false) { + return __awaiter(this, void 0, void 0, function* () { + let followSymbolicLinks = true; + if (options && typeof options.followSymbolicLinks === 'boolean') { + followSymbolicLinks = options.followSymbolicLinks; + } + const globber = yield create(patterns, { followSymbolicLinks }); + return internal_hash_files_1.hashFiles(globber, verbose); + }); +} +exports.hashFiles = hashFiles; +//# sourceMappingURL=glob.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/glob.js.map b/node_modules/@actions/glob/lib/glob.js.map new file mode 100644 index 00000000..46bc0837 --- /dev/null +++ b/node_modules/@actions/glob/lib/glob.js.map @@ -0,0 +1 @@ +{"version":3,"file":"glob.js","sourceRoot":"","sources":["../src/glob.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA0D;AAG1D,+DAA6D;AAI7D;;;;;GAKG;AACH,SAAsB,MAAM,CAC1B,QAAgB,EAChB,OAAqB;;QAErB,OAAO,MAAM,iCAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACvD,CAAC;CAAA;AALD,wBAKC;AAED;;;;;GAKG;AACH,SAAsB,SAAS,CAC7B,QAAgB,EAChB,OAAyB,EACzB,UAAmB,KAAK;;QAExB,IAAI,mBAAmB,GAAG,IAAI,CAAA;QAC9B,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,mBAAmB,KAAK,SAAS,EAAE;YAC/D,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;SAClD;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,EAAC,mBAAmB,EAAC,CAAC,CAAA;QAC7D,OAAO,+BAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;CAAA;AAXD,8BAWC"} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-glob-options-helper.d.ts b/node_modules/@actions/glob/lib/internal-glob-options-helper.d.ts new file mode 100644 index 00000000..8a789606 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-glob-options-helper.d.ts @@ -0,0 +1,5 @@ +import { GlobOptions } from './internal-glob-options'; +/** + * Returns a copy with defaults filled in. + */ +export declare function getOptions(copy?: GlobOptions): GlobOptions; diff --git a/node_modules/@actions/glob/lib/internal-glob-options-helper.js b/node_modules/@actions/glob/lib/internal-glob-options-helper.js new file mode 100644 index 00000000..bd3391ba --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-glob-options-helper.js @@ -0,0 +1,55 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getOptions = void 0; +const core = __importStar(require("@actions/core")); +/** + * Returns a copy with defaults filled in. + */ +function getOptions(copy) { + const result = { + followSymbolicLinks: true, + implicitDescendants: true, + matchDirectories: true, + omitBrokenSymbolicLinks: true + }; + if (copy) { + if (typeof copy.followSymbolicLinks === 'boolean') { + result.followSymbolicLinks = copy.followSymbolicLinks; + core.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`); + } + if (typeof copy.implicitDescendants === 'boolean') { + result.implicitDescendants = copy.implicitDescendants; + core.debug(`implicitDescendants '${result.implicitDescendants}'`); + } + if (typeof copy.matchDirectories === 'boolean') { + result.matchDirectories = copy.matchDirectories; + core.debug(`matchDirectories '${result.matchDirectories}'`); + } + if (typeof copy.omitBrokenSymbolicLinks === 'boolean') { + result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks; + core.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`); + } + } + return result; +} +exports.getOptions = getOptions; +//# sourceMappingURL=internal-glob-options-helper.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-glob-options-helper.js.map b/node_modules/@actions/glob/lib/internal-glob-options-helper.js.map new file mode 100644 index 00000000..d2a918c3 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-glob-options-helper.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-glob-options-helper.js","sourceRoot":"","sources":["../src/internal-glob-options-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AAGrC;;GAEG;AACH,SAAgB,UAAU,CAAC,IAAkB;IAC3C,MAAM,MAAM,GAAgB;QAC1B,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,IAAI;QACzB,gBAAgB,EAAE,IAAI;QACtB,uBAAuB,EAAE,IAAI;KAC9B,CAAA;IAED,IAAI,IAAI,EAAE;QACR,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE;YACjD,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;YACrD,IAAI,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,mBAAmB,GAAG,CAAC,CAAA;SAClE;QAED,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE;YACjD,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;YACrD,IAAI,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,mBAAmB,GAAG,CAAC,CAAA;SAClE;QAED,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YAC9C,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;YAC/C,IAAI,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAA;SAC5D;QAED,IAAI,OAAO,IAAI,CAAC,uBAAuB,KAAK,SAAS,EAAE;YACrD,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAA;YAC7D,IAAI,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,uBAAuB,GAAG,CAAC,CAAA;SAC1E;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA/BD,gCA+BC"} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-glob-options.d.ts b/node_modules/@actions/glob/lib/internal-glob-options.d.ts new file mode 100644 index 00000000..fe048599 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-glob-options.d.ts @@ -0,0 +1,36 @@ +/** + * Options to control globbing behavior + */ +export interface GlobOptions { + /** + * Indicates whether to follow symbolic links. Generally should set to false + * when deleting files. + * + * @default true + */ + followSymbolicLinks?: boolean; + /** + * Indicates whether directories that match a glob pattern, should implicitly + * cause all descendant paths to be matched. + * + * For example, given the directory `my-dir`, the following glob patterns + * would produce the same results: `my-dir/**`, `my-dir/`, `my-dir` + * + * @default true + */ + implicitDescendants?: boolean; + /** + * Indicates whether matching directories should be included in the + * result set. + * + * @default true + */ + matchDirectories?: boolean; + /** + * Indicates whether broken symbolic should be ignored and omitted from the + * result set. Otherwise an error will be thrown. + * + * @default true + */ + omitBrokenSymbolicLinks?: boolean; +} diff --git a/node_modules/@actions/glob/lib/internal-glob-options.js b/node_modules/@actions/glob/lib/internal-glob-options.js new file mode 100644 index 00000000..8960c70e --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-glob-options.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=internal-glob-options.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-glob-options.js.map b/node_modules/@actions/glob/lib/internal-glob-options.js.map new file mode 100644 index 00000000..dec79532 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-glob-options.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-glob-options.js","sourceRoot":"","sources":["../src/internal-glob-options.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-globber.d.ts b/node_modules/@actions/glob/lib/internal-globber.d.ts new file mode 100644 index 00000000..6d0036bf --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-globber.d.ts @@ -0,0 +1,42 @@ +import { GlobOptions } from './internal-glob-options'; +export { GlobOptions }; +/** + * Used to match files and directories + */ +export interface Globber { + /** + * Returns the search path preceding the first glob segment, from each pattern. + * Duplicates and descendants of other paths are filtered out. + * + * Example 1: The patterns `/foo/*` and `/bar/*` returns `/foo` and `/bar`. + * + * Example 2: The patterns `/foo/*` and `/foo/bar/*` returns `/foo`. + */ + getSearchPaths(): string[]; + /** + * Returns files and directories matching the glob patterns. + * + * Order of the results is not guaranteed. + */ + glob(): Promise; + /** + * Returns files and directories matching the glob patterns. + * + * Order of the results is not guaranteed. + */ + globGenerator(): AsyncGenerator; +} +export declare class DefaultGlobber implements Globber { + private readonly options; + private readonly patterns; + private readonly searchPaths; + private constructor(); + getSearchPaths(): string[]; + glob(): Promise; + globGenerator(): AsyncGenerator; + /** + * Constructs a DefaultGlobber + */ + static create(patterns: string, options?: GlobOptions): Promise; + private static stat; +} diff --git a/node_modules/@actions/glob/lib/internal-globber.js b/node_modules/@actions/glob/lib/internal-globber.js new file mode 100644 index 00000000..788fb773 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-globber.js @@ -0,0 +1,235 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __asyncValues = (this && this.__asyncValues) || function (o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } +}; +var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } +var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DefaultGlobber = void 0; +const core = __importStar(require("@actions/core")); +const fs = __importStar(require("fs")); +const globOptionsHelper = __importStar(require("./internal-glob-options-helper")); +const path = __importStar(require("path")); +const patternHelper = __importStar(require("./internal-pattern-helper")); +const internal_match_kind_1 = require("./internal-match-kind"); +const internal_pattern_1 = require("./internal-pattern"); +const internal_search_state_1 = require("./internal-search-state"); +const IS_WINDOWS = process.platform === 'win32'; +class DefaultGlobber { + constructor(options) { + this.patterns = []; + this.searchPaths = []; + this.options = globOptionsHelper.getOptions(options); + } + getSearchPaths() { + // Return a copy + return this.searchPaths.slice(); + } + glob() { + var e_1, _a; + return __awaiter(this, void 0, void 0, function* () { + const result = []; + try { + for (var _b = __asyncValues(this.globGenerator()), _c; _c = yield _b.next(), !_c.done;) { + const itemPath = _c.value; + result.push(itemPath); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } + return result; + }); + } + globGenerator() { + return __asyncGenerator(this, arguments, function* globGenerator_1() { + // Fill in defaults options + const options = globOptionsHelper.getOptions(this.options); + // Implicit descendants? + const patterns = []; + for (const pattern of this.patterns) { + patterns.push(pattern); + if (options.implicitDescendants && + (pattern.trailingSeparator || + pattern.segments[pattern.segments.length - 1] !== '**')) { + patterns.push(new internal_pattern_1.Pattern(pattern.negate, true, pattern.segments.concat('**'))); + } + } + // Push the search paths + const stack = []; + for (const searchPath of patternHelper.getSearchPaths(patterns)) { + core.debug(`Search path '${searchPath}'`); + // Exists? + try { + // Intentionally using lstat. Detection for broken symlink + // will be performed later (if following symlinks). + yield __await(fs.promises.lstat(searchPath)); + } + catch (err) { + if (err.code === 'ENOENT') { + continue; + } + throw err; + } + stack.unshift(new internal_search_state_1.SearchState(searchPath, 1)); + } + // Search + const traversalChain = []; // used to detect cycles + while (stack.length) { + // Pop + const item = stack.pop(); + // Match? + const match = patternHelper.match(patterns, item.path); + const partialMatch = !!match || patternHelper.partialMatch(patterns, item.path); + if (!match && !partialMatch) { + continue; + } + // Stat + const stats = yield __await(DefaultGlobber.stat(item, options, traversalChain) + // Broken symlink, or symlink cycle detected, or no longer exists + ); + // Broken symlink, or symlink cycle detected, or no longer exists + if (!stats) { + continue; + } + // Directory + if (stats.isDirectory()) { + // Matched + if (match & internal_match_kind_1.MatchKind.Directory && options.matchDirectories) { + yield yield __await(item.path); + } + // Descend? + else if (!partialMatch) { + continue; + } + // Push the child items in reverse + const childLevel = item.level + 1; + const childItems = (yield __await(fs.promises.readdir(item.path))).map(x => new internal_search_state_1.SearchState(path.join(item.path, x), childLevel)); + stack.push(...childItems.reverse()); + } + // File + else if (match & internal_match_kind_1.MatchKind.File) { + yield yield __await(item.path); + } + } + }); + } + /** + * Constructs a DefaultGlobber + */ + static create(patterns, options) { + return __awaiter(this, void 0, void 0, function* () { + const result = new DefaultGlobber(options); + if (IS_WINDOWS) { + patterns = patterns.replace(/\r\n/g, '\n'); + patterns = patterns.replace(/\r/g, '\n'); + } + const lines = patterns.split('\n').map(x => x.trim()); + for (const line of lines) { + // Empty or comment + if (!line || line.startsWith('#')) { + continue; + } + // Pattern + else { + result.patterns.push(new internal_pattern_1.Pattern(line)); + } + } + result.searchPaths.push(...patternHelper.getSearchPaths(result.patterns)); + return result; + }); + } + static stat(item, options, traversalChain) { + return __awaiter(this, void 0, void 0, function* () { + // Note: + // `stat` returns info about the target of a symlink (or symlink chain) + // `lstat` returns info about a symlink itself + let stats; + if (options.followSymbolicLinks) { + try { + // Use `stat` (following symlinks) + stats = yield fs.promises.stat(item.path); + } + catch (err) { + if (err.code === 'ENOENT') { + if (options.omitBrokenSymbolicLinks) { + core.debug(`Broken symlink '${item.path}'`); + return undefined; + } + throw new Error(`No information found for the path '${item.path}'. This may indicate a broken symbolic link.`); + } + throw err; + } + } + else { + // Use `lstat` (not following symlinks) + stats = yield fs.promises.lstat(item.path); + } + // Note, isDirectory() returns false for the lstat of a symlink + if (stats.isDirectory() && options.followSymbolicLinks) { + // Get the realpath + const realPath = yield fs.promises.realpath(item.path); + // Fixup the traversal chain to match the item level + while (traversalChain.length >= item.level) { + traversalChain.pop(); + } + // Test for a cycle + if (traversalChain.some((x) => x === realPath)) { + core.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`); + return undefined; + } + // Update the traversal chain + traversalChain.push(realPath); + } + return stats; + }); + } +} +exports.DefaultGlobber = DefaultGlobber; +//# sourceMappingURL=internal-globber.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-globber.js.map b/node_modules/@actions/glob/lib/internal-globber.js.map new file mode 100644 index 00000000..a060d4c0 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-globber.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-globber.js","sourceRoot":"","sources":["../src/internal-globber.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AACrC,uCAAwB;AACxB,kFAAmE;AACnE,2CAA4B;AAC5B,yEAA0D;AAE1D,+DAA+C;AAC/C,yDAA0C;AAC1C,mEAAmD;AAEnD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AAiC/C,MAAa,cAAc;IAKzB,YAAoB,OAAqB;QAHxB,aAAQ,GAAc,EAAE,CAAA;QACxB,gBAAW,GAAa,EAAE,CAAA;QAGzC,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,cAAc;QACZ,gBAAgB;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IACjC,CAAC;IAEK,IAAI;;;YACR,MAAM,MAAM,GAAa,EAAE,CAAA;;gBAC3B,KAA6B,IAAA,KAAA,cAAA,IAAI,CAAC,aAAa,EAAE,CAAA,IAAA;oBAAtC,MAAM,QAAQ,WAAA,CAAA;oBACvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;iBACtB;;;;;;;;;YACD,OAAO,MAAM,CAAA;;KACd;IAEM,aAAa;;YAClB,2BAA2B;YAC3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1D,wBAAwB;YACxB,MAAM,QAAQ,GAAc,EAAE,CAAA;YAC9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACnC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACtB,IACE,OAAO,CAAC,mBAAmB;oBAC3B,CAAC,OAAO,CAAC,iBAAiB;wBACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,EACzD;oBACA,QAAQ,CAAC,IAAI,CACX,IAAI,0BAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACjE,CAAA;iBACF;aACF;YAED,wBAAwB;YAExB,MAAM,KAAK,GAAkB,EAAE,CAAA;YAC/B,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;gBAC/D,IAAI,CAAC,KAAK,CAAC,gBAAgB,UAAU,GAAG,CAAC,CAAA;gBAEzC,UAAU;gBACV,IAAI;oBACF,0DAA0D;oBAC1D,mDAAmD;oBACnD,cAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA,CAAA;iBACpC;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;wBACzB,SAAQ;qBACT;oBACD,MAAM,GAAG,CAAA;iBACV;gBAED,KAAK,CAAC,OAAO,CAAC,IAAI,mCAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;aAC9C;YAED,SAAS;YACT,MAAM,cAAc,GAAa,EAAE,CAAA,CAAC,wBAAwB;YAC5D,OAAO,KAAK,CAAC,MAAM,EAAE;gBACnB,MAAM;gBACN,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAiB,CAAA;gBAEvC,SAAS;gBACT,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtD,MAAM,YAAY,GAChB,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC5D,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;oBAC3B,SAAQ;iBACT;gBAED,OAAO;gBACP,MAAM,KAAK,GAAyB,cAAM,cAAc,CAAC,IAAI,CAC3D,IAAI,EACJ,OAAO,EACP,cAAc,CACf;gBAED,iEAAiE;iBAFhE,CAAA;gBAED,iEAAiE;gBACjE,IAAI,CAAC,KAAK,EAAE;oBACV,SAAQ;iBACT;gBAED,YAAY;gBACZ,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;oBACvB,UAAU;oBACV,IAAI,KAAK,GAAG,+BAAS,CAAC,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE;wBAC3D,oBAAM,IAAI,CAAC,IAAI,CAAA,CAAA;qBAChB;oBACD,WAAW;yBACN,IAAI,CAAC,YAAY,EAAE;wBACtB,SAAQ;qBACT;oBAED,kCAAkC;oBAClC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;oBACjC,MAAM,UAAU,GAAG,CAAC,cAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,GAAG,CAC3D,CAAC,CAAC,EAAE,CAAC,IAAI,mCAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAC1D,CAAA;oBACD,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;iBACpC;gBACD,OAAO;qBACF,IAAI,KAAK,GAAG,+BAAS,CAAC,IAAI,EAAE;oBAC/B,oBAAM,IAAI,CAAC,IAAI,CAAA,CAAA;iBAChB;aACF;QACH,CAAC;KAAA;IAED;;OAEG;IACH,MAAM,CAAO,MAAM,CACjB,QAAgB,EAChB,OAAqB;;YAErB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;YAE1C,IAAI,UAAU,EAAE;gBACd,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAC1C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;aACzC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,mBAAmB;gBACnB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACjC,SAAQ;iBACT;gBACD,UAAU;qBACL;oBACH,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,0BAAO,CAAC,IAAI,CAAC,CAAC,CAAA;iBACxC;aACF;YAED,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;YAEzE,OAAO,MAAM,CAAA;QACf,CAAC;KAAA;IAEO,MAAM,CAAO,IAAI,CACvB,IAAiB,EACjB,OAAoB,EACpB,cAAwB;;YAExB,QAAQ;YACR,uEAAuE;YACvE,8CAA8C;YAC9C,IAAI,KAAe,CAAA;YACnB,IAAI,OAAO,CAAC,mBAAmB,EAAE;gBAC/B,IAAI;oBACF,kCAAkC;oBAClC,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBAC1C;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;wBACzB,IAAI,OAAO,CAAC,uBAAuB,EAAE;4BACnC,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;4BAC3C,OAAO,SAAS,CAAA;yBACjB;wBAED,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,CAAC,IAAI,8CAA8C,CAC9F,CAAA;qBACF;oBAED,MAAM,GAAG,CAAA;iBACV;aACF;iBAAM;gBACL,uCAAuC;gBACvC,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aAC3C;YAED,+DAA+D;YAC/D,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,mBAAmB,EAAE;gBACtD,mBAAmB;gBACnB,MAAM,QAAQ,GAAW,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAE9D,oDAAoD;gBACpD,OAAO,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE;oBAC1C,cAAc,CAAC,GAAG,EAAE,CAAA;iBACrB;gBAED,mBAAmB;gBACnB,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE;oBACtD,IAAI,CAAC,KAAK,CACR,oCAAoC,IAAI,CAAC,IAAI,mBAAmB,QAAQ,GAAG,CAC5E,CAAA;oBACD,OAAO,SAAS,CAAA;iBACjB;gBAED,6BAA6B;gBAC7B,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aAC9B;YAED,OAAO,KAAK,CAAA;QACd,CAAC;KAAA;CACF;AAvMD,wCAuMC"} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-hash-file-options.d.ts b/node_modules/@actions/glob/lib/internal-hash-file-options.d.ts new file mode 100644 index 00000000..57c6d3a7 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-hash-file-options.d.ts @@ -0,0 +1,12 @@ +/** + * Options to control globbing behavior + */ +export interface HashFileOptions { + /** + * Indicates whether to follow symbolic links. Generally should set to false + * when deleting files. + * + * @default true + */ + followSymbolicLinks?: boolean; +} diff --git a/node_modules/@actions/glob/lib/internal-hash-file-options.js b/node_modules/@actions/glob/lib/internal-hash-file-options.js new file mode 100644 index 00000000..84362840 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-hash-file-options.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=internal-hash-file-options.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-hash-file-options.js.map b/node_modules/@actions/glob/lib/internal-hash-file-options.js.map new file mode 100644 index 00000000..b0b03049 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-hash-file-options.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-hash-file-options.js","sourceRoot":"","sources":["../src/internal-hash-file-options.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-hash-files.d.ts b/node_modules/@actions/glob/lib/internal-hash-files.d.ts new file mode 100644 index 00000000..4cb1af00 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-hash-files.d.ts @@ -0,0 +1,2 @@ +import { Globber } from './glob'; +export declare function hashFiles(globber: Globber, verbose?: Boolean): Promise; diff --git a/node_modules/@actions/glob/lib/internal-hash-files.js b/node_modules/@actions/glob/lib/internal-hash-files.js new file mode 100644 index 00000000..e313d2bd --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-hash-files.js @@ -0,0 +1,95 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __asyncValues = (this && this.__asyncValues) || function (o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hashFiles = void 0; +const crypto = __importStar(require("crypto")); +const core = __importStar(require("@actions/core")); +const fs = __importStar(require("fs")); +const stream = __importStar(require("stream")); +const util = __importStar(require("util")); +const path = __importStar(require("path")); +function hashFiles(globber, verbose = false) { + var e_1, _a; + var _b; + return __awaiter(this, void 0, void 0, function* () { + const writeDelegate = verbose ? core.info : core.debug; + let hasMatch = false; + const githubWorkspace = (_b = process.env['GITHUB_WORKSPACE']) !== null && _b !== void 0 ? _b : process.cwd(); + const result = crypto.createHash('sha256'); + let count = 0; + try { + for (var _c = __asyncValues(globber.globGenerator()), _d; _d = yield _c.next(), !_d.done;) { + const file = _d.value; + writeDelegate(file); + if (!file.startsWith(`${githubWorkspace}${path.sep}`)) { + writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`); + continue; + } + if (fs.statSync(file).isDirectory()) { + writeDelegate(`Skip directory '${file}'.`); + continue; + } + const hash = crypto.createHash('sha256'); + const pipeline = util.promisify(stream.pipeline); + yield pipeline(fs.createReadStream(file), hash); + result.write(hash.digest()); + count++; + if (!hasMatch) { + hasMatch = true; + } + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c); + } + finally { if (e_1) throw e_1.error; } + } + result.end(); + if (hasMatch) { + writeDelegate(`Found ${count} files to hash.`); + return result.digest('hex'); + } + else { + writeDelegate(`No matches found for glob`); + return ''; + } + }); +} +exports.hashFiles = hashFiles; +//# sourceMappingURL=internal-hash-files.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-hash-files.js.map b/node_modules/@actions/glob/lib/internal-hash-files.js.map new file mode 100644 index 00000000..a62344b8 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-hash-files.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-hash-files.js","sourceRoot":"","sources":["../src/internal-hash-files.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgC;AAChC,oDAAqC;AACrC,uCAAwB;AACxB,+CAAgC;AAChC,2CAA4B;AAC5B,2CAA4B;AAG5B,SAAsB,SAAS,CAC7B,OAAgB,EAChB,UAAmB,KAAK;;;;QAExB,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACtD,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,MAAM,eAAe,SAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QACxE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,KAAK,GAAG,CAAC,CAAA;;YACb,KAAyB,IAAA,KAAA,cAAA,OAAO,CAAC,aAAa,EAAE,CAAA,IAAA;gBAArC,MAAM,IAAI,WAAA,CAAA;gBACnB,aAAa,CAAC,IAAI,CAAC,CAAA;gBACnB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;oBACrD,aAAa,CAAC,WAAW,IAAI,2CAA2C,CAAC,CAAA;oBACzE,SAAQ;iBACT;gBACD,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;oBACnC,aAAa,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAA;oBAC1C,SAAQ;iBACT;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;gBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAChD,MAAM,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;gBAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC3B,KAAK,EAAE,CAAA;gBACP,IAAI,CAAC,QAAQ,EAAE;oBACb,QAAQ,GAAG,IAAI,CAAA;iBAChB;aACF;;;;;;;;;QACD,MAAM,CAAC,GAAG,EAAE,CAAA;QAEZ,IAAI,QAAQ,EAAE;YACZ,aAAa,CAAC,SAAS,KAAK,iBAAiB,CAAC,CAAA;YAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SAC5B;aAAM;YACL,aAAa,CAAC,2BAA2B,CAAC,CAAA;YAC1C,OAAO,EAAE,CAAA;SACV;;CACF;AArCD,8BAqCC"} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-match-kind.d.ts b/node_modules/@actions/glob/lib/internal-match-kind.d.ts new file mode 100644 index 00000000..a7e60aaf --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-match-kind.d.ts @@ -0,0 +1,13 @@ +/** + * Indicates whether a pattern matches a path + */ +export declare enum MatchKind { + /** Not matched */ + None = 0, + /** Matched if the path is a directory */ + Directory = 1, + /** Matched if the path is a regular file */ + File = 2, + /** Matched */ + All = 3 +} diff --git a/node_modules/@actions/glob/lib/internal-match-kind.js b/node_modules/@actions/glob/lib/internal-match-kind.js new file mode 100644 index 00000000..37146ae7 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-match-kind.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MatchKind = void 0; +/** + * Indicates whether a pattern matches a path + */ +var MatchKind; +(function (MatchKind) { + /** Not matched */ + MatchKind[MatchKind["None"] = 0] = "None"; + /** Matched if the path is a directory */ + MatchKind[MatchKind["Directory"] = 1] = "Directory"; + /** Matched if the path is a regular file */ + MatchKind[MatchKind["File"] = 2] = "File"; + /** Matched */ + MatchKind[MatchKind["All"] = 3] = "All"; +})(MatchKind = exports.MatchKind || (exports.MatchKind = {})); +//# sourceMappingURL=internal-match-kind.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-match-kind.js.map b/node_modules/@actions/glob/lib/internal-match-kind.js.map new file mode 100644 index 00000000..6fa3c9f7 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-match-kind.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-match-kind.js","sourceRoot":"","sources":["../src/internal-match-kind.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,kBAAkB;IAClB,yCAAQ,CAAA;IAER,yCAAyC;IACzC,mDAAa,CAAA;IAEb,4CAA4C;IAC5C,yCAAQ,CAAA;IAER,cAAc;IACd,uCAAsB,CAAA;AACxB,CAAC,EAZW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAYpB"} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-path-helper.d.ts b/node_modules/@actions/glob/lib/internal-path-helper.d.ts new file mode 100644 index 00000000..0375c36c --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-path-helper.d.ts @@ -0,0 +1,42 @@ +/** + * Similar to path.dirname except normalizes the path separators and slightly better handling for Windows UNC paths. + * + * For example, on Linux/macOS: + * - `/ => /` + * - `/hello => /` + * + * For example, on Windows: + * - `C:\ => C:\` + * - `C:\hello => C:\` + * - `C: => C:` + * - `C:hello => C:` + * - `\ => \` + * - `\hello => \` + * - `\\hello => \\hello` + * - `\\hello\world => \\hello\world` + */ +export declare function dirname(p: string): string; +/** + * Roots the path if not already rooted. On Windows, relative roots like `\` + * or `C:` are expanded based on the current working directory. + */ +export declare function ensureAbsoluteRoot(root: string, itemPath: string): string; +/** + * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like: + * `\\hello\share` and `C:\hello` (and using alternate separator). + */ +export declare function hasAbsoluteRoot(itemPath: string): boolean; +/** + * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like: + * `\`, `\hello`, `\\hello\share`, `C:`, and `C:\hello` (and using alternate separator). + */ +export declare function hasRoot(itemPath: string): boolean; +/** + * Removes redundant slashes and converts `/` to `\` on Windows + */ +export declare function normalizeSeparators(p: string): string; +/** + * Normalizes the path separators and trims the trailing separator (when safe). + * For example, `/foo/ => /foo` but `/ => /` + */ +export declare function safeTrimTrailingSeparator(p: string): string; diff --git a/node_modules/@actions/glob/lib/internal-path-helper.js b/node_modules/@actions/glob/lib/internal-path-helper.js new file mode 100644 index 00000000..5057add3 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-path-helper.js @@ -0,0 +1,198 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.safeTrimTrailingSeparator = exports.normalizeSeparators = exports.hasRoot = exports.hasAbsoluteRoot = exports.ensureAbsoluteRoot = exports.dirname = void 0; +const path = __importStar(require("path")); +const assert_1 = __importDefault(require("assert")); +const IS_WINDOWS = process.platform === 'win32'; +/** + * Similar to path.dirname except normalizes the path separators and slightly better handling for Windows UNC paths. + * + * For example, on Linux/macOS: + * - `/ => /` + * - `/hello => /` + * + * For example, on Windows: + * - `C:\ => C:\` + * - `C:\hello => C:\` + * - `C: => C:` + * - `C:hello => C:` + * - `\ => \` + * - `\hello => \` + * - `\\hello => \\hello` + * - `\\hello\world => \\hello\world` + */ +function dirname(p) { + // Normalize slashes and trim unnecessary trailing slash + p = safeTrimTrailingSeparator(p); + // Windows UNC root, e.g. \\hello or \\hello\world + if (IS_WINDOWS && /^\\\\[^\\]+(\\[^\\]+)?$/.test(p)) { + return p; + } + // Get dirname + let result = path.dirname(p); + // Trim trailing slash for Windows UNC root, e.g. \\hello\world\ + if (IS_WINDOWS && /^\\\\[^\\]+\\[^\\]+\\$/.test(result)) { + result = safeTrimTrailingSeparator(result); + } + return result; +} +exports.dirname = dirname; +/** + * Roots the path if not already rooted. On Windows, relative roots like `\` + * or `C:` are expanded based on the current working directory. + */ +function ensureAbsoluteRoot(root, itemPath) { + assert_1.default(root, `ensureAbsoluteRoot parameter 'root' must not be empty`); + assert_1.default(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`); + // Already rooted + if (hasAbsoluteRoot(itemPath)) { + return itemPath; + } + // Windows + if (IS_WINDOWS) { + // Check for itemPath like C: or C:foo + if (itemPath.match(/^[A-Z]:[^\\/]|^[A-Z]:$/i)) { + let cwd = process.cwd(); + assert_1.default(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`); + // Drive letter matches cwd? Expand to cwd + if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) { + // Drive only, e.g. C: + if (itemPath.length === 2) { + // Preserve specified drive letter case (upper or lower) + return `${itemPath[0]}:\\${cwd.substr(3)}`; + } + // Drive + path, e.g. C:foo + else { + if (!cwd.endsWith('\\')) { + cwd += '\\'; + } + // Preserve specified drive letter case (upper or lower) + return `${itemPath[0]}:\\${cwd.substr(3)}${itemPath.substr(2)}`; + } + } + // Different drive + else { + return `${itemPath[0]}:\\${itemPath.substr(2)}`; + } + } + // Check for itemPath like \ or \foo + else if (normalizeSeparators(itemPath).match(/^\\$|^\\[^\\]/)) { + const cwd = process.cwd(); + assert_1.default(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`); + return `${cwd[0]}:\\${itemPath.substr(1)}`; + } + } + assert_1.default(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`); + // Otherwise ensure root ends with a separator + if (root.endsWith('/') || (IS_WINDOWS && root.endsWith('\\'))) { + // Intentionally empty + } + else { + // Append separator + root += path.sep; + } + return root + itemPath; +} +exports.ensureAbsoluteRoot = ensureAbsoluteRoot; +/** + * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like: + * `\\hello\share` and `C:\hello` (and using alternate separator). + */ +function hasAbsoluteRoot(itemPath) { + assert_1.default(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`); + // Normalize separators + itemPath = normalizeSeparators(itemPath); + // Windows + if (IS_WINDOWS) { + // E.g. \\hello\share or C:\hello + return itemPath.startsWith('\\\\') || /^[A-Z]:\\/i.test(itemPath); + } + // E.g. /hello + return itemPath.startsWith('/'); +} +exports.hasAbsoluteRoot = hasAbsoluteRoot; +/** + * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like: + * `\`, `\hello`, `\\hello\share`, `C:`, and `C:\hello` (and using alternate separator). + */ +function hasRoot(itemPath) { + assert_1.default(itemPath, `isRooted parameter 'itemPath' must not be empty`); + // Normalize separators + itemPath = normalizeSeparators(itemPath); + // Windows + if (IS_WINDOWS) { + // E.g. \ or \hello or \\hello + // E.g. C: or C:\hello + return itemPath.startsWith('\\') || /^[A-Z]:/i.test(itemPath); + } + // E.g. /hello + return itemPath.startsWith('/'); +} +exports.hasRoot = hasRoot; +/** + * Removes redundant slashes and converts `/` to `\` on Windows + */ +function normalizeSeparators(p) { + p = p || ''; + // Windows + if (IS_WINDOWS) { + // Convert slashes on Windows + p = p.replace(/\//g, '\\'); + // Remove redundant slashes + const isUnc = /^\\\\+[^\\]/.test(p); // e.g. \\hello + return (isUnc ? '\\' : '') + p.replace(/\\\\+/g, '\\'); // preserve leading \\ for UNC + } + // Remove redundant slashes + return p.replace(/\/\/+/g, '/'); +} +exports.normalizeSeparators = normalizeSeparators; +/** + * Normalizes the path separators and trims the trailing separator (when safe). + * For example, `/foo/ => /foo` but `/ => /` + */ +function safeTrimTrailingSeparator(p) { + // Short-circuit if empty + if (!p) { + return ''; + } + // Normalize separators + p = normalizeSeparators(p); + // No trailing slash + if (!p.endsWith(path.sep)) { + return p; + } + // Check '/' on Linux/macOS and '\' on Windows + if (p === path.sep) { + return p; + } + // On Windows check if drive root. E.g. C:\ + if (IS_WINDOWS && /^[A-Z]:\\$/i.test(p)) { + return p; + } + // Otherwise trim trailing slash + return p.substr(0, p.length - 1); +} +exports.safeTrimTrailingSeparator = safeTrimTrailingSeparator; +//# sourceMappingURL=internal-path-helper.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-path-helper.js.map b/node_modules/@actions/glob/lib/internal-path-helper.js.map new file mode 100644 index 00000000..1dc7ef9a --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-path-helper.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-path-helper.js","sourceRoot":"","sources":["../src/internal-path-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAC5B,oDAA2B;AAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AAE/C;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,OAAO,CAAC,CAAS;IAC/B,wDAAwD;IACxD,CAAC,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAA;IAEhC,kDAAkD;IAClD,IAAI,UAAU,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACnD,OAAO,CAAC,CAAA;KACT;IAED,cAAc;IACd,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAE5B,gEAAgE;IAChE,IAAI,UAAU,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACvD,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;KAC3C;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAlBD,0BAkBC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,IAAY,EAAE,QAAgB;IAC/D,gBAAM,CAAC,IAAI,EAAE,uDAAuD,CAAC,CAAA;IACrE,gBAAM,CAAC,QAAQ,EAAE,2DAA2D,CAAC,CAAA;IAE7E,iBAAiB;IACjB,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC7B,OAAO,QAAQ,CAAA;KAChB;IAED,UAAU;IACV,IAAI,UAAU,EAAE;QACd,sCAAsC;QACtC,IAAI,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE;YAC7C,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;YACvB,gBAAM,CACJ,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EACvB,4EAA4E,GAAG,GAAG,CACnF,CAAA;YAED,0CAA0C;YAC1C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;gBACtD,sBAAsB;gBACtB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;oBACzB,wDAAwD;oBACxD,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;iBAC3C;gBACD,2BAA2B;qBACtB;oBACH,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACvB,GAAG,IAAI,IAAI,CAAA;qBACZ;oBACD,wDAAwD;oBACxD,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;iBAChE;aACF;YACD,kBAAkB;iBACb;gBACH,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;aAChD;SACF;QACD,oCAAoC;aAC/B,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;YAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;YACzB,gBAAM,CACJ,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EACvB,4EAA4E,GAAG,GAAG,CACnF,CAAA;YAED,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;SAC3C;KACF;IAED,gBAAM,CACJ,eAAe,CAAC,IAAI,CAAC,EACrB,gEAAgE,CACjE,CAAA;IAED,8CAA8C;IAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;QAC7D,sBAAsB;KACvB;SAAM;QACL,mBAAmB;QACnB,IAAI,IAAI,IAAI,CAAC,GAAG,CAAA;KACjB;IAED,OAAO,IAAI,GAAG,QAAQ,CAAA;AACxB,CAAC;AAlED,gDAkEC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,QAAgB;IAC9C,gBAAM,CAAC,QAAQ,EAAE,wDAAwD,CAAC,CAAA;IAE1E,uBAAuB;IACvB,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAExC,UAAU;IACV,IAAI,UAAU,EAAE;QACd,iCAAiC;QACjC,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;KAClE;IAED,cAAc;IACd,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACjC,CAAC;AAdD,0CAcC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,QAAgB;IACtC,gBAAM,CAAC,QAAQ,EAAE,iDAAiD,CAAC,CAAA;IAEnE,uBAAuB;IACvB,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAExC,UAAU;IACV,IAAI,UAAU,EAAE;QACd,8BAA8B;QAC9B,sBAAsB;QACtB,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;KAC9D;IAED,cAAc;IACd,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACjC,CAAC;AAfD,0BAeC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,CAAS;IAC3C,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IAEX,UAAU;IACV,IAAI,UAAU,EAAE;QACd,6BAA6B;QAC7B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAE1B,2BAA2B;QAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,eAAe;QACnD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA,CAAC,8BAA8B;KACtF;IAED,2BAA2B;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC;AAfD,kDAeC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,CAAS;IACjD,yBAAyB;IACzB,IAAI,CAAC,CAAC,EAAE;QACN,OAAO,EAAE,CAAA;KACV;IAED,uBAAuB;IACvB,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAE1B,oBAAoB;IACpB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzB,OAAO,CAAC,CAAA;KACT;IAED,8CAA8C;IAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE;QAClB,OAAO,CAAC,CAAA;KACT;IAED,2CAA2C;IAC3C,IAAI,UAAU,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACvC,OAAO,CAAC,CAAA;KACT;IAED,gCAAgC;IAChC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAClC,CAAC;AA1BD,8DA0BC"} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-path.d.ts b/node_modules/@actions/glob/lib/internal-path.d.ts new file mode 100644 index 00000000..5e0a2641 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-path.d.ts @@ -0,0 +1,15 @@ +/** + * Helper class for parsing paths into segments + */ +export declare class Path { + segments: string[]; + /** + * Constructs a Path + * @param itemPath Path or array of segments + */ + constructor(itemPath: string | string[]); + /** + * Converts the path to it's string representation + */ + toString(): string; +} diff --git a/node_modules/@actions/glob/lib/internal-path.js b/node_modules/@actions/glob/lib/internal-path.js new file mode 100644 index 00000000..88a8715a --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-path.js @@ -0,0 +1,113 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Path = void 0; +const path = __importStar(require("path")); +const pathHelper = __importStar(require("./internal-path-helper")); +const assert_1 = __importDefault(require("assert")); +const IS_WINDOWS = process.platform === 'win32'; +/** + * Helper class for parsing paths into segments + */ +class Path { + /** + * Constructs a Path + * @param itemPath Path or array of segments + */ + constructor(itemPath) { + this.segments = []; + // String + if (typeof itemPath === 'string') { + assert_1.default(itemPath, `Parameter 'itemPath' must not be empty`); + // Normalize slashes and trim unnecessary trailing slash + itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); + // Not rooted + if (!pathHelper.hasRoot(itemPath)) { + this.segments = itemPath.split(path.sep); + } + // Rooted + else { + // Add all segments, while not at the root + let remaining = itemPath; + let dir = pathHelper.dirname(remaining); + while (dir !== remaining) { + // Add the segment + const basename = path.basename(remaining); + this.segments.unshift(basename); + // Truncate the last segment + remaining = dir; + dir = pathHelper.dirname(remaining); + } + // Remainder is the root + this.segments.unshift(remaining); + } + } + // Array + else { + // Must not be empty + assert_1.default(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`); + // Each segment + for (let i = 0; i < itemPath.length; i++) { + let segment = itemPath[i]; + // Must not be empty + assert_1.default(segment, `Parameter 'itemPath' must not contain any empty segments`); + // Normalize slashes + segment = pathHelper.normalizeSeparators(itemPath[i]); + // Root segment + if (i === 0 && pathHelper.hasRoot(segment)) { + segment = pathHelper.safeTrimTrailingSeparator(segment); + assert_1.default(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`); + this.segments.push(segment); + } + // All other segments + else { + // Must not contain slash + assert_1.default(!segment.includes(path.sep), `Parameter 'itemPath' contains unexpected path separators`); + this.segments.push(segment); + } + } + } + } + /** + * Converts the path to it's string representation + */ + toString() { + // First segment + let result = this.segments[0]; + // All others + let skipSlash = result.endsWith(path.sep) || (IS_WINDOWS && /^[A-Z]:$/i.test(result)); + for (let i = 1; i < this.segments.length; i++) { + if (skipSlash) { + skipSlash = false; + } + else { + result += path.sep; + } + result += this.segments[i]; + } + return result; + } +} +exports.Path = Path; +//# sourceMappingURL=internal-path.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-path.js.map b/node_modules/@actions/glob/lib/internal-path.js.map new file mode 100644 index 00000000..8e8eeb57 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-path.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-path.js","sourceRoot":"","sources":["../src/internal-path.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAC5B,mEAAoD;AACpD,oDAA2B;AAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AAE/C;;GAEG;AACH,MAAa,IAAI;IAGf;;;OAGG;IACH,YAAY,QAA2B;QANvC,aAAQ,GAAa,EAAE,CAAA;QAOrB,SAAS;QACT,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,gBAAM,CAAC,QAAQ,EAAE,wCAAwC,CAAC,CAAA;YAE1D,wDAAwD;YACxD,QAAQ,GAAG,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAA;YAEzD,aAAa;YACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aACzC;YACD,SAAS;iBACJ;gBACH,0CAA0C;gBAC1C,IAAI,SAAS,GAAG,QAAQ,CAAA;gBACxB,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBACvC,OAAO,GAAG,KAAK,SAAS,EAAE;oBACxB,kBAAkB;oBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;oBAE/B,4BAA4B;oBAC5B,SAAS,GAAG,GAAG,CAAA;oBACf,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;iBACpC;gBAED,wBAAwB;gBACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;aACjC;SACF;QACD,QAAQ;aACH;YACH,oBAAoB;YACpB,gBAAM,CACJ,QAAQ,CAAC,MAAM,GAAG,CAAC,EACnB,iDAAiD,CAClD,CAAA;YAED,eAAe;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAEzB,oBAAoB;gBACpB,gBAAM,CACJ,OAAO,EACP,0DAA0D,CAC3D,CAAA;gBAED,oBAAoB;gBACpB,OAAO,GAAG,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;gBAErD,eAAe;gBACf,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC1C,OAAO,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAA;oBACvD,gBAAM,CACJ,OAAO,KAAK,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EACvC,8EAA8E,CAC/E,CAAA;oBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;iBAC5B;gBACD,qBAAqB;qBAChB;oBACH,yBAAyB;oBACzB,gBAAM,CACJ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3B,0DAA0D,CAC3D,CAAA;oBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;iBAC5B;aACF;SACF;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,gBAAgB;QAChB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE7B,aAAa;QACb,IAAI,SAAS,GACX,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,SAAS,EAAE;gBACb,SAAS,GAAG,KAAK,CAAA;aAClB;iBAAM;gBACL,MAAM,IAAI,IAAI,CAAC,GAAG,CAAA;aACnB;YAED,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;SAC3B;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAvGD,oBAuGC"} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-pattern-helper.d.ts b/node_modules/@actions/glob/lib/internal-pattern-helper.d.ts new file mode 100644 index 00000000..c5dcc072 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-pattern-helper.d.ts @@ -0,0 +1,15 @@ +import { MatchKind } from './internal-match-kind'; +import { Pattern } from './internal-pattern'; +/** + * Given an array of patterns, returns an array of paths to search. + * Duplicates and paths under other included paths are filtered out. + */ +export declare function getSearchPaths(patterns: Pattern[]): string[]; +/** + * Matches the patterns against the path + */ +export declare function match(patterns: Pattern[], itemPath: string): MatchKind; +/** + * Checks whether to descend further into the directory + */ +export declare function partialMatch(patterns: Pattern[], itemPath: string): boolean; diff --git a/node_modules/@actions/glob/lib/internal-pattern-helper.js b/node_modules/@actions/glob/lib/internal-pattern-helper.js new file mode 100644 index 00000000..a7a0440d --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-pattern-helper.js @@ -0,0 +1,94 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.partialMatch = exports.match = exports.getSearchPaths = void 0; +const pathHelper = __importStar(require("./internal-path-helper")); +const internal_match_kind_1 = require("./internal-match-kind"); +const IS_WINDOWS = process.platform === 'win32'; +/** + * Given an array of patterns, returns an array of paths to search. + * Duplicates and paths under other included paths are filtered out. + */ +function getSearchPaths(patterns) { + // Ignore negate patterns + patterns = patterns.filter(x => !x.negate); + // Create a map of all search paths + const searchPathMap = {}; + for (const pattern of patterns) { + const key = IS_WINDOWS + ? pattern.searchPath.toUpperCase() + : pattern.searchPath; + searchPathMap[key] = 'candidate'; + } + const result = []; + for (const pattern of patterns) { + // Check if already included + const key = IS_WINDOWS + ? pattern.searchPath.toUpperCase() + : pattern.searchPath; + if (searchPathMap[key] === 'included') { + continue; + } + // Check for an ancestor search path + let foundAncestor = false; + let tempKey = key; + let parent = pathHelper.dirname(tempKey); + while (parent !== tempKey) { + if (searchPathMap[parent]) { + foundAncestor = true; + break; + } + tempKey = parent; + parent = pathHelper.dirname(tempKey); + } + // Include the search pattern in the result + if (!foundAncestor) { + result.push(pattern.searchPath); + searchPathMap[key] = 'included'; + } + } + return result; +} +exports.getSearchPaths = getSearchPaths; +/** + * Matches the patterns against the path + */ +function match(patterns, itemPath) { + let result = internal_match_kind_1.MatchKind.None; + for (const pattern of patterns) { + if (pattern.negate) { + result &= ~pattern.match(itemPath); + } + else { + result |= pattern.match(itemPath); + } + } + return result; +} +exports.match = match; +/** + * Checks whether to descend further into the directory + */ +function partialMatch(patterns, itemPath) { + return patterns.some(x => !x.negate && x.partialMatch(itemPath)); +} +exports.partialMatch = partialMatch; +//# sourceMappingURL=internal-pattern-helper.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-pattern-helper.js.map b/node_modules/@actions/glob/lib/internal-pattern-helper.js.map new file mode 100644 index 00000000..ae372853 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-pattern-helper.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-pattern-helper.js","sourceRoot":"","sources":["../src/internal-pattern-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAoD;AACpD,+DAA+C;AAG/C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AAE/C;;;GAGG;AACH,SAAgB,cAAc,CAAC,QAAmB;IAChD,yBAAyB;IACzB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE1C,mCAAmC;IACnC,MAAM,aAAa,GAA4B,EAAE,CAAA;IACjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,GAAG,GAAG,UAAU;YACpB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE;YAClC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAA;QACtB,aAAa,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;KACjC;IAED,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,4BAA4B;QAC5B,MAAM,GAAG,GAAG,UAAU;YACpB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE;YAClC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAA;QACtB,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;YACrC,SAAQ;SACT;QAED,oCAAoC;QACpC,IAAI,aAAa,GAAG,KAAK,CAAA;QACzB,IAAI,OAAO,GAAG,GAAG,CAAA;QACjB,IAAI,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACxC,OAAO,MAAM,KAAK,OAAO,EAAE;YACzB,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;gBACzB,aAAa,GAAG,IAAI,CAAA;gBACpB,MAAK;aACN;YAED,OAAO,GAAG,MAAM,CAAA;YAChB,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;SACrC;QAED,2CAA2C;QAC3C,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAC/B,aAAa,CAAC,GAAG,CAAC,GAAG,UAAU,CAAA;SAChC;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA9CD,wCA8CC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,QAAmB,EAAE,QAAgB;IACzD,IAAI,MAAM,GAAc,+BAAS,CAAC,IAAI,CAAA;IAEtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;SACnC;aAAM;YACL,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;SAClC;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAZD,sBAYC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,QAAmB,EAAE,QAAgB;IAChE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;AAClE,CAAC;AAFD,oCAEC"} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-pattern.d.ts b/node_modules/@actions/glob/lib/internal-pattern.d.ts new file mode 100644 index 00000000..2c2224c8 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-pattern.d.ts @@ -0,0 +1,64 @@ +import { MatchKind } from './internal-match-kind'; +export declare class Pattern { + /** + * Indicates whether matches should be excluded from the result set + */ + readonly negate: boolean; + /** + * The directory to search. The literal path prior to the first glob segment. + */ + readonly searchPath: string; + /** + * The path/pattern segments. Note, only the first segment (the root directory) + * may contain a directory separator character. Use the trailingSeparator field + * to determine whether the pattern ended with a trailing slash. + */ + readonly segments: string[]; + /** + * Indicates the pattern should only match directories, not regular files. + */ + readonly trailingSeparator: boolean; + /** + * The Minimatch object used for matching + */ + private readonly minimatch; + /** + * Used to workaround a limitation with Minimatch when determining a partial + * match and the path is a root directory. For example, when the pattern is + * `/foo/**` or `C:\foo\**` and the path is `/` or `C:\`. + */ + private readonly rootRegExp; + /** + * Indicates that the pattern is implicitly added as opposed to user specified. + */ + private readonly isImplicitPattern; + constructor(pattern: string); + constructor(pattern: string, isImplicitPattern: boolean, segments: undefined, homedir: string); + constructor(negate: boolean, isImplicitPattern: boolean, segments: string[], homedir?: string); + /** + * Matches the pattern against the specified path + */ + match(itemPath: string): MatchKind; + /** + * Indicates whether the pattern may match descendants of the specified path + */ + partialMatch(itemPath: string): boolean; + /** + * Escapes glob patterns within a path + */ + static globEscape(s: string): string; + /** + * Normalizes slashes and ensures absolute root + */ + private static fixupPattern; + /** + * Attempts to unescape a pattern segment to create a literal path segment. + * Otherwise returns empty string. + */ + private static getLiteral; + /** + * Escapes regexp special characters + * https://javascript.info/regexp-escaping + */ + private static regExpEscape; +} diff --git a/node_modules/@actions/glob/lib/internal-pattern.js b/node_modules/@actions/glob/lib/internal-pattern.js new file mode 100644 index 00000000..a17ffe97 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-pattern.js @@ -0,0 +1,255 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Pattern = void 0; +const os = __importStar(require("os")); +const path = __importStar(require("path")); +const pathHelper = __importStar(require("./internal-path-helper")); +const assert_1 = __importDefault(require("assert")); +const minimatch_1 = require("minimatch"); +const internal_match_kind_1 = require("./internal-match-kind"); +const internal_path_1 = require("./internal-path"); +const IS_WINDOWS = process.platform === 'win32'; +class Pattern { + constructor(patternOrNegate, isImplicitPattern = false, segments, homedir) { + /** + * Indicates whether matches should be excluded from the result set + */ + this.negate = false; + // Pattern overload + let pattern; + if (typeof patternOrNegate === 'string') { + pattern = patternOrNegate.trim(); + } + // Segments overload + else { + // Convert to pattern + segments = segments || []; + assert_1.default(segments.length, `Parameter 'segments' must not empty`); + const root = Pattern.getLiteral(segments[0]); + assert_1.default(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`); + pattern = new internal_path_1.Path(segments).toString().trim(); + if (patternOrNegate) { + pattern = `!${pattern}`; + } + } + // Negate + while (pattern.startsWith('!')) { + this.negate = !this.negate; + pattern = pattern.substr(1).trim(); + } + // Normalize slashes and ensures absolute root + pattern = Pattern.fixupPattern(pattern, homedir); + // Segments + this.segments = new internal_path_1.Path(pattern).segments; + // Trailing slash indicates the pattern should only match directories, not regular files + this.trailingSeparator = pathHelper + .normalizeSeparators(pattern) + .endsWith(path.sep); + pattern = pathHelper.safeTrimTrailingSeparator(pattern); + // Search path (literal path prior to the first glob segment) + let foundGlob = false; + const searchSegments = this.segments + .map(x => Pattern.getLiteral(x)) + .filter(x => !foundGlob && !(foundGlob = x === '')); + this.searchPath = new internal_path_1.Path(searchSegments).toString(); + // Root RegExp (required when determining partial match) + this.rootRegExp = new RegExp(Pattern.regExpEscape(searchSegments[0]), IS_WINDOWS ? 'i' : ''); + this.isImplicitPattern = isImplicitPattern; + // Create minimatch + const minimatchOptions = { + dot: true, + nobrace: true, + nocase: IS_WINDOWS, + nocomment: true, + noext: true, + nonegate: true + }; + pattern = IS_WINDOWS ? pattern.replace(/\\/g, '/') : pattern; + this.minimatch = new minimatch_1.Minimatch(pattern, minimatchOptions); + } + /** + * Matches the pattern against the specified path + */ + match(itemPath) { + // Last segment is globstar? + if (this.segments[this.segments.length - 1] === '**') { + // Normalize slashes + itemPath = pathHelper.normalizeSeparators(itemPath); + // Append a trailing slash. Otherwise Minimatch will not match the directory immediately + // preceding the globstar. For example, given the pattern `/foo/**`, Minimatch returns + // false for `/foo` but returns true for `/foo/`. Append a trailing slash to handle that quirk. + if (!itemPath.endsWith(path.sep) && this.isImplicitPattern === false) { + // Note, this is safe because the constructor ensures the pattern has an absolute root. + // For example, formats like C: and C:foo on Windows are resolved to an absolute root. + itemPath = `${itemPath}${path.sep}`; + } + } + else { + // Normalize slashes and trim unnecessary trailing slash + itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); + } + // Match + if (this.minimatch.match(itemPath)) { + return this.trailingSeparator ? internal_match_kind_1.MatchKind.Directory : internal_match_kind_1.MatchKind.All; + } + return internal_match_kind_1.MatchKind.None; + } + /** + * Indicates whether the pattern may match descendants of the specified path + */ + partialMatch(itemPath) { + // Normalize slashes and trim unnecessary trailing slash + itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); + // matchOne does not handle root path correctly + if (pathHelper.dirname(itemPath) === itemPath) { + return this.rootRegExp.test(itemPath); + } + return this.minimatch.matchOne(itemPath.split(IS_WINDOWS ? /\\+/ : /\/+/), this.minimatch.set[0], true); + } + /** + * Escapes glob patterns within a path + */ + static globEscape(s) { + return (IS_WINDOWS ? s : s.replace(/\\/g, '\\\\')) // escape '\' on Linux/macOS + .replace(/(\[)(?=[^/]+\])/g, '[[]') // escape '[' when ']' follows within the path segment + .replace(/\?/g, '[?]') // escape '?' + .replace(/\*/g, '[*]'); // escape '*' + } + /** + * Normalizes slashes and ensures absolute root + */ + static fixupPattern(pattern, homedir) { + // Empty + assert_1.default(pattern, 'pattern cannot be empty'); + // Must not contain `.` segment, unless first segment + // Must not contain `..` segment + const literalSegments = new internal_path_1.Path(pattern).segments.map(x => Pattern.getLiteral(x)); + assert_1.default(literalSegments.every((x, i) => (x !== '.' || i === 0) && x !== '..'), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`); + // Must not contain globs in root, e.g. Windows UNC path \\foo\b*r + assert_1.default(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`); + // Normalize slashes + pattern = pathHelper.normalizeSeparators(pattern); + // Replace leading `.` segment + if (pattern === '.' || pattern.startsWith(`.${path.sep}`)) { + pattern = Pattern.globEscape(process.cwd()) + pattern.substr(1); + } + // Replace leading `~` segment + else if (pattern === '~' || pattern.startsWith(`~${path.sep}`)) { + homedir = homedir || os.homedir(); + assert_1.default(homedir, 'Unable to determine HOME directory'); + assert_1.default(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`); + pattern = Pattern.globEscape(homedir) + pattern.substr(1); + } + // Replace relative drive root, e.g. pattern is C: or C:foo + else if (IS_WINDOWS && + (pattern.match(/^[A-Z]:$/i) || pattern.match(/^[A-Z]:[^\\]/i))) { + let root = pathHelper.ensureAbsoluteRoot('C:\\dummy-root', pattern.substr(0, 2)); + if (pattern.length > 2 && !root.endsWith('\\')) { + root += '\\'; + } + pattern = Pattern.globEscape(root) + pattern.substr(2); + } + // Replace relative root, e.g. pattern is \ or \foo + else if (IS_WINDOWS && (pattern === '\\' || pattern.match(/^\\[^\\]/))) { + let root = pathHelper.ensureAbsoluteRoot('C:\\dummy-root', '\\'); + if (!root.endsWith('\\')) { + root += '\\'; + } + pattern = Pattern.globEscape(root) + pattern.substr(1); + } + // Otherwise ensure absolute root + else { + pattern = pathHelper.ensureAbsoluteRoot(Pattern.globEscape(process.cwd()), pattern); + } + return pathHelper.normalizeSeparators(pattern); + } + /** + * Attempts to unescape a pattern segment to create a literal path segment. + * Otherwise returns empty string. + */ + static getLiteral(segment) { + let literal = ''; + for (let i = 0; i < segment.length; i++) { + const c = segment[i]; + // Escape + if (c === '\\' && !IS_WINDOWS && i + 1 < segment.length) { + literal += segment[++i]; + continue; + } + // Wildcard + else if (c === '*' || c === '?') { + return ''; + } + // Character set + else if (c === '[' && i + 1 < segment.length) { + let set = ''; + let closed = -1; + for (let i2 = i + 1; i2 < segment.length; i2++) { + const c2 = segment[i2]; + // Escape + if (c2 === '\\' && !IS_WINDOWS && i2 + 1 < segment.length) { + set += segment[++i2]; + continue; + } + // Closed + else if (c2 === ']') { + closed = i2; + break; + } + // Otherwise + else { + set += c2; + } + } + // Closed? + if (closed >= 0) { + // Cannot convert + if (set.length > 1) { + return ''; + } + // Convert to literal + if (set) { + literal += set; + i = closed; + continue; + } + } + // Otherwise fall thru + } + // Append + literal += c; + } + return literal; + } + /** + * Escapes regexp special characters + * https://javascript.info/regexp-escaping + */ + static regExpEscape(s) { + return s.replace(/[[\\^$.|?*+()]/g, '\\$&'); + } +} +exports.Pattern = Pattern; +//# sourceMappingURL=internal-pattern.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-pattern.js.map b/node_modules/@actions/glob/lib/internal-pattern.js.map new file mode 100644 index 00000000..08e172d7 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-pattern.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-pattern.js","sourceRoot":"","sources":["../src/internal-pattern.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAC5B,mEAAoD;AACpD,oDAA2B;AAC3B,yCAA8E;AAC9E,+DAA+C;AAC/C,mDAAoC;AAEpC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AAE/C,MAAa,OAAO;IAqDlB,YACE,eAAiC,EACjC,iBAAiB,GAAG,KAAK,EACzB,QAAmB,EACnB,OAAgB;QAxDlB;;WAEG;QACM,WAAM,GAAY,KAAK,CAAA;QAuD9B,mBAAmB;QACnB,IAAI,OAAe,CAAA;QACnB,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;YACvC,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,CAAA;SACjC;QACD,oBAAoB;aACf;YACH,qBAAqB;YACrB,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAA;YACzB,gBAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAA;YAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5C,gBAAM,CACJ,IAAI,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,EACxC,wDAAwD,CACzD,CAAA;YACD,OAAO,GAAG,IAAI,oBAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;YAC9C,IAAI,eAAe,EAAE;gBACnB,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;aACxB;SACF;QAED,SAAS;QACT,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;YAC1B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;SACnC;QAED,8CAA8C;QAC9C,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAEhD,WAAW;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAA;QAE1C,wFAAwF;QACxF,IAAI,CAAC,iBAAiB,GAAG,UAAU;aAChC,mBAAmB,CAAC,OAAO,CAAC;aAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrB,OAAO,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAA;QAEvD,6DAA6D;QAC7D,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACrD,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAA;QAErD,wDAAwD;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,MAAM,CAC1B,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EACvC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACtB,CAAA;QAED,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAE1C,mBAAmB;QACnB,MAAM,gBAAgB,GAAsB;YAC1C,GAAG,EAAE,IAAI;YACT,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;SACf,CAAA;QACD,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAgB;QACpB,4BAA4B;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;YACpD,oBAAoB;YACpB,QAAQ,GAAG,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;YAEnD,wFAAwF;YACxF,sFAAsF;YACtF,+FAA+F;YAC/F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,EAAE;gBACpE,uFAAuF;gBACvF,sFAAsF;gBACtF,QAAQ,GAAG,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;aACpC;SACF;aAAM;YACL,wDAAwD;YACxD,QAAQ,GAAG,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAA;SAC1D;QAED,QAAQ;QACR,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,+BAAS,CAAC,SAAS,CAAC,CAAC,CAAC,+BAAS,CAAC,GAAG,CAAA;SACpE;QAED,OAAO,+BAAS,CAAC,IAAI,CAAA;IACvB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAgB;QAC3B,wDAAwD;QACxD,QAAQ,GAAG,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAA;QAEzD,+CAA+C;QAC/C,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE;YAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SACtC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAC5B,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EACrB,IAAI,CACL,CAAA;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,CAAS;QACzB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,4BAA4B;aAC5E,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,sDAAsD;aACzF,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,aAAa;aACnC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA,CAAC,aAAa;IACxC,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,YAAY,CAAC,OAAe,EAAE,OAAgB;QAC3D,QAAQ;QACR,gBAAM,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAA;QAE1C,qDAAqD;QACrD,gCAAgC;QAChC,MAAM,eAAe,GAAG,IAAI,oBAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACzD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CACtB,CAAA;QACD,gBAAM,CACJ,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EACrE,oBAAoB,OAAO,kDAAkD,CAC9E,CAAA;QAED,kEAAkE;QAClE,gBAAM,CACJ,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,EAClD,oBAAoB,OAAO,yCAAyC,CACrE,CAAA;QAED,oBAAoB;QACpB,OAAO,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAEjD,8BAA8B;QAC9B,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;YACzD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;SAChE;QACD,8BAA8B;aACzB,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;YAC9D,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;YACjC,gBAAM,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAA;YACrD,gBAAM,CACJ,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,EACnC,wDAAwD,OAAO,GAAG,CACnE,CAAA;YACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;SAC1D;QACD,2DAA2D;aACtD,IACH,UAAU;YACV,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAC9D;YACA,IAAI,IAAI,GAAG,UAAU,CAAC,kBAAkB,CACtC,gBAAgB,EAChB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CACrB,CAAA;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC9C,IAAI,IAAI,IAAI,CAAA;aACb;YACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;SACvD;QACD,mDAAmD;aAC9C,IAAI,UAAU,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;YACtE,IAAI,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;YAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACxB,IAAI,IAAI,IAAI,CAAA;aACb;YACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;SACvD;QACD,iCAAiC;aAC5B;YACH,OAAO,GAAG,UAAU,CAAC,kBAAkB,CACrC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EACjC,OAAO,CACR,CAAA;SACF;QAED,OAAO,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,UAAU,CAAC,OAAe;QACvC,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACpB,SAAS;YACT,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;gBACvD,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;gBACvB,SAAQ;aACT;YACD,WAAW;iBACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;gBAC/B,OAAO,EAAE,CAAA;aACV;YACD,gBAAgB;iBACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;gBAC5C,IAAI,GAAG,GAAG,EAAE,CAAA;gBACZ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAA;gBACf,KAAK,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;oBAC9C,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;oBACtB,SAAS;oBACT,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;wBACzD,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;wBACpB,SAAQ;qBACT;oBACD,SAAS;yBACJ,IAAI,EAAE,KAAK,GAAG,EAAE;wBACnB,MAAM,GAAG,EAAE,CAAA;wBACX,MAAK;qBACN;oBACD,YAAY;yBACP;wBACH,GAAG,IAAI,EAAE,CAAA;qBACV;iBACF;gBAED,UAAU;gBACV,IAAI,MAAM,IAAI,CAAC,EAAE;oBACf,iBAAiB;oBACjB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;wBAClB,OAAO,EAAE,CAAA;qBACV;oBAED,qBAAqB;oBACrB,IAAI,GAAG,EAAE;wBACP,OAAO,IAAI,GAAG,CAAA;wBACd,CAAC,GAAG,MAAM,CAAA;wBACV,SAAQ;qBACT;iBACF;gBAED,sBAAsB;aACvB;YAED,SAAS;YACT,OAAO,IAAI,CAAC,CAAA;SACb;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,YAAY,CAAC,CAAS;QACnC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;IAC7C,CAAC;CACF;AAzUD,0BAyUC"} \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-search-state.d.ts b/node_modules/@actions/glob/lib/internal-search-state.d.ts new file mode 100644 index 00000000..aac344eb --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-search-state.d.ts @@ -0,0 +1,5 @@ +export declare class SearchState { + readonly path: string; + readonly level: number; + constructor(path: string, level: number); +} diff --git a/node_modules/@actions/glob/lib/internal-search-state.js b/node_modules/@actions/glob/lib/internal-search-state.js new file mode 100644 index 00000000..5d266ce1 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-search-state.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SearchState = void 0; +class SearchState { + constructor(path, level) { + this.path = path; + this.level = level; + } +} +exports.SearchState = SearchState; +//# sourceMappingURL=internal-search-state.js.map \ No newline at end of file diff --git a/node_modules/@actions/glob/lib/internal-search-state.js.map b/node_modules/@actions/glob/lib/internal-search-state.js.map new file mode 100644 index 00000000..44210124 --- /dev/null +++ b/node_modules/@actions/glob/lib/internal-search-state.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internal-search-state.js","sourceRoot":"","sources":["../src/internal-search-state.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IAItB,YAAY,IAAY,EAAE,KAAa;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CACF;AARD,kCAQC"} \ No newline at end of file diff --git a/node_modules/@actions/glob/package.json b/node_modules/@actions/glob/package.json new file mode 100644 index 00000000..58b32f7a --- /dev/null +++ b/node_modules/@actions/glob/package.json @@ -0,0 +1,43 @@ +{ + "name": "@actions/glob", + "version": "0.3.0", + "preview": true, + "description": "Actions glob lib", + "keywords": [ + "github", + "actions", + "glob" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/glob", + "license": "MIT", + "main": "lib/glob.js", + "types": "lib/glob.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/glob" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "dependencies": { + "@actions/core": "^1.2.6", + "minimatch": "^3.0.4" + } +} diff --git a/node_modules/@actions/http-client/LICENSE b/node_modules/@actions/http-client/LICENSE new file mode 100644 index 00000000..5823a51c --- /dev/null +++ b/node_modules/@actions/http-client/LICENSE @@ -0,0 +1,21 @@ +Actions Http Client for Node.js + +Copyright (c) GitHub, Inc. + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@actions/http-client/README.md b/node_modules/@actions/http-client/README.md new file mode 100644 index 00000000..7e06adeb --- /dev/null +++ b/node_modules/@actions/http-client/README.md @@ -0,0 +1,73 @@ +# `@actions/http-client` + +A lightweight HTTP client optimized for building actions. + +## Features + + - HTTP client with TypeScript generics and async/await/Promises + - Typings included! + - [Proxy support](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners) just works with actions and the runner + - Targets ES2019 (runner runs actions with node 12+). Only supported on node 12+. + - Basic, Bearer and PAT Support out of the box. Extensible handlers for others. + - Redirects supported + +Features and releases [here](./RELEASES.md) + +## Install + +``` +npm install @actions/http-client --save +``` + +## Samples + +See the [tests](./__tests__) for detailed examples. + +## Errors + +### HTTP + +The HTTP client does not throw unless truly exceptional. + +* A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body. +* Redirects (3xx) will be followed by default. + +See the [tests](./__tests__) for detailed examples. + +## Debugging + +To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible: + +```shell +export NODE_DEBUG=http +``` + +## Node support + +The http-client is built using the latest LTS version of Node 12. It may work on previous node LTS versions but it's tested and officially supported on Node12+. + +## Support and Versioning + +We follow semver and will hold compatibility between major versions and increment the minor version with new features and capabilities (while holding compat). + +## Contributing + +We welcome PRs. Please create an issue and if applicable, a design before proceeding with code. + +once: + +``` +npm install +``` + +To build: + +``` +npm run build +``` + +To run all tests: + +``` +npm test +``` diff --git a/node_modules/@actions/http-client/lib/auth.d.ts b/node_modules/@actions/http-client/lib/auth.d.ts new file mode 100644 index 00000000..8cc9fc3d --- /dev/null +++ b/node_modules/@actions/http-client/lib/auth.d.ts @@ -0,0 +1,26 @@ +/// +import * as http from 'http'; +import * as ifm from './interfaces'; +import { HttpClientResponse } from './index'; +export declare class BasicCredentialHandler implements ifm.RequestHandler { + username: string; + password: string; + constructor(username: string, password: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} +export declare class BearerCredentialHandler implements ifm.RequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} +export declare class PersonalAccessTokenCredentialHandler implements ifm.RequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} diff --git a/node_modules/@actions/http-client/lib/auth.js b/node_modules/@actions/http-client/lib/auth.js new file mode 100644 index 00000000..2c150a3d --- /dev/null +++ b/node_modules/@actions/http-client/lib/auth.js @@ -0,0 +1,81 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Bearer ${this.token}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; +//# sourceMappingURL=auth.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/auth.js.map b/node_modules/@actions/http-client/lib/auth.js.map new file mode 100644 index 00000000..7d3a18af --- /dev/null +++ b/node_modules/@actions/http-client/lib/auth.js.map @@ -0,0 +1 @@ +{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,MAAa,sBAAsB;IAIjC,YAAY,QAAgB,EAAE,QAAgB;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CACrD,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CACpC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;IACxB,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AA1BD,wDA0BC;AAED,MAAa,uBAAuB;IAGlC,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,sDAAsD;IACtD,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,KAAK,EAAE,CAAA;IAC3D,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AAxBD,0DAwBC;AAED,MAAa,oCAAoC;IAI/C,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,sDAAsD;IACtD,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CACrD,OAAO,IAAI,CAAC,KAAK,EAAE,CACpB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;IACxB,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AA3BD,oFA2BC"} \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/index.d.ts b/node_modules/@actions/http-client/lib/index.d.ts new file mode 100644 index 00000000..fe733d14 --- /dev/null +++ b/node_modules/@actions/http-client/lib/index.d.ts @@ -0,0 +1,123 @@ +/// +import * as http from 'http'; +import * as ifm from './interfaces'; +export declare enum HttpCodes { + OK = 200, + MultipleChoices = 300, + MovedPermanently = 301, + ResourceMoved = 302, + SeeOther = 303, + NotModified = 304, + UseProxy = 305, + SwitchProxy = 306, + TemporaryRedirect = 307, + PermanentRedirect = 308, + BadRequest = 400, + Unauthorized = 401, + PaymentRequired = 402, + Forbidden = 403, + NotFound = 404, + MethodNotAllowed = 405, + NotAcceptable = 406, + ProxyAuthenticationRequired = 407, + RequestTimeout = 408, + Conflict = 409, + Gone = 410, + TooManyRequests = 429, + InternalServerError = 500, + NotImplemented = 501, + BadGateway = 502, + ServiceUnavailable = 503, + GatewayTimeout = 504 +} +export declare enum Headers { + Accept = "accept", + ContentType = "content-type" +} +export declare enum MediaTypes { + ApplicationJson = "application/json" +} +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +export declare function getProxyUrl(serverUrl: string): string; +export declare class HttpClientError extends Error { + constructor(message: string, statusCode: number); + statusCode: number; + result?: any; +} +export declare class HttpClientResponse { + constructor(message: http.IncomingMessage); + message: http.IncomingMessage; + readBody(): Promise; +} +export declare function isHttps(requestUrl: string): boolean; +export declare class HttpClient { + userAgent: string | undefined; + handlers: ifm.RequestHandler[]; + requestOptions: ifm.RequestOptions | undefined; + private _ignoreSslError; + private _socketTimeout; + private _allowRedirects; + private _allowRedirectDowngrade; + private _maxRedirects; + private _allowRetries; + private _maxRetries; + private _agent; + private _proxyAgent; + private _keepAlive; + private _disposed; + constructor(userAgent?: string, handlers?: ifm.RequestHandler[], requestOptions?: ifm.RequestOptions); + options(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + get(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + del(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + head(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + postJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + putJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + patchJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream | null, headers?: http.OutgoingHttpHeaders): Promise; + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose(): void; + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info: ifm.RequestInfo, data: string | NodeJS.ReadableStream | null): Promise; + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info: ifm.RequestInfo, data: string | NodeJS.ReadableStream | null, onResult: (err?: Error, res?: HttpClientResponse) => void): void; + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl: string): http.Agent; + private _prepareRequest; + private _mergeHeaders; + private _getExistingOrDefaultHeader; + private _getAgent; + private _performExponentialBackoff; + private _processResponse; +} diff --git a/node_modules/@actions/http-client/lib/index.js b/node_modules/@actions/http-client/lib/index.js new file mode 100644 index 00000000..a1b7d032 --- /dev/null +++ b/node_modules/@actions/http-client/lib/index.js @@ -0,0 +1,605 @@ +"use strict"; +/* eslint-disable @typescript-eslint/no-explicit-any */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; +const http = __importStar(require("http")); +const https = __importStar(require("https")); +const pm = __importStar(require("./proxy")); +const tunnel = __importStar(require("tunnel")); +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + })); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + yield response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode)) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } + else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } + else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + let socket; + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + })), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + })); + }); + } +} +exports.HttpClient = HttpClient; +const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/index.js.map b/node_modules/@actions/http-client/lib/index.js.map new file mode 100644 index 00000000..ca8ea415 --- /dev/null +++ b/node_modules/@actions/http-client/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,2CAA4B;AAC5B,6CAA8B;AAG9B,4CAA6B;AAC7B,+CAAgC;AAEhC,IAAY,SA4BX;AA5BD,WAAY,SAAS;IACnB,uCAAQ,CAAA;IACR,iEAAqB,CAAA;IACrB,mEAAsB,CAAA;IACtB,6DAAmB,CAAA;IACnB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,qEAAuB,CAAA;IACvB,qEAAuB,CAAA;IACvB,uDAAgB,CAAA;IAChB,2DAAkB,CAAA;IAClB,iEAAqB,CAAA;IACrB,qDAAe,CAAA;IACf,mDAAc,CAAA;IACd,mEAAsB,CAAA;IACtB,6DAAmB,CAAA;IACnB,yFAAiC,CAAA;IACjC,+DAAoB,CAAA;IACpB,mDAAc,CAAA;IACd,2CAAU,CAAA;IACV,iEAAqB,CAAA;IACrB,yEAAyB,CAAA;IACzB,+DAAoB,CAAA;IACpB,uDAAgB,CAAA;IAChB,uEAAwB,CAAA;IACxB,+DAAoB,CAAA;AACtB,CAAC,EA5BW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QA4BpB;AAED,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,uCAA4B,CAAA;AAC9B,CAAC,EAHW,OAAO,GAAP,eAAO,KAAP,eAAO,QAGlB;AAED,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,kDAAoC,CAAA;AACtC,CAAC,EAFW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAErB;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,SAAiB;IAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AACtC,CAAC;AAHD,kCAGC;AAED,MAAM,iBAAiB,GAAa;IAClC,SAAS,CAAC,gBAAgB;IAC1B,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,iBAAiB;IAC3B,SAAS,CAAC,iBAAiB;CAC5B,CAAA;AACD,MAAM,sBAAsB,GAAa;IACvC,SAAS,CAAC,UAAU;IACpB,SAAS,CAAC,kBAAkB;IAC5B,SAAS,CAAC,cAAc;CACzB,CAAA;AACD,MAAM,kBAAkB,GAAa,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AACzE,MAAM,yBAAyB,GAAG,EAAE,CAAA;AACpC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAErC,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;CAIF;AAVD,0CAUC;AAED,MAAa,kBAAkB;IAC7B,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAGK,QAAQ;;YACZ,OAAO,IAAI,OAAO,CAAS,CAAM,OAAO,EAAC,EAAE;gBACzC,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAE5B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBACxC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;gBACzC,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC5B,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AAnBD,gDAmBC;AAED,SAAgB,OAAO,CAAC,UAAkB;IACxC,MAAM,SAAS,GAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IAC1C,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;AACxC,CAAC;AAHD,0BAGC;AAED,MAAa,UAAU;IAiBrB,YACE,SAAkB,EAClB,QAA+B,EAC/B,cAAmC;QAf7B,oBAAe,GAAG,KAAK,CAAA;QAEvB,oBAAe,GAAG,IAAI,CAAA;QACtB,4BAAuB,GAAG,KAAK,CAAA;QAC/B,kBAAa,GAAG,EAAE,CAAA;QAClB,kBAAa,GAAG,KAAK,CAAA;QACrB,gBAAW,GAAG,CAAC,CAAA;QAGf,eAAU,GAAG,KAAK,CAAA;QAClB,cAAS,GAAG,KAAK,CAAA;QAOvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,cAAc,EAAE;YAClB,IAAI,cAAc,CAAC,cAAc,IAAI,IAAI,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,cAAc,CAAA;aACrD;YAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,aAAa,CAAA;YAElD,IAAI,cAAc,CAAC,cAAc,IAAI,IAAI,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,cAAc,CAAA;aACrD;YAED,IAAI,cAAc,CAAC,sBAAsB,IAAI,IAAI,EAAE;gBACjD,IAAI,CAAC,uBAAuB,GAAG,cAAc,CAAC,sBAAsB,CAAA;aACrE;YAED,IAAI,cAAc,CAAC,YAAY,IAAI,IAAI,EAAE;gBACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;aAC9D;YAED,IAAI,cAAc,CAAC,SAAS,IAAI,IAAI,EAAE;gBACpC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,SAAS,CAAA;aAC3C;YAED,IAAI,cAAc,CAAC,YAAY,IAAI,IAAI,EAAE;gBACvC,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,YAAY,CAAA;aACjD;YAED,IAAI,cAAc,CAAC,UAAU,IAAI,IAAI,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,UAAU,CAAA;aAC7C;SACF;IACH,CAAC;IAEK,OAAO,CACX,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAC3E,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;KAAA;IAEK,IAAI,CACR,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;KAAA;IAEK,KAAK,CACT,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACzE,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;KAAA;IAEK,IAAI,CACR,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;KAAA;IAEK,UAAU,CACd,IAAY,EACZ,UAAkB,EAClB,MAA6B,EAC7B,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAClE,CAAC;KAAA;IAED;;;OAGG;IACG,OAAO,CACX,UAAkB,EAClB,oBAA8C,EAAE;;YAEhD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,GAAG,CAC5C,UAAU,EACV,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,QAAQ,CACZ,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,IAAI,CAC7C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,OAAO,CACX,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,GAAG,CAC5C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,SAAS,CACb,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,KAAK,CAC9C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAED;;;;OAIG;IACG,OAAO,CACX,IAAY,EACZ,UAAkB,EAClB,IAA2C,EAC3C,OAAkC;;YAElC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;aACrD;YAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;YACrC,IAAI,IAAI,GAAoB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAE1E,oEAAoE;YACpE,MAAM,QAAQ,GACZ,IAAI,CAAC,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACrD,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC;gBACtB,CAAC,CAAC,CAAC,CAAA;YACP,IAAI,QAAQ,GAAG,CAAC,CAAA;YAEhB,IAAI,QAAwC,CAAA;YAC5C,GAAG;gBACD,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAE5C,4CAA4C;gBAC5C,IACE,QAAQ;oBACR,QAAQ,CAAC,OAAO;oBAChB,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,YAAY,EACtD;oBACA,IAAI,qBAAqD,CAAA;oBAEzD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACnC,IAAI,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE;4BAC7C,qBAAqB,GAAG,OAAO,CAAA;4BAC/B,MAAK;yBACN;qBACF;oBAED,IAAI,qBAAqB,EAAE;wBACzB,OAAO,qBAAqB,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;qBACpE;yBAAM;wBACL,+EAA+E;wBAC/E,yCAAyC;wBACzC,OAAO,QAAQ,CAAA;qBAChB;iBACF;gBAED,IAAI,kBAAkB,GAAW,IAAI,CAAC,aAAa,CAAA;gBACnD,OACE,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAC3B,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;oBACvD,IAAI,CAAC,eAAe;oBACpB,kBAAkB,GAAG,CAAC,EACtB;oBACA,MAAM,WAAW,GACf,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;oBACtC,IAAI,CAAC,WAAW,EAAE;wBAChB,kDAAkD;wBAClD,MAAK;qBACN;oBACD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;oBAC9C,IACE,SAAS,CAAC,QAAQ,KAAK,QAAQ;wBAC/B,SAAS,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ;wBACjD,CAAC,IAAI,CAAC,uBAAuB,EAC7B;wBACA,MAAM,IAAI,KAAK,CACb,8KAA8K,CAC/K,CAAA;qBACF;oBAED,qEAAqE;oBACrE,mCAAmC;oBACnC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBAEzB,mEAAmE;oBACnE,IAAI,iBAAiB,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE;wBACrD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;4BAC5B,oCAAoC;4BACpC,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE;gCAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;6BACvB;yBACF;qBACF;oBAED,kDAAkD;oBAClD,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;oBAC7D,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC5C,kBAAkB,EAAE,CAAA;iBACrB;gBAED,IACE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAC5B,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAC7D;oBACA,8DAA8D;oBAC9D,OAAO,QAAQ,CAAA;iBAChB;gBAED,QAAQ,IAAI,CAAC,CAAA;gBAEb,IAAI,QAAQ,GAAG,QAAQ,EAAE;oBACvB,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBACzB,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAA;iBAChD;aACF,QAAQ,QAAQ,GAAG,QAAQ,EAAC;YAE7B,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;SACtB;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED;;;;OAIG;IACG,UAAU,CACd,IAAqB,EACrB,IAA2C;;YAE3C,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzD,SAAS,iBAAiB,CAAC,GAAW,EAAE,GAAwB;oBAC9D,IAAI,GAAG,EAAE;wBACP,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;yBAAM,IAAI,CAAC,GAAG,EAAE;wBACf,qDAAqD;wBACrD,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;qBACnC;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,CAAA;qBACb;gBACH,CAAC;gBAED,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAED;;;;;OAKG;IACH,sBAAsB,CACpB,IAAqB,EACrB,IAA2C,EAC3C,QAAyD;QAEzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAA;aAC1B;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SACzE;QAED,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,SAAS,YAAY,CAAC,GAAW,EAAE,GAAwB;YACzD,IAAI,CAAC,cAAc,EAAE;gBACnB,cAAc,GAAG,IAAI,CAAA;gBACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;aACnB;QACH,CAAC;QAED,MAAM,GAAG,GAAuB,IAAI,CAAC,UAAU,CAAC,OAAO,CACrD,IAAI,CAAC,OAAO,EACZ,CAAC,GAAyB,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAuB,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAA;YAC3D,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC,CACF,CAAA;QAED,IAAI,MAAkB,CAAA;QACtB,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;YACtB,MAAM,GAAG,IAAI,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,wEAAwE;QACxE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE;YACpD,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,GAAG,EAAE,CAAA;aACb;YACD,YAAY,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAS,GAAG;YAC1B,8BAA8B;YAC9B,0BAA0B;YAC1B,YAAY,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SACxB;QAED,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;gBACf,GAAG,CAAC,GAAG,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACf;aAAM;YACL,GAAG,CAAC,GAAG,EAAE,CAAA;SACV;IACH,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,SAAiB;QACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAClC,CAAC;IAEO,eAAe,CACrB,MAAc,EACd,UAAe,EACf,OAAkC;QAElC,MAAM,IAAI,GAAqC,EAAE,CAAA;QAEjD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAA;QAC3B,MAAM,QAAQ,GAAY,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;QAC9D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACzC,MAAM,WAAW,GAAW,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAE/C,IAAI,CAAC,OAAO,GAAwB,EAAE,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;YACrC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC/B,CAAC,CAAC,WAAW,CAAA;QACf,IAAI,CAAC,OAAO,CAAC,IAAI;YACf,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,CAAA;SACpD;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEnD,+CAA+C;QAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACnC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aACrC;SACF;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,aAAa,CACnB,OAAkC;QAElC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,EACF,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAC1C,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAC7B,CAAA;SACF;QAED,OAAO,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC;IAEO,2BAA2B,CACjC,iBAA2C,EAC3C,MAAc,EACd,QAAgB;QAEhB,IAAI,YAAgC,CAAA;QACpC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;SAClE;QACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,YAAY,IAAI,QAAQ,CAAA;IAC9D,CAAC;IAEO,SAAS,CAAC,SAAc;QAC9B,IAAI,KAAK,CAAA;QACT,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAA;QAE9C,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE;YAC/B,KAAK,GAAG,IAAI,CAAC,WAAW,CAAA;SACzB;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE;YAChC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;SACpB;QAED,+CAA+C;QAC/C,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAA;SACb;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;QAChD,IAAI,UAAU,GAAG,GAAG,CAAA;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAA;SAC3E;QAED,sGAAsG;QACtG,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACjC,MAAM,YAAY,GAAG;gBACnB,UAAU;gBACV,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,KAAK,kCACA,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI;oBAC9C,SAAS,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;iBACvD,CAAC,KACF,IAAI,EAAE,QAAQ,CAAC,QAAQ,EACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,GACpB;aACF,CAAA;YAED,IAAI,WAAqB,CAAA;YACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAA;YAChD,IAAI,QAAQ,EAAE;gBACZ,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAA;aACvE;iBAAM;gBACL,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;aACrE;YAED,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;YACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;SACzB;QAED,wFAAwF;QACxF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE;YAC7B,MAAM,OAAO,GAAG,EAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAC,CAAA;YACxD,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;SACpB;QAED,gFAAgF;QAChF,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;SACxD;QAED,IAAI,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;YACpC,wGAAwG;YACxG,kFAAkF;YAClF,mDAAmD;YACnD,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;gBACjD,kBAAkB,EAAE,KAAK;aAC1B,CAAC,CAAA;SACH;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEa,0BAA0B,CAAC,WAAmB;;YAC1D,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAA;YAC9D,MAAM,EAAE,GAAW,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;YACzE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAChE,CAAC;KAAA;IAEa,gBAAgB,CAC5B,GAAuB,EACvB,OAA4B;;YAE5B,OAAO,IAAI,OAAO,CAAuB,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACjE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAA;gBAE9C,MAAM,QAAQ,GAAyB;oBACrC,UAAU;oBACV,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,EAAE;iBACZ,CAAA;gBAED,uCAAuC;gBACvC,IAAI,UAAU,KAAK,SAAS,CAAC,QAAQ,EAAE;oBACrC,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;gBAED,+BAA+B;gBAE/B,SAAS,oBAAoB,CAAC,GAAQ,EAAE,KAAU;oBAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;wBACzB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;4BACvB,OAAO,CAAC,CAAA;yBACT;qBACF;oBAED,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,IAAI,GAAQ,CAAA;gBACZ,IAAI,QAA4B,CAAA;gBAEhC,IAAI;oBACF,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;oBAC/B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnC,IAAI,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE;4BACvC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;yBACjD;6BAAM;4BACL,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;yBAC3B;wBAED,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAA;qBACtB;oBAED,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAA;iBACvC;gBAAC,OAAO,GAAG,EAAE;oBACZ,iEAAiE;iBAClE;gBAED,yDAAyD;gBACzD,IAAI,UAAU,GAAG,GAAG,EAAE;oBACpB,IAAI,GAAW,CAAA;oBAEf,0DAA0D;oBAC1D,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE;wBACtB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;qBAClB;yBAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1C,yEAAyE;wBACzE,GAAG,GAAG,QAAQ,CAAA;qBACf;yBAAM;wBACL,GAAG,GAAG,oBAAoB,UAAU,GAAG,CAAA;qBACxC;oBAED,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;oBAChD,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;oBAE5B,MAAM,CAAC,GAAG,CAAC,CAAA;iBACZ;qBAAM;oBACL,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;YACH,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AAlpBD,gCAkpBC;AAED,MAAM,aAAa,GAAG,CAAC,GAA2B,EAAO,EAAE,CACzD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/interfaces.d.ts b/node_modules/@actions/http-client/lib/interfaces.d.ts new file mode 100644 index 00000000..54fd4a89 --- /dev/null +++ b/node_modules/@actions/http-client/lib/interfaces.d.ts @@ -0,0 +1,44 @@ +/// +import * as http from 'http'; +import * as https from 'https'; +import { HttpClientResponse } from './index'; +export interface HttpClient { + options(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + get(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + del(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: http.OutgoingHttpHeaders): Promise; + requestRaw(info: RequestInfo, data: string | NodeJS.ReadableStream): Promise; + requestRawWithCallback(info: RequestInfo, data: string | NodeJS.ReadableStream, onResult: (err?: Error, res?: HttpClientResponse) => void): void; +} +export interface RequestHandler { + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(response: HttpClientResponse): boolean; + handleAuthentication(httpClient: HttpClient, requestInfo: RequestInfo, data: string | NodeJS.ReadableStream | null): Promise; +} +export interface RequestInfo { + options: http.RequestOptions; + parsedUrl: URL; + httpModule: typeof http | typeof https; +} +export interface RequestOptions { + headers?: http.OutgoingHttpHeaders; + socketTimeout?: number; + ignoreSslError?: boolean; + allowRedirects?: boolean; + allowRedirectDowngrade?: boolean; + maxRedirects?: number; + maxSockets?: number; + keepAlive?: boolean; + deserializeDates?: boolean; + allowRetries?: boolean; + maxRetries?: number; +} +export interface TypedResponse { + statusCode: number; + result: T | null; + headers: http.IncomingHttpHeaders; +} diff --git a/node_modules/@actions/http-client/lib/interfaces.js b/node_modules/@actions/http-client/lib/interfaces.js new file mode 100644 index 00000000..db919115 --- /dev/null +++ b/node_modules/@actions/http-client/lib/interfaces.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/interfaces.js.map b/node_modules/@actions/http-client/lib/interfaces.js.map new file mode 100644 index 00000000..8fb5f7d1 --- /dev/null +++ b/node_modules/@actions/http-client/lib/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/proxy.d.ts b/node_modules/@actions/http-client/lib/proxy.d.ts new file mode 100644 index 00000000..45998654 --- /dev/null +++ b/node_modules/@actions/http-client/lib/proxy.d.ts @@ -0,0 +1,2 @@ +export declare function getProxyUrl(reqUrl: URL): URL | undefined; +export declare function checkBypass(reqUrl: URL): boolean; diff --git a/node_modules/@actions/http-client/lib/proxy.js b/node_modules/@actions/http-client/lib/proxy.js new file mode 100644 index 00000000..528ffe40 --- /dev/null +++ b/node_modules/@actions/http-client/lib/proxy.js @@ -0,0 +1,61 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.checkBypass = exports.getProxyUrl = void 0; +function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === 'https:'; + if (checkBypass(reqUrl)) { + return undefined; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + return process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + })(); + if (proxyVar) { + return new URL(proxyVar); + } + else { + return undefined; + } +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperReqHosts.some(x => x === upperNoProxyItem)) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; +//# sourceMappingURL=proxy.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/proxy.js.map b/node_modules/@actions/http-client/lib/proxy.js.map new file mode 100644 index 00000000..4440de9b --- /dev/null +++ b/node_modules/@actions/http-client/lib/proxy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,MAAW;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAA;IAE7C,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;QACvB,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,QAAQ,EAAE;YACZ,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;SAChE;aAAM;YACL,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;SAC9D;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,QAAQ,EAAE;QACZ,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;KACzB;SAAM;QACL,OAAO,SAAS,CAAA;KACjB;AACH,CAAC;AApBD,kCAoBC;AAED,SAAgB,WAAW,CAAC,MAAW;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QACpB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IACxE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAA;KACb;IAED,6BAA6B;IAC7B,IAAI,OAA2B,CAAA;IAC/B,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;KAC9B;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE;QACtC,OAAO,GAAG,EAAE,CAAA;KACb;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACvC,OAAO,GAAG,GAAG,CAAA;KACd;IAED,qDAAqD;IACrD,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;KACrD;IAED,uCAAuC;IACvC,KAAK,MAAM,gBAAgB,IAAI,OAAO;SACnC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACjB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,EAAE;YACnD,OAAO,IAAI,CAAA;SACZ;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AArCD,kCAqCC"} \ No newline at end of file diff --git a/node_modules/@actions/http-client/package.json b/node_modules/@actions/http-client/package.json new file mode 100644 index 00000000..c1de2213 --- /dev/null +++ b/node_modules/@actions/http-client/package.json @@ -0,0 +1,48 @@ +{ + "name": "@actions/http-client", + "version": "2.0.1", + "description": "Actions Http Client", + "keywords": [ + "github", + "actions", + "http" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/http-client", + "license": "MIT", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/http-client" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "build": "tsc", + "format": "prettier --write **/*.ts", + "format-check": "prettier --check **/*.ts", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "devDependencies": { + "@types/tunnel": "0.0.3", + "proxy": "^1.0.1" + }, + "dependencies": { + "tunnel": "^0.0.6" + } +} diff --git a/node_modules/@actions/io/LICENSE.md b/node_modules/@actions/io/LICENSE.md new file mode 100644 index 00000000..dbae2edb --- /dev/null +++ b/node_modules/@actions/io/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright 2019 GitHub + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@actions/io/README.md b/node_modules/@actions/io/README.md new file mode 100644 index 00000000..9aadf2f9 --- /dev/null +++ b/node_modules/@actions/io/README.md @@ -0,0 +1,53 @@ +# `@actions/io` + +> Core functions for cli filesystem scenarios + +## Usage + +#### mkdir -p + +Recursively make a directory. Follows rules specified in [man mkdir](https://linux.die.net/man/1/mkdir) with the `-p` option specified: + +```js +const io = require('@actions/io'); + +await io.mkdirP('path/to/make'); +``` + +#### cp/mv + +Copy or move files or folders. Follows rules specified in [man cp](https://linux.die.net/man/1/cp) and [man mv](https://linux.die.net/man/1/mv): + +```js +const io = require('@actions/io'); + +// Recursive must be true for directories +const options = { recursive: true, force: false } + +await io.cp('path/to/directory', 'path/to/dest', options); +await io.mv('path/to/file', 'path/to/dest'); +``` + +#### rm -rf + +Remove a file or folder recursively. Follows rules specified in [man rm](https://linux.die.net/man/1/rm) with the `-r` and `-f` rules specified. + +```js +const io = require('@actions/io'); + +await io.rmRF('path/to/directory'); +await io.rmRF('path/to/file'); +``` + +#### which + +Get the path to a tool and resolves via paths. Follows the rules specified in [man which](https://linux.die.net/man/1/which). + +```js +const exec = require('@actions/exec'); +const io = require('@actions/io'); + +const pythonPath: string = await io.which('python', true) + +await exec.exec(`"${pythonPath}"`, ['main.py']); +``` diff --git a/node_modules/@actions/io/lib/io-util.d.ts b/node_modules/@actions/io/lib/io-util.d.ts new file mode 100644 index 00000000..0cddd318 --- /dev/null +++ b/node_modules/@actions/io/lib/io-util.d.ts @@ -0,0 +1,19 @@ +/// +import * as fs from 'fs'; +export declare const chmod: typeof fs.promises.chmod, copyFile: typeof fs.promises.copyFile, lstat: typeof fs.promises.lstat, mkdir: typeof fs.promises.mkdir, readdir: typeof fs.promises.readdir, readlink: typeof fs.promises.readlink, rename: typeof fs.promises.rename, rmdir: typeof fs.promises.rmdir, stat: typeof fs.promises.stat, symlink: typeof fs.promises.symlink, unlink: typeof fs.promises.unlink; +export declare const IS_WINDOWS: boolean; +export declare function exists(fsPath: string): Promise; +export declare function isDirectory(fsPath: string, useStat?: boolean): Promise; +/** + * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like: + * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases). + */ +export declare function isRooted(p: string): boolean; +/** + * Best effort attempt to determine whether a file exists and is executable. + * @param filePath file path to check + * @param extensions additional file extensions to try + * @return if file exists and is executable, returns the file path. otherwise empty string. + */ +export declare function tryGetExecutablePath(filePath: string, extensions: string[]): Promise; +export declare function getCmdPath(): string; diff --git a/node_modules/@actions/io/lib/io-util.js b/node_modules/@actions/io/lib/io-util.js new file mode 100644 index 00000000..aae903cb --- /dev/null +++ b/node_modules/@actions/io/lib/io-util.js @@ -0,0 +1,177 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rename = exports.readlink = exports.readdir = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0; +const fs = __importStar(require("fs")); +const path = __importStar(require("path")); +_a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; +exports.IS_WINDOWS = process.platform === 'win32'; +function exists(fsPath) { + return __awaiter(this, void 0, void 0, function* () { + try { + yield exports.stat(fsPath); + } + catch (err) { + if (err.code === 'ENOENT') { + return false; + } + throw err; + } + return true; + }); +} +exports.exists = exists; +function isDirectory(fsPath, useStat = false) { + return __awaiter(this, void 0, void 0, function* () { + const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath); + return stats.isDirectory(); + }); +} +exports.isDirectory = isDirectory; +/** + * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like: + * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases). + */ +function isRooted(p) { + p = normalizeSeparators(p); + if (!p) { + throw new Error('isRooted() parameter "p" cannot be empty'); + } + if (exports.IS_WINDOWS) { + return (p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello + ); // e.g. C: or C:\hello + } + return p.startsWith('/'); +} +exports.isRooted = isRooted; +/** + * Best effort attempt to determine whether a file exists and is executable. + * @param filePath file path to check + * @param extensions additional file extensions to try + * @return if file exists and is executable, returns the file path. otherwise empty string. + */ +function tryGetExecutablePath(filePath, extensions) { + return __awaiter(this, void 0, void 0, function* () { + let stats = undefined; + try { + // test file exists + stats = yield exports.stat(filePath); + } + catch (err) { + if (err.code !== 'ENOENT') { + // eslint-disable-next-line no-console + console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); + } + } + if (stats && stats.isFile()) { + if (exports.IS_WINDOWS) { + // on Windows, test for valid extension + const upperExt = path.extname(filePath).toUpperCase(); + if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) { + return filePath; + } + } + else { + if (isUnixExecutable(stats)) { + return filePath; + } + } + } + // try each extension + const originalFilePath = filePath; + for (const extension of extensions) { + filePath = originalFilePath + extension; + stats = undefined; + try { + stats = yield exports.stat(filePath); + } + catch (err) { + if (err.code !== 'ENOENT') { + // eslint-disable-next-line no-console + console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); + } + } + if (stats && stats.isFile()) { + if (exports.IS_WINDOWS) { + // preserve the case of the actual file (since an extension was appended) + try { + const directory = path.dirname(filePath); + const upperName = path.basename(filePath).toUpperCase(); + for (const actualName of yield exports.readdir(directory)) { + if (upperName === actualName.toUpperCase()) { + filePath = path.join(directory, actualName); + break; + } + } + } + catch (err) { + // eslint-disable-next-line no-console + console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`); + } + return filePath; + } + else { + if (isUnixExecutable(stats)) { + return filePath; + } + } + } + } + return ''; + }); +} +exports.tryGetExecutablePath = tryGetExecutablePath; +function normalizeSeparators(p) { + p = p || ''; + if (exports.IS_WINDOWS) { + // convert slashes on Windows + p = p.replace(/\//g, '\\'); + // remove redundant slashes + return p.replace(/\\\\+/g, '\\'); + } + // remove redundant slashes + return p.replace(/\/\/+/g, '/'); +} +// on Mac/Linux, test the execute bit +// R W X R W X R W X +// 256 128 64 32 16 8 4 2 1 +function isUnixExecutable(stats) { + return ((stats.mode & 1) > 0 || + ((stats.mode & 8) > 0 && stats.gid === process.getgid()) || + ((stats.mode & 64) > 0 && stats.uid === process.getuid())); +} +// Get the path of cmd.exe in windows +function getCmdPath() { + var _a; + return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`; +} +exports.getCmdPath = getCmdPath; +//# sourceMappingURL=io-util.js.map \ No newline at end of file diff --git a/node_modules/@actions/io/lib/io-util.js.map b/node_modules/@actions/io/lib/io-util.js.map new file mode 100644 index 00000000..ad5eebbb --- /dev/null +++ b/node_modules/@actions/io/lib/io-util.js.map @@ -0,0 +1 @@ +{"version":3,"file":"io-util.js","sourceRoot":"","sources":["../src/io-util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAEf,KAYT,EAAE,CAAC,QAAQ,EAXb,aAAK,aACL,gBAAQ,gBACR,aAAK,aACL,aAAK,aACL,eAAO,eACP,gBAAQ,gBACR,cAAM,cACN,aAAK,aACL,YAAI,YACJ,eAAO,eACP,cAAM,aACO;AAEF,QAAA,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AAEtD,SAAsB,MAAM,CAAC,MAAc;;QACzC,IAAI;YACF,MAAM,YAAI,CAAC,MAAM,CAAC,CAAA;SACnB;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACzB,OAAO,KAAK,CAAA;aACb;YAED,MAAM,GAAG,CAAA;SACV;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CAAA;AAZD,wBAYC;AAED,SAAsB,WAAW,CAC/B,MAAc,EACd,OAAO,GAAG,KAAK;;QAEf,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAK,CAAC,MAAM,CAAC,CAAA;QAChE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;IAC5B,CAAC;CAAA;AAND,kCAMC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,CAAS;IAChC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,CAAC,CAAC,EAAE;QACN,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;IAED,IAAI,kBAAU,EAAE;QACd,OAAO,CACL,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAA8B;SACxE,CAAA,CAAC,sBAAsB;KACzB;IAED,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC;AAbD,4BAaC;AAED;;;;;GAKG;AACH,SAAsB,oBAAoB,CACxC,QAAgB,EAChB,UAAoB;;QAEpB,IAAI,KAAK,GAAyB,SAAS,CAAA;QAC3C,IAAI;YACF,mBAAmB;YACnB,KAAK,GAAG,MAAM,YAAI,CAAC,QAAQ,CAAC,CAAA;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACzB,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CACT,uEAAuE,QAAQ,MAAM,GAAG,EAAE,CAC3F,CAAA;aACF;SACF;QACD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;YAC3B,IAAI,kBAAU,EAAE;gBACd,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;gBACrD,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,EAAE;oBACpE,OAAO,QAAQ,CAAA;iBAChB;aACF;iBAAM;gBACL,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;oBAC3B,OAAO,QAAQ,CAAA;iBAChB;aACF;SACF;QAED,qBAAqB;QACrB,MAAM,gBAAgB,GAAG,QAAQ,CAAA;QACjC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,QAAQ,GAAG,gBAAgB,GAAG,SAAS,CAAA;YAEvC,KAAK,GAAG,SAAS,CAAA;YACjB,IAAI;gBACF,KAAK,GAAG,MAAM,YAAI,CAAC,QAAQ,CAAC,CAAA;aAC7B;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;oBACzB,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CACT,uEAAuE,QAAQ,MAAM,GAAG,EAAE,CAC3F,CAAA;iBACF;aACF;YAED,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;gBAC3B,IAAI,kBAAU,EAAE;oBACd,yEAAyE;oBACzE,IAAI;wBACF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;wBACxC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;wBACvD,KAAK,MAAM,UAAU,IAAI,MAAM,eAAO,CAAC,SAAS,CAAC,EAAE;4BACjD,IAAI,SAAS,KAAK,UAAU,CAAC,WAAW,EAAE,EAAE;gCAC1C,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;gCAC3C,MAAK;6BACN;yBACF;qBACF;oBAAC,OAAO,GAAG,EAAE;wBACZ,sCAAsC;wBACtC,OAAO,CAAC,GAAG,CACT,yEAAyE,QAAQ,MAAM,GAAG,EAAE,CAC7F,CAAA;qBACF;oBAED,OAAO,QAAQ,CAAA;iBAChB;qBAAM;oBACL,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;wBAC3B,OAAO,QAAQ,CAAA;qBAChB;iBACF;aACF;SACF;QAED,OAAO,EAAE,CAAA;IACX,CAAC;CAAA;AA5ED,oDA4EC;AAED,SAAS,mBAAmB,CAAC,CAAS;IACpC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IACX,IAAI,kBAAU,EAAE;QACd,6BAA6B;QAC7B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAE1B,2BAA2B;QAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;KACjC;IAED,2BAA2B;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC;AAED,qCAAqC;AACrC,6BAA6B;AAC7B,6BAA6B;AAC7B,SAAS,gBAAgB,CAAC,KAAe;IACvC,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;QACpB,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACxD,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAC1D,CAAA;AACH,CAAC;AAED,qCAAqC;AACrC,SAAgB,UAAU;;IACxB,aAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,SAAS,CAAA;AAC5C,CAAC;AAFD,gCAEC"} \ No newline at end of file diff --git a/node_modules/@actions/io/lib/io.d.ts b/node_modules/@actions/io/lib/io.d.ts new file mode 100644 index 00000000..a674522f --- /dev/null +++ b/node_modules/@actions/io/lib/io.d.ts @@ -0,0 +1,64 @@ +/** + * Interface for cp/mv options + */ +export interface CopyOptions { + /** Optional. Whether to recursively copy all subdirectories. Defaults to false */ + recursive?: boolean; + /** Optional. Whether to overwrite existing files in the destination. Defaults to true */ + force?: boolean; + /** Optional. Whether to copy the source directory along with all the files. Only takes effect when recursive=true and copying a directory. Default is true*/ + copySourceDirectory?: boolean; +} +/** + * Interface for cp/mv options + */ +export interface MoveOptions { + /** Optional. Whether to overwrite existing files in the destination. Defaults to true */ + force?: boolean; +} +/** + * Copies a file or folder. + * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js + * + * @param source source path + * @param dest destination path + * @param options optional. See CopyOptions. + */ +export declare function cp(source: string, dest: string, options?: CopyOptions): Promise; +/** + * Moves a path. + * + * @param source source path + * @param dest destination path + * @param options optional. See MoveOptions. + */ +export declare function mv(source: string, dest: string, options?: MoveOptions): Promise; +/** + * Remove a path recursively with force + * + * @param inputPath path to remove + */ +export declare function rmRF(inputPath: string): Promise; +/** + * Make a directory. Creates the full path with folders in between + * Will throw if it fails + * + * @param fsPath path to create + * @returns Promise + */ +export declare function mkdirP(fsPath: string): Promise; +/** + * Returns path of a tool had the tool actually been invoked. Resolves via paths. + * If you check and the tool does not exist, it will throw. + * + * @param tool name of the tool + * @param check whether to check if tool exists + * @returns Promise path to tool + */ +export declare function which(tool: string, check?: boolean): Promise; +/** + * Returns a list of all occurrences of the given tool on the system path. + * + * @returns Promise the paths of the tool + */ +export declare function findInPath(tool: string): Promise; diff --git a/node_modules/@actions/io/lib/io.js b/node_modules/@actions/io/lib/io.js new file mode 100644 index 00000000..4dc1fc34 --- /dev/null +++ b/node_modules/@actions/io/lib/io.js @@ -0,0 +1,341 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0; +const assert_1 = require("assert"); +const childProcess = __importStar(require("child_process")); +const path = __importStar(require("path")); +const util_1 = require("util"); +const ioUtil = __importStar(require("./io-util")); +const exec = util_1.promisify(childProcess.exec); +const execFile = util_1.promisify(childProcess.execFile); +/** + * Copies a file or folder. + * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js + * + * @param source source path + * @param dest destination path + * @param options optional. See CopyOptions. + */ +function cp(source, dest, options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const { force, recursive, copySourceDirectory } = readCopyOptions(options); + const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null; + // Dest is an existing file, but not forcing + if (destStat && destStat.isFile() && !force) { + return; + } + // If dest is an existing directory, should copy inside. + const newDest = destStat && destStat.isDirectory() && copySourceDirectory + ? path.join(dest, path.basename(source)) + : dest; + if (!(yield ioUtil.exists(source))) { + throw new Error(`no such file or directory: ${source}`); + } + const sourceStat = yield ioUtil.stat(source); + if (sourceStat.isDirectory()) { + if (!recursive) { + throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`); + } + else { + yield cpDirRecursive(source, newDest, 0, force); + } + } + else { + if (path.relative(source, newDest) === '') { + // a file cannot be copied to itself + throw new Error(`'${newDest}' and '${source}' are the same file`); + } + yield copyFile(source, newDest, force); + } + }); +} +exports.cp = cp; +/** + * Moves a path. + * + * @param source source path + * @param dest destination path + * @param options optional. See MoveOptions. + */ +function mv(source, dest, options = {}) { + return __awaiter(this, void 0, void 0, function* () { + if (yield ioUtil.exists(dest)) { + let destExists = true; + if (yield ioUtil.isDirectory(dest)) { + // If dest is directory copy src into dest + dest = path.join(dest, path.basename(source)); + destExists = yield ioUtil.exists(dest); + } + if (destExists) { + if (options.force == null || options.force) { + yield rmRF(dest); + } + else { + throw new Error('Destination already exists'); + } + } + } + yield mkdirP(path.dirname(dest)); + yield ioUtil.rename(source, dest); + }); +} +exports.mv = mv; +/** + * Remove a path recursively with force + * + * @param inputPath path to remove + */ +function rmRF(inputPath) { + return __awaiter(this, void 0, void 0, function* () { + if (ioUtil.IS_WINDOWS) { + // Node doesn't provide a delete operation, only an unlink function. This means that if the file is being used by another + // program (e.g. antivirus), it won't be deleted. To address this, we shell out the work to rd/del. + // Check for invalid characters + // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file + if (/[*"<>|]/.test(inputPath)) { + throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); + } + try { + const cmdPath = ioUtil.getCmdPath(); + if (yield ioUtil.isDirectory(inputPath, true)) { + yield exec(`${cmdPath} /s /c "rd /s /q "%inputPath%""`, { + env: { inputPath } + }); + } + else { + yield exec(`${cmdPath} /s /c "del /f /a "%inputPath%""`, { + env: { inputPath } + }); + } + } + catch (err) { + // if you try to delete a file that doesn't exist, desired result is achieved + // other errors are valid + if (err.code !== 'ENOENT') + throw err; + } + // Shelling out fails to remove a symlink folder with missing source, this unlink catches that + try { + yield ioUtil.unlink(inputPath); + } + catch (err) { + // if you try to delete a file that doesn't exist, desired result is achieved + // other errors are valid + if (err.code !== 'ENOENT') + throw err; + } + } + else { + let isDir = false; + try { + isDir = yield ioUtil.isDirectory(inputPath); + } + catch (err) { + // if you try to delete a file that doesn't exist, desired result is achieved + // other errors are valid + if (err.code !== 'ENOENT') + throw err; + return; + } + if (isDir) { + yield execFile(`rm`, [`-rf`, `${inputPath}`]); + } + else { + yield ioUtil.unlink(inputPath); + } + } + }); +} +exports.rmRF = rmRF; +/** + * Make a directory. Creates the full path with folders in between + * Will throw if it fails + * + * @param fsPath path to create + * @returns Promise + */ +function mkdirP(fsPath) { + return __awaiter(this, void 0, void 0, function* () { + assert_1.ok(fsPath, 'a path argument must be provided'); + yield ioUtil.mkdir(fsPath, { recursive: true }); + }); +} +exports.mkdirP = mkdirP; +/** + * Returns path of a tool had the tool actually been invoked. Resolves via paths. + * If you check and the tool does not exist, it will throw. + * + * @param tool name of the tool + * @param check whether to check if tool exists + * @returns Promise path to tool + */ +function which(tool, check) { + return __awaiter(this, void 0, void 0, function* () { + if (!tool) { + throw new Error("parameter 'tool' is required"); + } + // recursive when check=true + if (check) { + const result = yield which(tool, false); + if (!result) { + if (ioUtil.IS_WINDOWS) { + throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`); + } + else { + throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`); + } + } + return result; + } + const matches = yield findInPath(tool); + if (matches && matches.length > 0) { + return matches[0]; + } + return ''; + }); +} +exports.which = which; +/** + * Returns a list of all occurrences of the given tool on the system path. + * + * @returns Promise the paths of the tool + */ +function findInPath(tool) { + return __awaiter(this, void 0, void 0, function* () { + if (!tool) { + throw new Error("parameter 'tool' is required"); + } + // build the list of extensions to try + const extensions = []; + if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) { + for (const extension of process.env['PATHEXT'].split(path.delimiter)) { + if (extension) { + extensions.push(extension); + } + } + } + // if it's rooted, return it if exists. otherwise return empty. + if (ioUtil.isRooted(tool)) { + const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions); + if (filePath) { + return [filePath]; + } + return []; + } + // if any path separators, return empty + if (tool.includes(path.sep)) { + return []; + } + // build the list of directories + // + // Note, technically "where" checks the current directory on Windows. From a toolkit perspective, + // it feels like we should not do this. Checking the current directory seems like more of a use + // case of a shell, and the which() function exposed by the toolkit should strive for consistency + // across platforms. + const directories = []; + if (process.env.PATH) { + for (const p of process.env.PATH.split(path.delimiter)) { + if (p) { + directories.push(p); + } + } + } + // find all matches + const matches = []; + for (const directory of directories) { + const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions); + if (filePath) { + matches.push(filePath); + } + } + return matches; + }); +} +exports.findInPath = findInPath; +function readCopyOptions(options) { + const force = options.force == null ? true : options.force; + const recursive = Boolean(options.recursive); + const copySourceDirectory = options.copySourceDirectory == null + ? true + : Boolean(options.copySourceDirectory); + return { force, recursive, copySourceDirectory }; +} +function cpDirRecursive(sourceDir, destDir, currentDepth, force) { + return __awaiter(this, void 0, void 0, function* () { + // Ensure there is not a run away recursive copy + if (currentDepth >= 255) + return; + currentDepth++; + yield mkdirP(destDir); + const files = yield ioUtil.readdir(sourceDir); + for (const fileName of files) { + const srcFile = `${sourceDir}/${fileName}`; + const destFile = `${destDir}/${fileName}`; + const srcFileStat = yield ioUtil.lstat(srcFile); + if (srcFileStat.isDirectory()) { + // Recurse + yield cpDirRecursive(srcFile, destFile, currentDepth, force); + } + else { + yield copyFile(srcFile, destFile, force); + } + } + // Change the mode for the newly created directory + yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode); + }); +} +// Buffered file copy +function copyFile(srcFile, destFile, force) { + return __awaiter(this, void 0, void 0, function* () { + if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) { + // unlink/re-link it + try { + yield ioUtil.lstat(destFile); + yield ioUtil.unlink(destFile); + } + catch (e) { + // Try to override file permission + if (e.code === 'EPERM') { + yield ioUtil.chmod(destFile, '0666'); + yield ioUtil.unlink(destFile); + } + // other errors = it doesn't exist, no work to do + } + // Copy over symlink + const symlinkFull = yield ioUtil.readlink(srcFile); + yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null); + } + else if (!(yield ioUtil.exists(destFile)) || force) { + yield ioUtil.copyFile(srcFile, destFile); + } + }); +} +//# sourceMappingURL=io.js.map \ No newline at end of file diff --git a/node_modules/@actions/io/lib/io.js.map b/node_modules/@actions/io/lib/io.js.map new file mode 100644 index 00000000..3249d7d8 --- /dev/null +++ b/node_modules/@actions/io/lib/io.js.map @@ -0,0 +1 @@ +{"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAyB;AACzB,4DAA6C;AAC7C,2CAA4B;AAC5B,+BAA8B;AAC9B,kDAAmC;AAEnC,MAAM,IAAI,GAAG,gBAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;AACzC,MAAM,QAAQ,GAAG,gBAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;AAsBjD;;;;;;;GAOG;AACH,SAAsB,EAAE,CACtB,MAAc,EACd,IAAY,EACZ,UAAuB,EAAE;;QAEzB,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAExE,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7E,4CAA4C;QAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;YAC3C,OAAM;SACP;QAED,wDAAwD;QACxD,MAAM,OAAO,GACX,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,mBAAmB;YACvD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAA;SACxD;QACD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE5C,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE;YAC5B,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,IAAI,KAAK,CACb,mBAAmB,MAAM,4DAA4D,CACtF,CAAA;aACF;iBAAM;gBACL,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;aAChD;SACF;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;gBACzC,oCAAoC;gBACpC,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,UAAU,MAAM,qBAAqB,CAAC,CAAA;aAClE;YAED,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;SACvC;IACH,CAAC;CAAA;AAxCD,gBAwCC;AAED;;;;;;GAMG;AACH,SAAsB,EAAE,CACtB,MAAc,EACd,IAAY,EACZ,UAAuB,EAAE;;QAEzB,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,UAAU,GAAG,IAAI,CAAA;YACrB,IAAI,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAClC,0CAA0C;gBAC1C,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC7C,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;aACvC;YAED,IAAI,UAAU,EAAE;gBACd,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE;oBAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;iBACjB;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;iBAC9C;aACF;SACF;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;CAAA;AAvBD,gBAuBC;AAED;;;;GAIG;AACH,SAAsB,IAAI,CAAC,SAAiB;;QAC1C,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,yHAAyH;YACzH,mGAAmG;YAEnG,+BAA+B;YAC/B,sEAAsE;YACtE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAA;aACF;YACD,IAAI;gBACF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;gBACnC,IAAI,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;oBAC7C,MAAM,IAAI,CAAC,GAAG,OAAO,iCAAiC,EAAE;wBACtD,GAAG,EAAE,EAAC,SAAS,EAAC;qBACjB,CAAC,CAAA;iBACH;qBAAM;oBACL,MAAM,IAAI,CAAC,GAAG,OAAO,kCAAkC,EAAE;wBACvD,GAAG,EAAE,EAAC,SAAS,EAAC;qBACjB,CAAC,CAAA;iBACH;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,6EAA6E;gBAC7E,yBAAyB;gBACzB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,GAAG,CAAA;aACrC;YAED,8FAA8F;YAC9F,IAAI;gBACF,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;aAC/B;YAAC,OAAO,GAAG,EAAE;gBACZ,6EAA6E;gBAC7E,yBAAyB;gBACzB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,GAAG,CAAA;aACrC;SACF;aAAM;YACL,IAAI,KAAK,GAAG,KAAK,CAAA;YACjB,IAAI;gBACF,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;aAC5C;YAAC,OAAO,GAAG,EAAE;gBACZ,6EAA6E;gBAC7E,yBAAyB;gBACzB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,GAAG,CAAA;gBACpC,OAAM;aACP;YAED,IAAI,KAAK,EAAE;gBACT,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAA;aAC9C;iBAAM;gBACL,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;aAC/B;SACF;IACH,CAAC;CAAA;AAtDD,oBAsDC;AAED;;;;;;GAMG;AACH,SAAsB,MAAM,CAAC,MAAc;;QACzC,WAAE,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAA;QAC9C,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;IAC/C,CAAC;CAAA;AAHD,wBAGC;AAED;;;;;;;GAOG;AACH,SAAsB,KAAK,CAAC,IAAY,EAAE,KAAe;;QACvD,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;SAChD;QAED,4BAA4B;QAC5B,IAAI,KAAK,EAAE;YACT,MAAM,MAAM,GAAW,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAE/C,IAAI,CAAC,MAAM,EAAE;gBACX,IAAI,MAAM,CAAC,UAAU,EAAE;oBACrB,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,wMAAwM,CAClP,CAAA;iBACF;qBAAM;oBACL,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,gMAAgM,CAC1O,CAAA;iBACF;aACF;YAED,OAAO,MAAM,CAAA;SACd;QAED,MAAM,OAAO,GAAa,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;SAClB;QAED,OAAO,EAAE,CAAA;IACX,CAAC;CAAA;AA/BD,sBA+BC;AAED;;;;GAIG;AACH,SAAsB,UAAU,CAAC,IAAY;;QAC3C,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;SAChD;QAED,sCAAsC;QACtC,MAAM,UAAU,GAAa,EAAE,CAAA;QAC/B,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC/C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACpE,IAAI,SAAS,EAAE;oBACb,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBAC3B;aACF;SACF;QAED,+DAA+D;QAC/D,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,QAAQ,GAAW,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAE5E,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAC,QAAQ,CAAC,CAAA;aAClB;YAED,OAAO,EAAE,CAAA;SACV;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC3B,OAAO,EAAE,CAAA;SACV;QAED,gCAAgC;QAChC,EAAE;QACF,iGAAiG;QACjG,+FAA+F;QAC/F,iGAAiG;QACjG,oBAAoB;QACpB,MAAM,WAAW,GAAa,EAAE,CAAA;QAEhC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YACpB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACtD,IAAI,CAAC,EAAE;oBACL,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;iBACpB;aACF;SACF;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;YACnC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAC1B,UAAU,CACX,CAAA;YACD,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACvB;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CAAA;AA7DD,gCA6DC;AAED,SAAS,eAAe,CAAC,OAAoB;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAA;IAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,mBAAmB,GACvB,OAAO,CAAC,mBAAmB,IAAI,IAAI;QACjC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1C,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAC,CAAA;AAChD,CAAC;AAED,SAAe,cAAc,CAC3B,SAAiB,EACjB,OAAe,EACf,YAAoB,EACpB,KAAc;;QAEd,gDAAgD;QAChD,IAAI,YAAY,IAAI,GAAG;YAAE,OAAM;QAC/B,YAAY,EAAE,CAAA;QAEd,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;QAErB,MAAM,KAAK,GAAa,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEvD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;YAC5B,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAA;YAC1C,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAA;YACzC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAE/C,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE;gBAC7B,UAAU;gBACV,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;aAC7D;iBAAM;gBACL,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;aACzC;SACF;QAED,kDAAkD;QAClD,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAClE,CAAC;CAAA;AAED,qBAAqB;AACrB,SAAe,QAAQ,CACrB,OAAe,EACf,QAAgB,EAChB,KAAc;;QAEd,IAAI,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE;YAClD,oBAAoB;YACpB,IAAI;gBACF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,kCAAkC;gBAClC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;oBACtB,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;oBACpC,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;iBAC9B;gBACD,iDAAiD;aAClD;YAED,oBAAoB;YACpB,MAAM,WAAW,GAAW,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC1D,MAAM,MAAM,CAAC,OAAO,CAClB,WAAW,EACX,QAAQ,EACR,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CACtC,CAAA;SACF;aAAM,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,EAAE;YACpD,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;SACzC;IACH,CAAC;CAAA"} \ No newline at end of file diff --git a/node_modules/@actions/io/package.json b/node_modules/@actions/io/package.json new file mode 100644 index 00000000..114e8e59 --- /dev/null +++ b/node_modules/@actions/io/package.json @@ -0,0 +1,37 @@ +{ + "name": "@actions/io", + "version": "1.1.1", + "description": "Actions io lib", + "keywords": [ + "github", + "actions", + "io" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/io", + "license": "MIT", + "main": "lib/io.js", + "types": "lib/io.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/io" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + } +} diff --git a/node_modules/@babel/code-frame/LICENSE b/node_modules/@babel/code-frame/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/code-frame/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/code-frame/README.md b/node_modules/@babel/code-frame/README.md new file mode 100644 index 00000000..08cacb04 --- /dev/null +++ b/node_modules/@babel/code-frame/README.md @@ -0,0 +1,19 @@ +# @babel/code-frame + +> Generate errors that contain a code frame that point to source locations. + +See our website [@babel/code-frame](https://babeljs.io/docs/en/babel-code-frame) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/code-frame +``` + +or using yarn: + +```sh +yarn add @babel/code-frame --dev +``` diff --git a/node_modules/@babel/code-frame/lib/index.js b/node_modules/@babel/code-frame/lib/index.js new file mode 100644 index 00000000..a32a1e1f --- /dev/null +++ b/node_modules/@babel/code-frame/lib/index.js @@ -0,0 +1,163 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.codeFrameColumns = codeFrameColumns; +exports.default = _default; + +var _highlight = require("@babel/highlight"); + +let deprecationWarningShown = false; + +function getDefs(chalk) { + return { + gutter: chalk.grey, + marker: chalk.red.bold, + message: chalk.red.bold + }; +} + +const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; + +function getMarkerLines(loc, source, opts) { + const startLoc = Object.assign({ + column: 0, + line: -1 + }, loc.start); + const endLoc = Object.assign({}, startLoc, loc.end); + const { + linesAbove = 2, + linesBelow = 3 + } = opts || {}; + const startLine = startLoc.line; + const startColumn = startLoc.column; + const endLine = endLoc.line; + const endColumn = endLoc.column; + let start = Math.max(startLine - (linesAbove + 1), 0); + let end = Math.min(source.length, endLine + linesBelow); + + if (startLine === -1) { + start = 0; + } + + if (endLine === -1) { + end = source.length; + } + + const lineDiff = endLine - startLine; + const markerLines = {}; + + if (lineDiff) { + for (let i = 0; i <= lineDiff; i++) { + const lineNumber = i + startLine; + + if (!startColumn) { + markerLines[lineNumber] = true; + } else if (i === 0) { + const sourceLength = source[lineNumber - 1].length; + markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1]; + } else if (i === lineDiff) { + markerLines[lineNumber] = [0, endColumn]; + } else { + const sourceLength = source[lineNumber - i].length; + markerLines[lineNumber] = [0, sourceLength]; + } + } + } else { + if (startColumn === endColumn) { + if (startColumn) { + markerLines[startLine] = [startColumn, 0]; + } else { + markerLines[startLine] = true; + } + } else { + markerLines[startLine] = [startColumn, endColumn - startColumn]; + } + } + + return { + start, + end, + markerLines + }; +} + +function codeFrameColumns(rawLines, loc, opts = {}) { + const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts); + const chalk = (0, _highlight.getChalk)(opts); + const defs = getDefs(chalk); + + const maybeHighlight = (chalkFn, string) => { + return highlighted ? chalkFn(string) : string; + }; + + const lines = rawLines.split(NEWLINE); + const { + start, + end, + markerLines + } = getMarkerLines(loc, lines, opts); + const hasColumns = loc.start && typeof loc.start.column === "number"; + const numberMaxWidth = String(end).length; + const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines; + let frame = highlightedLines.split(NEWLINE).slice(start, end).map((line, index) => { + const number = start + 1 + index; + const paddedNumber = ` ${number}`.slice(-numberMaxWidth); + const gutter = ` ${paddedNumber} |`; + const hasMarker = markerLines[number]; + const lastMarkerLine = !markerLines[number + 1]; + + if (hasMarker) { + let markerLine = ""; + + if (Array.isArray(hasMarker)) { + const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); + const numberOfMarkers = hasMarker[1] || 1; + markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); + + if (lastMarkerLine && opts.message) { + markerLine += " " + maybeHighlight(defs.message, opts.message); + } + } + + return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? ` ${line}` : "", markerLine].join(""); + } else { + return ` ${maybeHighlight(defs.gutter, gutter)}${line.length > 0 ? ` ${line}` : ""}`; + } + }).join("\n"); + + if (opts.message && !hasColumns) { + frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`; + } + + if (highlighted) { + return chalk.reset(frame); + } else { + return frame; + } +} + +function _default(rawLines, lineNumber, colNumber, opts = {}) { + if (!deprecationWarningShown) { + deprecationWarningShown = true; + const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; + + if (process.emitWarning) { + process.emitWarning(message, "DeprecationWarning"); + } else { + const deprecationError = new Error(message); + deprecationError.name = "DeprecationWarning"; + console.warn(new Error(message)); + } + } + + colNumber = Math.max(colNumber, 0); + const location = { + start: { + column: colNumber, + line: lineNumber + } + }; + return codeFrameColumns(rawLines, location, opts); +} \ No newline at end of file diff --git a/node_modules/@babel/code-frame/package.json b/node_modules/@babel/code-frame/package.json new file mode 100644 index 00000000..25f803d2 --- /dev/null +++ b/node_modules/@babel/code-frame/package.json @@ -0,0 +1,29 @@ +{ + "name": "@babel/code-frame", + "version": "7.14.5", + "description": "Generate errors that contain a code frame that point to source locations.", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-code-frame", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-code-frame" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "devDependencies": { + "@types/chalk": "^2.0.0", + "chalk": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/compat-data/LICENSE b/node_modules/@babel/compat-data/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/compat-data/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/compat-data/corejs2-built-ins.js b/node_modules/@babel/compat-data/corejs2-built-ins.js new file mode 100644 index 00000000..68ce97ff --- /dev/null +++ b/node_modules/@babel/compat-data/corejs2-built-ins.js @@ -0,0 +1 @@ +module.exports = require("./data/corejs2-built-ins.json"); diff --git a/node_modules/@babel/compat-data/corejs3-shipped-proposals.js b/node_modules/@babel/compat-data/corejs3-shipped-proposals.js new file mode 100644 index 00000000..6a85b4d9 --- /dev/null +++ b/node_modules/@babel/compat-data/corejs3-shipped-proposals.js @@ -0,0 +1 @@ +module.exports = require("./data/corejs3-shipped-proposals.json"); diff --git a/node_modules/@babel/compat-data/data/corejs2-built-ins.json b/node_modules/@babel/compat-data/data/corejs2-built-ins.json new file mode 100644 index 00000000..72c5f3ad --- /dev/null +++ b/node_modules/@babel/compat-data/data/corejs2-built-ins.json @@ -0,0 +1,1770 @@ +{ + "es6.array.copy-within": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "32", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "5", + "rhino": "1.7.13", + "electron": "0.31" + }, + "es6.array.every": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.array.fill": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "31", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "5", + "rhino": "1.7.13", + "electron": "0.31" + }, + "es6.array.filter": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.array.find": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "5", + "rhino": "1.7.13", + "electron": "0.31" + }, + "es6.array.find-index": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "5", + "rhino": "1.7.13", + "electron": "0.31" + }, + "es7.array.flat-map": { + "chrome": "69", + "opera": "56", + "edge": "79", + "firefox": "62", + "safari": "12", + "node": "11", + "ios": "12", + "samsung": "10", + "electron": "4.0" + }, + "es6.array.for-each": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.array.from": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "36", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es7.array.includes": { + "chrome": "47", + "opera": "34", + "edge": "14", + "firefox": "43", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "es6.array.index-of": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.array.is-array": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.array.iterator": { + "chrome": "66", + "opera": "53", + "edge": "12", + "firefox": "60", + "safari": "9", + "node": "10", + "ios": "9", + "samsung": "9", + "rhino": "1.7.13", + "electron": "3.0" + }, + "es6.array.last-index-of": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.array.map": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.array.of": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "5", + "rhino": "1.7.13", + "electron": "0.31" + }, + "es6.array.reduce": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.array.reduce-right": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.array.slice": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.array.some": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.array.sort": { + "chrome": "63", + "opera": "50", + "edge": "12", + "firefox": "5", + "safari": "12", + "node": "10", + "ie": "9", + "ios": "12", + "samsung": "8", + "rhino": "1.7.13", + "electron": "3.0" + }, + "es6.array.species": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.date.now": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.date.to-iso-string": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3.5", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.date.to-json": { + "chrome": "5", + "opera": "12.10", + "edge": "12", + "firefox": "4", + "safari": "10", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "10", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.date.to-primitive": { + "chrome": "47", + "opera": "34", + "edge": "15", + "firefox": "44", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "es6.date.to-string": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "10", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.function.bind": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.function.has-instance": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "50", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.function.name": { + "chrome": "5", + "opera": "10.50", + "edge": "14", + "firefox": "2", + "safari": "4", + "node": "0.10", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.map": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.math.acosh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.asinh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.atanh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.cbrt": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.clz32": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.cosh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.expm1": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.fround": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "26", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.hypot": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "27", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.imul": { + "chrome": "30", + "opera": "17", + "edge": "12", + "firefox": "23", + "safari": "7", + "node": "0.12", + "android": "4.4", + "ios": "7", + "samsung": "2", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.log1p": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.log10": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.log2": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.sign": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.sinh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.tanh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.math.trunc": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.number.constructor": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "electron": "0.21" + }, + "es6.number.epsilon": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es6.number.is-finite": { + "chrome": "19", + "opera": "15", + "edge": "12", + "firefox": "16", + "safari": "9", + "node": "0.12", + "android": "4.1", + "ios": "9", + "samsung": "1.5", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.number.is-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "16", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.number.is-nan": { + "chrome": "19", + "opera": "15", + "edge": "12", + "firefox": "15", + "safari": "9", + "node": "0.12", + "android": "4.1", + "ios": "9", + "samsung": "1.5", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.number.is-safe-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "32", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.number.max-safe-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.number.min-safe-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.number.parse-float": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es6.number.parse-int": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es6.object.assign": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "36", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.object.create": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es7.object.define-getter": { + "chrome": "62", + "opera": "49", + "edge": "16", + "firefox": "48", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8", + "electron": "3.0" + }, + "es7.object.define-setter": { + "chrome": "62", + "opera": "49", + "edge": "16", + "firefox": "48", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8", + "electron": "3.0" + }, + "es6.object.define-property": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.object.define-properties": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es7.object.entries": { + "chrome": "54", + "opera": "41", + "edge": "14", + "firefox": "47", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6", + "electron": "1.4" + }, + "es6.object.freeze": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "electron": "0.30" + }, + "es6.object.get-own-property-descriptor": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "electron": "0.30" + }, + "es7.object.get-own-property-descriptors": { + "chrome": "54", + "opera": "41", + "edge": "15", + "firefox": "50", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6", + "electron": "1.4" + }, + "es6.object.get-own-property-names": { + "chrome": "40", + "opera": "27", + "edge": "12", + "firefox": "33", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "electron": "0.21" + }, + "es6.object.get-prototype-of": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "electron": "0.30" + }, + "es7.object.lookup-getter": { + "chrome": "62", + "opera": "49", + "edge": "79", + "firefox": "36", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8", + "electron": "3.0" + }, + "es7.object.lookup-setter": { + "chrome": "62", + "opera": "49", + "edge": "79", + "firefox": "36", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8", + "electron": "3.0" + }, + "es6.object.prevent-extensions": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "electron": "0.30" + }, + "es6.object.to-string": { + "chrome": "57", + "opera": "44", + "edge": "15", + "firefox": "51", + "safari": "10", + "node": "8", + "ios": "10", + "samsung": "7", + "electron": "1.7" + }, + "es6.object.is": { + "chrome": "19", + "opera": "15", + "edge": "12", + "firefox": "22", + "safari": "9", + "node": "0.12", + "android": "4.1", + "ios": "9", + "samsung": "1.5", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.object.is-frozen": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "electron": "0.30" + }, + "es6.object.is-sealed": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "electron": "0.30" + }, + "es6.object.is-extensible": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "electron": "0.30" + }, + "es6.object.keys": { + "chrome": "40", + "opera": "27", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "electron": "0.21" + }, + "es6.object.seal": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "electron": "0.30" + }, + "es6.object.set-prototype-of": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ie": "11", + "ios": "9", + "samsung": "2", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es7.object.values": { + "chrome": "54", + "opera": "41", + "edge": "14", + "firefox": "47", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6", + "electron": "1.4" + }, + "es6.promise": { + "chrome": "51", + "opera": "38", + "edge": "14", + "firefox": "45", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es7.promise.finally": { + "chrome": "63", + "opera": "50", + "edge": "18", + "firefox": "58", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "samsung": "8", + "electron": "3.0" + }, + "es6.reflect.apply": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.construct": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.define-property": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.delete-property": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.get": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.get-own-property-descriptor": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.get-prototype-of": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.has": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.is-extensible": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.own-keys": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.prevent-extensions": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.set": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.set-prototype-of": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.regexp.constructor": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "40", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "es6.regexp.flags": { + "chrome": "49", + "opera": "36", + "edge": "79", + "firefox": "37", + "safari": "9", + "node": "6", + "ios": "9", + "samsung": "5", + "electron": "0.37" + }, + "es6.regexp.match": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "rhino": "1.7.13", + "electron": "1.1" + }, + "es6.regexp.replace": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "es6.regexp.split": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "es6.regexp.search": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "rhino": "1.7.13", + "electron": "1.1" + }, + "es6.regexp.to-string": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "39", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "es6.set": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.symbol": { + "chrome": "51", + "opera": "38", + "edge": "79", + "firefox": "51", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es7.symbol.async-iterator": { + "chrome": "63", + "opera": "50", + "edge": "79", + "firefox": "57", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "8", + "electron": "3.0" + }, + "es6.string.anchor": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.big": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.blink": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.bold": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.code-point-at": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "electron": "0.21" + }, + "es6.string.ends-with": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "electron": "0.21" + }, + "es6.string.fixed": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.fontcolor": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.fontsize": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.from-code-point": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "electron": "0.21" + }, + "es6.string.includes": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "40", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "electron": "0.21" + }, + "es6.string.italics": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.iterator": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.string.link": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es7.string.pad-start": { + "chrome": "57", + "opera": "44", + "edge": "15", + "firefox": "48", + "safari": "10", + "node": "8", + "ios": "10", + "samsung": "7", + "rhino": "1.7.13", + "electron": "1.7" + }, + "es7.string.pad-end": { + "chrome": "57", + "opera": "44", + "edge": "15", + "firefox": "48", + "safari": "10", + "node": "8", + "ios": "10", + "samsung": "7", + "rhino": "1.7.13", + "electron": "1.7" + }, + "es6.string.raw": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "34", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.string.repeat": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "24", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "electron": "0.21" + }, + "es6.string.small": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.starts-with": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "electron": "0.21" + }, + "es6.string.strike": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.sub": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.sup": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.trim": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3.5", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es7.string.trim-left": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "61", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "9", + "rhino": "1.7.13", + "electron": "3.0" + }, + "es7.string.trim-right": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "61", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "9", + "rhino": "1.7.13", + "electron": "3.0" + }, + "es6.typed.array-buffer": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.data-view": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "15", + "safari": "5.1", + "node": "0.10", + "ie": "10", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "es6.typed.int8-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.uint8-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.uint8-clamped-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.int16-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.uint16-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.int32-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.uint32-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.float32-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.float64-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.weak-map": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "9", + "node": "6.5", + "ios": "9", + "samsung": "5", + "electron": "1.2" + }, + "es6.weak-set": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "9", + "node": "6.5", + "ios": "9", + "samsung": "5", + "electron": "1.2" + } +} diff --git a/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json b/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json new file mode 100644 index 00000000..7ce01ed9 --- /dev/null +++ b/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json @@ -0,0 +1,5 @@ +[ + "esnext.global-this", + "esnext.promise.all-settled", + "esnext.string.match-all" +] diff --git a/node_modules/@babel/compat-data/data/native-modules.json b/node_modules/@babel/compat-data/data/native-modules.json new file mode 100644 index 00000000..bf634997 --- /dev/null +++ b/node_modules/@babel/compat-data/data/native-modules.json @@ -0,0 +1,18 @@ +{ + "es6.module": { + "chrome": "61", + "and_chr": "61", + "edge": "16", + "firefox": "60", + "and_ff": "60", + "node": "13.2.0", + "opera": "48", + "op_mob": "48", + "safari": "10.1", + "ios": "10.3", + "samsung": "8.2", + "android": "61", + "electron": "2.0", + "ios_saf": "10.3" + } +} diff --git a/node_modules/@babel/compat-data/data/overlapping-plugins.json b/node_modules/@babel/compat-data/data/overlapping-plugins.json new file mode 100644 index 00000000..51976d9e --- /dev/null +++ b/node_modules/@babel/compat-data/data/overlapping-plugins.json @@ -0,0 +1,21 @@ +{ + "transform-async-to-generator": [ + "bugfix/transform-async-arrows-in-class" + ], + "transform-parameters": [ + "bugfix/transform-edge-default-parameters" + ], + "transform-function-name": [ + "bugfix/transform-edge-function-name" + ], + "transform-block-scoping": [ + "bugfix/transform-safari-block-shadowing", + "bugfix/transform-safari-for-shadowing" + ], + "transform-template-literals": [ + "bugfix/transform-tagged-template-caching" + ], + "proposal-optional-chaining": [ + "bugfix/transform-v8-spread-parameters-in-optional-chaining" + ] +} diff --git a/node_modules/@babel/compat-data/data/plugin-bugfixes.json b/node_modules/@babel/compat-data/data/plugin-bugfixes.json new file mode 100644 index 00000000..6e6d3498 --- /dev/null +++ b/node_modules/@babel/compat-data/data/plugin-bugfixes.json @@ -0,0 +1,142 @@ +{ + "transform-async-to-generator": { + "chrome": "55", + "opera": "42", + "edge": "15", + "firefox": "52", + "safari": "10.1", + "node": "7.6", + "ios": "10.3", + "samsung": "6", + "electron": "1.6" + }, + "bugfix/transform-async-arrows-in-class": { + "chrome": "55", + "opera": "42", + "edge": "15", + "firefox": "52", + "safari": "11", + "node": "7.6", + "ios": "11", + "samsung": "6", + "electron": "1.6" + }, + "transform-parameters": { + "chrome": "49", + "opera": "36", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "bugfix/transform-edge-default-parameters": { + "chrome": "49", + "opera": "36", + "edge": "18", + "firefox": "52", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "transform-function-name": { + "chrome": "51", + "opera": "38", + "edge": "14", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "bugfix/transform-edge-function-name": { + "chrome": "51", + "opera": "38", + "edge": "79", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "transform-block-scoping": { + "chrome": "49", + "opera": "36", + "edge": "14", + "firefox": "51", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "bugfix/transform-safari-block-shadowing": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "44", + "safari": "11", + "node": "6", + "ie": "11", + "ios": "11", + "samsung": "5", + "electron": "0.37" + }, + "bugfix/transform-safari-for-shadowing": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "4", + "safari": "11", + "node": "6", + "ie": "11", + "ios": "11", + "samsung": "5", + "rhino": "1.7.13", + "electron": "0.37" + }, + "transform-template-literals": { + "chrome": "41", + "opera": "28", + "edge": "13", + "firefox": "34", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "bugfix/transform-tagged-template-caching": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "34", + "safari": "13", + "node": "4", + "ios": "13", + "samsung": "3.4", + "electron": "0.21" + }, + "proposal-optional-chaining": { + "chrome": "80", + "opera": "67", + "edge": "80", + "firefox": "74", + "safari": "13.1", + "node": "14", + "ios": "13.4", + "samsung": "13", + "electron": "8.0" + }, + "bugfix/transform-v8-spread-parameters-in-optional-chaining": { + "firefox": "74", + "safari": "13.1", + "ios": "13.4" + } +} diff --git a/node_modules/@babel/compat-data/data/plugins.json b/node_modules/@babel/compat-data/data/plugins.json new file mode 100644 index 00000000..13b40a3a --- /dev/null +++ b/node_modules/@babel/compat-data/data/plugins.json @@ -0,0 +1,458 @@ +{ + "proposal-class-static-block": { + "chrome": "91", + "electron": "13.0" + }, + "proposal-private-property-in-object": { + "chrome": "91", + "firefox": "90", + "electron": "13.0" + }, + "proposal-class-properties": { + "chrome": "74", + "opera": "62", + "edge": "79", + "firefox": "90", + "safari": "14.1", + "node": "12", + "samsung": "11", + "electron": "6.0" + }, + "proposal-private-methods": { + "chrome": "84", + "opera": "70", + "edge": "84", + "firefox": "90", + "safari": "15", + "node": "14.6", + "electron": "10.0" + }, + "proposal-numeric-separator": { + "chrome": "75", + "opera": "62", + "edge": "79", + "firefox": "70", + "safari": "13", + "node": "12.5", + "ios": "13", + "samsung": "11", + "electron": "6.0" + }, + "proposal-logical-assignment-operators": { + "chrome": "85", + "opera": "71", + "edge": "85", + "firefox": "79", + "safari": "14", + "node": "15", + "ios": "14", + "electron": "10.0" + }, + "proposal-nullish-coalescing-operator": { + "chrome": "80", + "opera": "67", + "edge": "80", + "firefox": "72", + "safari": "13.1", + "node": "14", + "ios": "13.4", + "samsung": "13", + "electron": "8.0" + }, + "proposal-optional-chaining": { + "firefox": "74", + "safari": "13.1", + "ios": "13.4" + }, + "proposal-json-strings": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "62", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "9", + "electron": "3.0" + }, + "proposal-optional-catch-binding": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "58", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "samsung": "9", + "electron": "3.0" + }, + "transform-parameters": { + "chrome": "49", + "opera": "36", + "edge": "18", + "firefox": "53", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "proposal-async-generator-functions": { + "chrome": "63", + "opera": "50", + "edge": "79", + "firefox": "57", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "8", + "electron": "3.0" + }, + "proposal-object-rest-spread": { + "chrome": "60", + "opera": "47", + "edge": "79", + "firefox": "55", + "safari": "11.1", + "node": "8.3", + "ios": "11.3", + "samsung": "8", + "electron": "2.0" + }, + "transform-dotall-regex": { + "chrome": "62", + "opera": "49", + "edge": "79", + "firefox": "78", + "safari": "11.1", + "node": "8.10", + "ios": "11.3", + "samsung": "8", + "electron": "3.0" + }, + "proposal-unicode-property-regex": { + "chrome": "64", + "opera": "51", + "edge": "79", + "firefox": "78", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "samsung": "9", + "electron": "3.0" + }, + "transform-named-capturing-groups-regex": { + "chrome": "64", + "opera": "51", + "edge": "79", + "firefox": "78", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "samsung": "9", + "electron": "3.0" + }, + "transform-async-to-generator": { + "chrome": "55", + "opera": "42", + "edge": "15", + "firefox": "52", + "safari": "11", + "node": "7.6", + "ios": "11", + "samsung": "6", + "electron": "1.6" + }, + "transform-exponentiation-operator": { + "chrome": "52", + "opera": "39", + "edge": "14", + "firefox": "52", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6", + "electron": "1.3" + }, + "transform-template-literals": { + "chrome": "41", + "opera": "28", + "edge": "13", + "firefox": "34", + "safari": "13", + "node": "4", + "ios": "13", + "samsung": "3.4", + "electron": "0.21" + }, + "transform-literals": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "53", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "transform-function-name": { + "chrome": "51", + "opera": "38", + "edge": "79", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "transform-arrow-functions": { + "chrome": "47", + "opera": "34", + "edge": "13", + "firefox": "43", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "rhino": "1.7.13", + "electron": "0.36" + }, + "transform-block-scoped-functions": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "46", + "safari": "10", + "node": "4", + "ie": "11", + "ios": "10", + "samsung": "3.4", + "electron": "0.21" + }, + "transform-classes": { + "chrome": "46", + "opera": "33", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "transform-object-super": { + "chrome": "46", + "opera": "33", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "transform-shorthand-properties": { + "chrome": "43", + "opera": "30", + "edge": "12", + "firefox": "33", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.27" + }, + "transform-duplicate-keys": { + "chrome": "42", + "opera": "29", + "edge": "12", + "firefox": "34", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.25" + }, + "transform-computed-properties": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "34", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "4", + "electron": "0.30" + }, + "transform-for-of": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "transform-sticky-regex": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "3", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "transform-unicode-escapes": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "53", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "transform-unicode-regex": { + "chrome": "50", + "opera": "37", + "edge": "13", + "firefox": "46", + "safari": "12", + "node": "6", + "ios": "12", + "samsung": "5", + "electron": "1.1" + }, + "transform-spread": { + "chrome": "46", + "opera": "33", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "transform-destructuring": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "transform-block-scoping": { + "chrome": "49", + "opera": "36", + "edge": "14", + "firefox": "51", + "safari": "11", + "node": "6", + "ios": "11", + "samsung": "5", + "electron": "0.37" + }, + "transform-typeof-symbol": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "rhino": "1.7.13", + "electron": "0.20" + }, + "transform-new-target": { + "chrome": "46", + "opera": "33", + "edge": "14", + "firefox": "45", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "transform-regenerator": { + "chrome": "50", + "opera": "37", + "edge": "13", + "firefox": "53", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "transform-member-expression-literals": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "2", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "transform-property-literals": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "2", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "transform-reserved-words": { + "chrome": "13", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4.4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "rhino": "1.7.13", + "electron": "0.20" + }, + "proposal-export-namespace-from": { + "chrome": "72", + "and_chr": "72", + "edge": "79", + "firefox": "80", + "and_ff": "80", + "node": "13.2", + "opera": "60", + "op_mob": "51", + "samsung": "11.0", + "android": "72", + "electron": "5.0" + } +} diff --git a/node_modules/@babel/compat-data/native-modules.js b/node_modules/@babel/compat-data/native-modules.js new file mode 100644 index 00000000..8e97da4b --- /dev/null +++ b/node_modules/@babel/compat-data/native-modules.js @@ -0,0 +1 @@ +module.exports = require("./data/native-modules.json"); diff --git a/node_modules/@babel/compat-data/overlapping-plugins.js b/node_modules/@babel/compat-data/overlapping-plugins.js new file mode 100644 index 00000000..88242e46 --- /dev/null +++ b/node_modules/@babel/compat-data/overlapping-plugins.js @@ -0,0 +1 @@ +module.exports = require("./data/overlapping-plugins.json"); diff --git a/node_modules/@babel/compat-data/package.json b/node_modules/@babel/compat-data/package.json new file mode 100644 index 00000000..e745f829 --- /dev/null +++ b/node_modules/@babel/compat-data/package.json @@ -0,0 +1,39 @@ +{ + "name": "@babel/compat-data", + "version": "7.15.0", + "author": "The Babel Team (https://babel.dev/team)", + "license": "MIT", + "description": "", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-compat-data" + }, + "publishConfig": { + "access": "public" + }, + "exports": { + "./plugins": "./plugins.js", + "./native-modules": "./native-modules.js", + "./corejs2-built-ins": "./corejs2-built-ins.js", + "./corejs3-shipped-proposals": "./corejs3-shipped-proposals.js", + "./overlapping-plugins": "./overlapping-plugins.js", + "./plugin-bugfixes": "./plugin-bugfixes.js" + }, + "scripts": { + "build-data": "./scripts/download-compat-table.sh && node ./scripts/build-data.js && node ./scripts/build-modules-support.js && node ./scripts/build-bugfixes-targets.js" + }, + "keywords": [ + "babel", + "compat-table", + "compat-data" + ], + "devDependencies": { + "@mdn/browser-compat-data": "^3.3.4", + "core-js-compat": "^3.16.0", + "electron-to-chromium": "^1.3.749" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/compat-data/plugin-bugfixes.js b/node_modules/@babel/compat-data/plugin-bugfixes.js new file mode 100644 index 00000000..f390181a --- /dev/null +++ b/node_modules/@babel/compat-data/plugin-bugfixes.js @@ -0,0 +1 @@ +module.exports = require("./data/plugin-bugfixes.json"); diff --git a/node_modules/@babel/compat-data/plugins.js b/node_modules/@babel/compat-data/plugins.js new file mode 100644 index 00000000..42646edc --- /dev/null +++ b/node_modules/@babel/compat-data/plugins.js @@ -0,0 +1 @@ +module.exports = require("./data/plugins.json"); diff --git a/node_modules/@babel/core/LICENSE b/node_modules/@babel/core/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/core/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/core/README.md b/node_modules/@babel/core/README.md new file mode 100644 index 00000000..9b3a9503 --- /dev/null +++ b/node_modules/@babel/core/README.md @@ -0,0 +1,19 @@ +# @babel/core + +> Babel compiler core. + +See our website [@babel/core](https://babeljs.io/docs/en/babel-core) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20core%22+is%3Aopen) associated with this package. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/core +``` + +or using yarn: + +```sh +yarn add @babel/core --dev +``` diff --git a/node_modules/@babel/core/lib/config/cache-contexts.js b/node_modules/@babel/core/lib/config/cache-contexts.js new file mode 100644 index 00000000..e69de29b diff --git a/node_modules/@babel/core/lib/config/caching.js b/node_modules/@babel/core/lib/config/caching.js new file mode 100644 index 00000000..7d70d65b --- /dev/null +++ b/node_modules/@babel/core/lib/config/caching.js @@ -0,0 +1,325 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.makeWeakCache = makeWeakCache; +exports.makeWeakCacheSync = makeWeakCacheSync; +exports.makeStrongCache = makeStrongCache; +exports.makeStrongCacheSync = makeStrongCacheSync; +exports.assertSimpleType = assertSimpleType; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +var _async = require("../gensync-utils/async"); + +var _util = require("./util"); + +const synchronize = gen => { + return _gensync()(gen).sync; +}; + +function* genTrue() { + return true; +} + +function makeWeakCache(handler) { + return makeCachedFunction(WeakMap, handler); +} + +function makeWeakCacheSync(handler) { + return synchronize(makeWeakCache(handler)); +} + +function makeStrongCache(handler) { + return makeCachedFunction(Map, handler); +} + +function makeStrongCacheSync(handler) { + return synchronize(makeStrongCache(handler)); +} + +function makeCachedFunction(CallCache, handler) { + const callCacheSync = new CallCache(); + const callCacheAsync = new CallCache(); + const futureCache = new CallCache(); + return function* cachedFunction(arg, data) { + const asyncContext = yield* (0, _async.isAsync)(); + const callCache = asyncContext ? callCacheAsync : callCacheSync; + const cached = yield* getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data); + if (cached.valid) return cached.value; + const cache = new CacheConfigurator(data); + const handlerResult = handler(arg, cache); + let finishLock; + let value; + + if ((0, _util.isIterableIterator)(handlerResult)) { + const gen = handlerResult; + value = yield* (0, _async.onFirstPause)(gen, () => { + finishLock = setupAsyncLocks(cache, futureCache, arg); + }); + } else { + value = handlerResult; + } + + updateFunctionCache(callCache, cache, arg, value); + + if (finishLock) { + futureCache.delete(arg); + finishLock.release(value); + } + + return value; + }; +} + +function* getCachedValue(cache, arg, data) { + const cachedValue = cache.get(arg); + + if (cachedValue) { + for (const { + value, + valid + } of cachedValue) { + if (yield* valid(data)) return { + valid: true, + value + }; + } + } + + return { + valid: false, + value: null + }; +} + +function* getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data) { + const cached = yield* getCachedValue(callCache, arg, data); + + if (cached.valid) { + return cached; + } + + if (asyncContext) { + const cached = yield* getCachedValue(futureCache, arg, data); + + if (cached.valid) { + const value = yield* (0, _async.waitFor)(cached.value.promise); + return { + valid: true, + value + }; + } + } + + return { + valid: false, + value: null + }; +} + +function setupAsyncLocks(config, futureCache, arg) { + const finishLock = new Lock(); + updateFunctionCache(futureCache, config, arg, finishLock); + return finishLock; +} + +function updateFunctionCache(cache, config, arg, value) { + if (!config.configured()) config.forever(); + let cachedValue = cache.get(arg); + config.deactivate(); + + switch (config.mode()) { + case "forever": + cachedValue = [{ + value, + valid: genTrue + }]; + cache.set(arg, cachedValue); + break; + + case "invalidate": + cachedValue = [{ + value, + valid: config.validator() + }]; + cache.set(arg, cachedValue); + break; + + case "valid": + if (cachedValue) { + cachedValue.push({ + value, + valid: config.validator() + }); + } else { + cachedValue = [{ + value, + valid: config.validator() + }]; + cache.set(arg, cachedValue); + } + + } +} + +class CacheConfigurator { + constructor(data) { + this._active = true; + this._never = false; + this._forever = false; + this._invalidate = false; + this._configured = false; + this._pairs = []; + this._data = void 0; + this._data = data; + } + + simple() { + return makeSimpleConfigurator(this); + } + + mode() { + if (this._never) return "never"; + if (this._forever) return "forever"; + if (this._invalidate) return "invalidate"; + return "valid"; + } + + forever() { + if (!this._active) { + throw new Error("Cannot change caching after evaluation has completed."); + } + + if (this._never) { + throw new Error("Caching has already been configured with .never()"); + } + + this._forever = true; + this._configured = true; + } + + never() { + if (!this._active) { + throw new Error("Cannot change caching after evaluation has completed."); + } + + if (this._forever) { + throw new Error("Caching has already been configured with .forever()"); + } + + this._never = true; + this._configured = true; + } + + using(handler) { + if (!this._active) { + throw new Error("Cannot change caching after evaluation has completed."); + } + + if (this._never || this._forever) { + throw new Error("Caching has already been configured with .never or .forever()"); + } + + this._configured = true; + const key = handler(this._data); + const fn = (0, _async.maybeAsync)(handler, `You appear to be using an async cache handler, but Babel has been called synchronously`); + + if ((0, _async.isThenable)(key)) { + return key.then(key => { + this._pairs.push([key, fn]); + + return key; + }); + } + + this._pairs.push([key, fn]); + + return key; + } + + invalidate(handler) { + this._invalidate = true; + return this.using(handler); + } + + validator() { + const pairs = this._pairs; + return function* (data) { + for (const [key, fn] of pairs) { + if (key !== (yield* fn(data))) return false; + } + + return true; + }; + } + + deactivate() { + this._active = false; + } + + configured() { + return this._configured; + } + +} + +function makeSimpleConfigurator(cache) { + function cacheFn(val) { + if (typeof val === "boolean") { + if (val) cache.forever();else cache.never(); + return; + } + + return cache.using(() => assertSimpleType(val())); + } + + cacheFn.forever = () => cache.forever(); + + cacheFn.never = () => cache.never(); + + cacheFn.using = cb => cache.using(() => assertSimpleType(cb())); + + cacheFn.invalidate = cb => cache.invalidate(() => assertSimpleType(cb())); + + return cacheFn; +} + +function assertSimpleType(value) { + if ((0, _async.isThenable)(value)) { + throw new Error(`You appear to be using an async cache handler, ` + `which your current version of Babel does not support. ` + `We may add support for this in the future, ` + `but if you're on the most recent version of @babel/core and still ` + `seeing this error, then you'll need to synchronously handle your caching logic.`); + } + + if (value != null && typeof value !== "string" && typeof value !== "boolean" && typeof value !== "number") { + throw new Error("Cache keys must be either string, boolean, number, null, or undefined."); + } + + return value; +} + +class Lock { + constructor() { + this.released = false; + this.promise = void 0; + this._resolve = void 0; + this.promise = new Promise(resolve => { + this._resolve = resolve; + }); + } + + release(value) { + this.released = true; + + this._resolve(value); + } + +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/config-chain.js b/node_modules/@babel/core/lib/config/config-chain.js new file mode 100644 index 00000000..99938616 --- /dev/null +++ b/node_modules/@babel/core/lib/config/config-chain.js @@ -0,0 +1,556 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.buildPresetChain = buildPresetChain; +exports.buildRootChain = buildRootChain; +exports.buildPresetChainWalker = void 0; + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +function _debug() { + const data = require("debug"); + + _debug = function () { + return data; + }; + + return data; +} + +var _options = require("./validation/options"); + +var _patternToRegex = require("./pattern-to-regex"); + +var _printer = require("./printer"); + +var _files = require("./files"); + +var _caching = require("./caching"); + +var _configDescriptors = require("./config-descriptors"); + +const debug = _debug()("babel:config:config-chain"); + +function* buildPresetChain(arg, context) { + const chain = yield* buildPresetChainWalker(arg, context); + if (!chain) return null; + return { + plugins: dedupDescriptors(chain.plugins), + presets: dedupDescriptors(chain.presets), + options: chain.options.map(o => normalizeOptions(o)), + files: new Set() + }; +} + +const buildPresetChainWalker = makeChainWalker({ + root: preset => loadPresetDescriptors(preset), + env: (preset, envName) => loadPresetEnvDescriptors(preset)(envName), + overrides: (preset, index) => loadPresetOverridesDescriptors(preset)(index), + overridesEnv: (preset, index, envName) => loadPresetOverridesEnvDescriptors(preset)(index)(envName), + createLogger: () => () => {} +}); +exports.buildPresetChainWalker = buildPresetChainWalker; +const loadPresetDescriptors = (0, _caching.makeWeakCacheSync)(preset => buildRootDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors)); +const loadPresetEnvDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(envName => buildEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, envName))); +const loadPresetOverridesDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(index => buildOverrideDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index))); +const loadPresetOverridesEnvDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(index => (0, _caching.makeStrongCacheSync)(envName => buildOverrideEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index, envName)))); + +function* buildRootChain(opts, context) { + let configReport, babelRcReport; + const programmaticLogger = new _printer.ConfigPrinter(); + const programmaticChain = yield* loadProgrammaticChain({ + options: opts, + dirname: context.cwd + }, context, undefined, programmaticLogger); + if (!programmaticChain) return null; + const programmaticReport = yield* programmaticLogger.output(); + let configFile; + + if (typeof opts.configFile === "string") { + configFile = yield* (0, _files.loadConfig)(opts.configFile, context.cwd, context.envName, context.caller); + } else if (opts.configFile !== false) { + configFile = yield* (0, _files.findRootConfig)(context.root, context.envName, context.caller); + } + + let { + babelrc, + babelrcRoots + } = opts; + let babelrcRootsDirectory = context.cwd; + const configFileChain = emptyChain(); + const configFileLogger = new _printer.ConfigPrinter(); + + if (configFile) { + const validatedFile = validateConfigFile(configFile); + const result = yield* loadFileChain(validatedFile, context, undefined, configFileLogger); + if (!result) return null; + configReport = yield* configFileLogger.output(); + + if (babelrc === undefined) { + babelrc = validatedFile.options.babelrc; + } + + if (babelrcRoots === undefined) { + babelrcRootsDirectory = validatedFile.dirname; + babelrcRoots = validatedFile.options.babelrcRoots; + } + + mergeChain(configFileChain, result); + } + + let ignoreFile, babelrcFile; + let isIgnored = false; + const fileChain = emptyChain(); + + if ((babelrc === true || babelrc === undefined) && typeof context.filename === "string") { + const pkgData = yield* (0, _files.findPackageData)(context.filename); + + if (pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)) { + ({ + ignore: ignoreFile, + config: babelrcFile + } = yield* (0, _files.findRelativeConfig)(pkgData, context.envName, context.caller)); + + if (ignoreFile) { + fileChain.files.add(ignoreFile.filepath); + } + + if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) { + isIgnored = true; + } + + if (babelrcFile && !isIgnored) { + const validatedFile = validateBabelrcFile(babelrcFile); + const babelrcLogger = new _printer.ConfigPrinter(); + const result = yield* loadFileChain(validatedFile, context, undefined, babelrcLogger); + + if (!result) { + isIgnored = true; + } else { + babelRcReport = yield* babelrcLogger.output(); + mergeChain(fileChain, result); + } + } + + if (babelrcFile && isIgnored) { + fileChain.files.add(babelrcFile.filepath); + } + } + } + + if (context.showConfig) { + console.log(`Babel configs on "${context.filename}" (ascending priority):\n` + [configReport, babelRcReport, programmaticReport].filter(x => !!x).join("\n\n") + "\n-----End Babel configs-----"); + } + + const chain = mergeChain(mergeChain(mergeChain(emptyChain(), configFileChain), fileChain), programmaticChain); + return { + plugins: isIgnored ? [] : dedupDescriptors(chain.plugins), + presets: isIgnored ? [] : dedupDescriptors(chain.presets), + options: isIgnored ? [] : chain.options.map(o => normalizeOptions(o)), + fileHandling: isIgnored ? "ignored" : "transpile", + ignore: ignoreFile || undefined, + babelrc: babelrcFile || undefined, + config: configFile || undefined, + files: chain.files + }; +} + +function babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory) { + if (typeof babelrcRoots === "boolean") return babelrcRoots; + const absoluteRoot = context.root; + + if (babelrcRoots === undefined) { + return pkgData.directories.indexOf(absoluteRoot) !== -1; + } + + let babelrcPatterns = babelrcRoots; + + if (!Array.isArray(babelrcPatterns)) { + babelrcPatterns = [babelrcPatterns]; + } + + babelrcPatterns = babelrcPatterns.map(pat => { + return typeof pat === "string" ? _path().resolve(babelrcRootsDirectory, pat) : pat; + }); + + if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) { + return pkgData.directories.indexOf(absoluteRoot) !== -1; + } + + return babelrcPatterns.some(pat => { + if (typeof pat === "string") { + pat = (0, _patternToRegex.default)(pat, babelrcRootsDirectory); + } + + return pkgData.directories.some(directory => { + return matchPattern(pat, babelrcRootsDirectory, directory, context); + }); + }); +} + +const validateConfigFile = (0, _caching.makeWeakCacheSync)(file => ({ + filepath: file.filepath, + dirname: file.dirname, + options: (0, _options.validate)("configfile", file.options) +})); +const validateBabelrcFile = (0, _caching.makeWeakCacheSync)(file => ({ + filepath: file.filepath, + dirname: file.dirname, + options: (0, _options.validate)("babelrcfile", file.options) +})); +const validateExtendFile = (0, _caching.makeWeakCacheSync)(file => ({ + filepath: file.filepath, + dirname: file.dirname, + options: (0, _options.validate)("extendsfile", file.options) +})); +const loadProgrammaticChain = makeChainWalker({ + root: input => buildRootDescriptors(input, "base", _configDescriptors.createCachedDescriptors), + env: (input, envName) => buildEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, envName), + overrides: (input, index) => buildOverrideDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index), + overridesEnv: (input, index, envName) => buildOverrideEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index, envName), + createLogger: (input, context, baseLogger) => buildProgrammaticLogger(input, context, baseLogger) +}); +const loadFileChainWalker = makeChainWalker({ + root: file => loadFileDescriptors(file), + env: (file, envName) => loadFileEnvDescriptors(file)(envName), + overrides: (file, index) => loadFileOverridesDescriptors(file)(index), + overridesEnv: (file, index, envName) => loadFileOverridesEnvDescriptors(file)(index)(envName), + createLogger: (file, context, baseLogger) => buildFileLogger(file.filepath, context, baseLogger) +}); + +function* loadFileChain(input, context, files, baseLogger) { + const chain = yield* loadFileChainWalker(input, context, files, baseLogger); + + if (chain) { + chain.files.add(input.filepath); + } + + return chain; +} + +const loadFileDescriptors = (0, _caching.makeWeakCacheSync)(file => buildRootDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors)); +const loadFileEnvDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(envName => buildEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, envName))); +const loadFileOverridesDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(index => buildOverrideDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index))); +const loadFileOverridesEnvDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(index => (0, _caching.makeStrongCacheSync)(envName => buildOverrideEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index, envName)))); + +function buildFileLogger(filepath, context, baseLogger) { + if (!baseLogger) { + return () => {}; + } + + return baseLogger.configure(context.showConfig, _printer.ChainFormatter.Config, { + filepath + }); +} + +function buildRootDescriptors({ + dirname, + options +}, alias, descriptors) { + return descriptors(dirname, options, alias); +} + +function buildProgrammaticLogger(_, context, baseLogger) { + var _context$caller; + + if (!baseLogger) { + return () => {}; + } + + return baseLogger.configure(context.showConfig, _printer.ChainFormatter.Programmatic, { + callerName: (_context$caller = context.caller) == null ? void 0 : _context$caller.name + }); +} + +function buildEnvDescriptors({ + dirname, + options +}, alias, descriptors, envName) { + const opts = options.env && options.env[envName]; + return opts ? descriptors(dirname, opts, `${alias}.env["${envName}"]`) : null; +} + +function buildOverrideDescriptors({ + dirname, + options +}, alias, descriptors, index) { + const opts = options.overrides && options.overrides[index]; + if (!opts) throw new Error("Assertion failure - missing override"); + return descriptors(dirname, opts, `${alias}.overrides[${index}]`); +} + +function buildOverrideEnvDescriptors({ + dirname, + options +}, alias, descriptors, index, envName) { + const override = options.overrides && options.overrides[index]; + if (!override) throw new Error("Assertion failure - missing override"); + const opts = override.env && override.env[envName]; + return opts ? descriptors(dirname, opts, `${alias}.overrides[${index}].env["${envName}"]`) : null; +} + +function makeChainWalker({ + root, + env, + overrides, + overridesEnv, + createLogger +}) { + return function* (input, context, files = new Set(), baseLogger) { + const { + dirname + } = input; + const flattenedConfigs = []; + const rootOpts = root(input); + + if (configIsApplicable(rootOpts, dirname, context)) { + flattenedConfigs.push({ + config: rootOpts, + envName: undefined, + index: undefined + }); + const envOpts = env(input, context.envName); + + if (envOpts && configIsApplicable(envOpts, dirname, context)) { + flattenedConfigs.push({ + config: envOpts, + envName: context.envName, + index: undefined + }); + } + + (rootOpts.options.overrides || []).forEach((_, index) => { + const overrideOps = overrides(input, index); + + if (configIsApplicable(overrideOps, dirname, context)) { + flattenedConfigs.push({ + config: overrideOps, + index, + envName: undefined + }); + const overrideEnvOpts = overridesEnv(input, index, context.envName); + + if (overrideEnvOpts && configIsApplicable(overrideEnvOpts, dirname, context)) { + flattenedConfigs.push({ + config: overrideEnvOpts, + index, + envName: context.envName + }); + } + } + }); + } + + if (flattenedConfigs.some(({ + config: { + options: { + ignore, + only + } + } + }) => shouldIgnore(context, ignore, only, dirname))) { + return null; + } + + const chain = emptyChain(); + const logger = createLogger(input, context, baseLogger); + + for (const { + config, + index, + envName + } of flattenedConfigs) { + if (!(yield* mergeExtendsChain(chain, config.options, dirname, context, files, baseLogger))) { + return null; + } + + logger(config, index, envName); + yield* mergeChainOpts(chain, config); + } + + return chain; + }; +} + +function* mergeExtendsChain(chain, opts, dirname, context, files, baseLogger) { + if (opts.extends === undefined) return true; + const file = yield* (0, _files.loadConfig)(opts.extends, dirname, context.envName, context.caller); + + if (files.has(file)) { + throw new Error(`Configuration cycle detected loading ${file.filepath}.\n` + `File already loaded following the config chain:\n` + Array.from(files, file => ` - ${file.filepath}`).join("\n")); + } + + files.add(file); + const fileChain = yield* loadFileChain(validateExtendFile(file), context, files, baseLogger); + files.delete(file); + if (!fileChain) return false; + mergeChain(chain, fileChain); + return true; +} + +function mergeChain(target, source) { + target.options.push(...source.options); + target.plugins.push(...source.plugins); + target.presets.push(...source.presets); + + for (const file of source.files) { + target.files.add(file); + } + + return target; +} + +function* mergeChainOpts(target, { + options, + plugins, + presets +}) { + target.options.push(options); + target.plugins.push(...(yield* plugins())); + target.presets.push(...(yield* presets())); + return target; +} + +function emptyChain() { + return { + options: [], + presets: [], + plugins: [], + files: new Set() + }; +} + +function normalizeOptions(opts) { + const options = Object.assign({}, opts); + delete options.extends; + delete options.env; + delete options.overrides; + delete options.plugins; + delete options.presets; + delete options.passPerPreset; + delete options.ignore; + delete options.only; + delete options.test; + delete options.include; + delete options.exclude; + + if (Object.prototype.hasOwnProperty.call(options, "sourceMap")) { + options.sourceMaps = options.sourceMap; + delete options.sourceMap; + } + + return options; +} + +function dedupDescriptors(items) { + const map = new Map(); + const descriptors = []; + + for (const item of items) { + if (typeof item.value === "function") { + const fnKey = item.value; + let nameMap = map.get(fnKey); + + if (!nameMap) { + nameMap = new Map(); + map.set(fnKey, nameMap); + } + + let desc = nameMap.get(item.name); + + if (!desc) { + desc = { + value: item + }; + descriptors.push(desc); + if (!item.ownPass) nameMap.set(item.name, desc); + } else { + desc.value = item; + } + } else { + descriptors.push({ + value: item + }); + } + } + + return descriptors.reduce((acc, desc) => { + acc.push(desc.value); + return acc; + }, []); +} + +function configIsApplicable({ + options +}, dirname, context) { + return (options.test === undefined || configFieldIsApplicable(context, options.test, dirname)) && (options.include === undefined || configFieldIsApplicable(context, options.include, dirname)) && (options.exclude === undefined || !configFieldIsApplicable(context, options.exclude, dirname)); +} + +function configFieldIsApplicable(context, test, dirname) { + const patterns = Array.isArray(test) ? test : [test]; + return matchesPatterns(context, patterns, dirname); +} + +function shouldIgnore(context, ignore, only, dirname) { + if (ignore && matchesPatterns(context, ignore, dirname)) { + var _context$filename; + + const message = `No config is applied to "${(_context$filename = context.filename) != null ? _context$filename : "(unknown)"}" because it matches one of \`ignore: ${JSON.stringify(ignore)}\` from "${dirname}"`; + debug(message); + + if (context.showConfig) { + console.log(message); + } + + return true; + } + + if (only && !matchesPatterns(context, only, dirname)) { + var _context$filename2; + + const message = `No config is applied to "${(_context$filename2 = context.filename) != null ? _context$filename2 : "(unknown)"}" because it fails to match one of \`only: ${JSON.stringify(only)}\` from "${dirname}"`; + debug(message); + + if (context.showConfig) { + console.log(message); + } + + return true; + } + + return false; +} + +function matchesPatterns(context, patterns, dirname) { + return patterns.some(pattern => matchPattern(pattern, dirname, context.filename, context)); +} + +function matchPattern(pattern, dirname, pathToTest, context) { + if (typeof pattern === "function") { + return !!pattern(pathToTest, { + dirname, + envName: context.envName, + caller: context.caller + }); + } + + if (typeof pathToTest !== "string") { + throw new Error(`Configuration contains string/RegExp pattern, but no filename was passed to Babel`); + } + + if (typeof pattern === "string") { + pattern = (0, _patternToRegex.default)(pattern, dirname); + } + + return pattern.test(pathToTest); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/config-descriptors.js b/node_modules/@babel/core/lib/config/config-descriptors.js new file mode 100644 index 00000000..835ece11 --- /dev/null +++ b/node_modules/@babel/core/lib/config/config-descriptors.js @@ -0,0 +1,244 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.createCachedDescriptors = createCachedDescriptors; +exports.createUncachedDescriptors = createUncachedDescriptors; +exports.createDescriptor = createDescriptor; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +var _files = require("./files"); + +var _item = require("./item"); + +var _caching = require("./caching"); + +var _resolveTargets = require("./resolve-targets"); + +function isEqualDescriptor(a, b) { + return a.name === b.name && a.value === b.value && a.options === b.options && a.dirname === b.dirname && a.alias === b.alias && a.ownPass === b.ownPass && (a.file && a.file.request) === (b.file && b.file.request) && (a.file && a.file.resolved) === (b.file && b.file.resolved); +} + +function* handlerOf(value) { + return value; +} + +function optionsWithResolvedBrowserslistConfigFile(options, dirname) { + if (typeof options.browserslistConfigFile === "string") { + options.browserslistConfigFile = (0, _resolveTargets.resolveBrowserslistConfigFile)(options.browserslistConfigFile, dirname); + } + + return options; +} + +function createCachedDescriptors(dirname, options, alias) { + const { + plugins, + presets, + passPerPreset + } = options; + return { + options: optionsWithResolvedBrowserslistConfigFile(options, dirname), + plugins: plugins ? () => createCachedPluginDescriptors(plugins, dirname)(alias) : () => handlerOf([]), + presets: presets ? () => createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset) : () => handlerOf([]) + }; +} + +function createUncachedDescriptors(dirname, options, alias) { + let plugins; + let presets; + return { + options: optionsWithResolvedBrowserslistConfigFile(options, dirname), + + *plugins() { + if (!plugins) { + plugins = yield* createPluginDescriptors(options.plugins || [], dirname, alias); + } + + return plugins; + }, + + *presets() { + if (!presets) { + presets = yield* createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset); + } + + return presets; + } + + }; +} + +const PRESET_DESCRIPTOR_CACHE = new WeakMap(); +const createCachedPresetDescriptors = (0, _caching.makeWeakCacheSync)((items, cache) => { + const dirname = cache.using(dir => dir); + return (0, _caching.makeStrongCacheSync)(alias => (0, _caching.makeStrongCache)(function* (passPerPreset) { + const descriptors = yield* createPresetDescriptors(items, dirname, alias, passPerPreset); + return descriptors.map(desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc)); + })); +}); +const PLUGIN_DESCRIPTOR_CACHE = new WeakMap(); +const createCachedPluginDescriptors = (0, _caching.makeWeakCacheSync)((items, cache) => { + const dirname = cache.using(dir => dir); + return (0, _caching.makeStrongCache)(function* (alias) { + const descriptors = yield* createPluginDescriptors(items, dirname, alias); + return descriptors.map(desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc)); + }); +}); +const DEFAULT_OPTIONS = {}; + +function loadCachedDescriptor(cache, desc) { + const { + value, + options = DEFAULT_OPTIONS + } = desc; + if (options === false) return desc; + let cacheByOptions = cache.get(value); + + if (!cacheByOptions) { + cacheByOptions = new WeakMap(); + cache.set(value, cacheByOptions); + } + + let possibilities = cacheByOptions.get(options); + + if (!possibilities) { + possibilities = []; + cacheByOptions.set(options, possibilities); + } + + if (possibilities.indexOf(desc) === -1) { + const matches = possibilities.filter(possibility => isEqualDescriptor(possibility, desc)); + + if (matches.length > 0) { + return matches[0]; + } + + possibilities.push(desc); + } + + return desc; +} + +function* createPresetDescriptors(items, dirname, alias, passPerPreset) { + return yield* createDescriptors("preset", items, dirname, alias, passPerPreset); +} + +function* createPluginDescriptors(items, dirname, alias) { + return yield* createDescriptors("plugin", items, dirname, alias); +} + +function* createDescriptors(type, items, dirname, alias, ownPass) { + const descriptors = yield* _gensync().all(items.map((item, index) => createDescriptor(item, dirname, { + type, + alias: `${alias}$${index}`, + ownPass: !!ownPass + }))); + assertNoDuplicates(descriptors); + return descriptors; +} + +function* createDescriptor(pair, dirname, { + type, + alias, + ownPass +}) { + const desc = (0, _item.getItemDescriptor)(pair); + + if (desc) { + return desc; + } + + let name; + let options; + let value = pair; + + if (Array.isArray(value)) { + if (value.length === 3) { + [value, options, name] = value; + } else { + [value, options] = value; + } + } + + let file = undefined; + let filepath = null; + + if (typeof value === "string") { + if (typeof type !== "string") { + throw new Error("To resolve a string-based item, the type of item must be given"); + } + + const resolver = type === "plugin" ? _files.loadPlugin : _files.loadPreset; + const request = value; + ({ + filepath, + value + } = yield* resolver(value, dirname)); + file = { + request, + resolved: filepath + }; + } + + if (!value) { + throw new Error(`Unexpected falsy value: ${String(value)}`); + } + + if (typeof value === "object" && value.__esModule) { + if (value.default) { + value = value.default; + } else { + throw new Error("Must export a default export when using ES6 modules."); + } + } + + if (typeof value !== "object" && typeof value !== "function") { + throw new Error(`Unsupported format: ${typeof value}. Expected an object or a function.`); + } + + if (filepath !== null && typeof value === "object" && value) { + throw new Error(`Plugin/Preset files are not allowed to export objects, only functions. In ${filepath}`); + } + + return { + name, + alias: filepath || alias, + value, + options, + dirname, + ownPass, + file + }; +} + +function assertNoDuplicates(items) { + const map = new Map(); + + for (const item of items) { + if (typeof item.value !== "function") continue; + let nameMap = map.get(item.value); + + if (!nameMap) { + nameMap = new Set(); + map.set(item.value, nameMap); + } + + if (nameMap.has(item.name)) { + const conflicts = items.filter(i => i.value === item.value); + throw new Error([`Duplicate plugin/preset detected.`, `If you'd like to use two separate instances of a plugin,`, `they need separate names, e.g.`, ``, ` plugins: [`, ` ['some-plugin', {}],`, ` ['some-plugin', {}, 'some unique name'],`, ` ]`, ``, `Duplicates detected are:`, `${JSON.stringify(conflicts, null, 2)}`].join("\n")); + } + + nameMap.add(item.name); + } +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/configuration.js b/node_modules/@babel/core/lib/config/files/configuration.js new file mode 100644 index 00000000..889ed2ad --- /dev/null +++ b/node_modules/@babel/core/lib/config/files/configuration.js @@ -0,0 +1,357 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.findConfigUpwards = findConfigUpwards; +exports.findRelativeConfig = findRelativeConfig; +exports.findRootConfig = findRootConfig; +exports.loadConfig = loadConfig; +exports.resolveShowConfigPath = resolveShowConfigPath; +exports.ROOT_CONFIG_FILENAMES = void 0; + +function _debug() { + const data = require("debug"); + + _debug = function () { + return data; + }; + + return data; +} + +function _fs() { + const data = require("fs"); + + _fs = function () { + return data; + }; + + return data; +} + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +function _json() { + const data = require("json5"); + + _json = function () { + return data; + }; + + return data; +} + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +var _caching = require("../caching"); + +var _configApi = require("../helpers/config-api"); + +var _utils = require("./utils"); + +var _moduleTypes = require("./module-types"); + +var _patternToRegex = require("../pattern-to-regex"); + +var fs = require("../../gensync-utils/fs"); + +function _module() { + const data = require("module"); + + _module = function () { + return data; + }; + + return data; +} + +const debug = _debug()("babel:config:loading:files:configuration"); + +const ROOT_CONFIG_FILENAMES = ["babel.config.js", "babel.config.cjs", "babel.config.mjs", "babel.config.json"]; +exports.ROOT_CONFIG_FILENAMES = ROOT_CONFIG_FILENAMES; +const RELATIVE_CONFIG_FILENAMES = [".babelrc", ".babelrc.js", ".babelrc.cjs", ".babelrc.mjs", ".babelrc.json"]; +const BABELIGNORE_FILENAME = ".babelignore"; + +function findConfigUpwards(rootDir) { + let dirname = rootDir; + + for (;;) { + for (const filename of ROOT_CONFIG_FILENAMES) { + if (_fs().existsSync(_path().join(dirname, filename))) { + return dirname; + } + } + + const nextDir = _path().dirname(dirname); + + if (dirname === nextDir) break; + dirname = nextDir; + } + + return null; +} + +function* findRelativeConfig(packageData, envName, caller) { + let config = null; + let ignore = null; + + const dirname = _path().dirname(packageData.filepath); + + for (const loc of packageData.directories) { + if (!config) { + var _packageData$pkg; + + config = yield* loadOneConfig(RELATIVE_CONFIG_FILENAMES, loc, envName, caller, ((_packageData$pkg = packageData.pkg) == null ? void 0 : _packageData$pkg.dirname) === loc ? packageToBabelConfig(packageData.pkg) : null); + } + + if (!ignore) { + const ignoreLoc = _path().join(loc, BABELIGNORE_FILENAME); + + ignore = yield* readIgnoreConfig(ignoreLoc); + + if (ignore) { + debug("Found ignore %o from %o.", ignore.filepath, dirname); + } + } + } + + return { + config, + ignore + }; +} + +function findRootConfig(dirname, envName, caller) { + return loadOneConfig(ROOT_CONFIG_FILENAMES, dirname, envName, caller); +} + +function* loadOneConfig(names, dirname, envName, caller, previousConfig = null) { + const configs = yield* _gensync().all(names.map(filename => readConfig(_path().join(dirname, filename), envName, caller))); + const config = configs.reduce((previousConfig, config) => { + if (config && previousConfig) { + throw new Error(`Multiple configuration files found. Please remove one:\n` + ` - ${_path().basename(previousConfig.filepath)}\n` + ` - ${config.filepath}\n` + `from ${dirname}`); + } + + return config || previousConfig; + }, previousConfig); + + if (config) { + debug("Found configuration %o from %o.", config.filepath, dirname); + } + + return config; +} + +function* loadConfig(name, dirname, envName, caller) { + const filepath = (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { + paths: [b] + }, M = require("module")) => { + let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); + + if (f) return f; + f = new Error(`Cannot resolve module '${r}'`); + f.code = "MODULE_NOT_FOUND"; + throw f; + })(name, { + paths: [dirname] + }); + const conf = yield* readConfig(filepath, envName, caller); + + if (!conf) { + throw new Error(`Config file ${filepath} contains no configuration data`); + } + + debug("Loaded config %o from %o.", name, dirname); + return conf; +} + +function readConfig(filepath, envName, caller) { + const ext = _path().extname(filepath); + + return ext === ".js" || ext === ".cjs" || ext === ".mjs" ? readConfigJS(filepath, { + envName, + caller + }) : readConfigJSON5(filepath); +} + +const LOADING_CONFIGS = new Set(); +const readConfigJS = (0, _caching.makeStrongCache)(function* readConfigJS(filepath, cache) { + if (!_fs().existsSync(filepath)) { + cache.never(); + return null; + } + + if (LOADING_CONFIGS.has(filepath)) { + cache.never(); + debug("Auto-ignoring usage of config %o.", filepath); + return { + filepath, + dirname: _path().dirname(filepath), + options: {} + }; + } + + let options; + + try { + LOADING_CONFIGS.add(filepath); + options = yield* (0, _moduleTypes.default)(filepath, "You appear to be using a native ECMAScript module configuration " + "file, which is only supported when running Babel asynchronously."); + } catch (err) { + err.message = `${filepath}: Error while loading config - ${err.message}`; + throw err; + } finally { + LOADING_CONFIGS.delete(filepath); + } + + let assertCache = false; + + if (typeof options === "function") { + yield* []; + options = options((0, _configApi.makeConfigAPI)(cache)); + assertCache = true; + } + + if (!options || typeof options !== "object" || Array.isArray(options)) { + throw new Error(`${filepath}: Configuration should be an exported JavaScript object.`); + } + + if (typeof options.then === "function") { + throw new Error(`You appear to be using an async configuration, ` + `which your current version of Babel does not support. ` + `We may add support for this in the future, ` + `but if you're on the most recent version of @babel/core and still ` + `seeing this error, then you'll need to synchronously return your config.`); + } + + if (assertCache && !cache.configured()) throwConfigError(); + return { + filepath, + dirname: _path().dirname(filepath), + options + }; +}); +const packageToBabelConfig = (0, _caching.makeWeakCacheSync)(file => { + const babel = file.options["babel"]; + if (typeof babel === "undefined") return null; + + if (typeof babel !== "object" || Array.isArray(babel) || babel === null) { + throw new Error(`${file.filepath}: .babel property must be an object`); + } + + return { + filepath: file.filepath, + dirname: file.dirname, + options: babel + }; +}); +const readConfigJSON5 = (0, _utils.makeStaticFileCache)((filepath, content) => { + let options; + + try { + options = _json().parse(content); + } catch (err) { + err.message = `${filepath}: Error while parsing config - ${err.message}`; + throw err; + } + + if (!options) throw new Error(`${filepath}: No config detected`); + + if (typeof options !== "object") { + throw new Error(`${filepath}: Config returned typeof ${typeof options}`); + } + + if (Array.isArray(options)) { + throw new Error(`${filepath}: Expected config object but found array`); + } + + return { + filepath, + dirname: _path().dirname(filepath), + options + }; +}); +const readIgnoreConfig = (0, _utils.makeStaticFileCache)((filepath, content) => { + const ignoreDir = _path().dirname(filepath); + + const ignorePatterns = content.split("\n").map(line => line.replace(/#(.*?)$/, "").trim()).filter(line => !!line); + + for (const pattern of ignorePatterns) { + if (pattern[0] === "!") { + throw new Error(`Negation of file paths is not supported.`); + } + } + + return { + filepath, + dirname: _path().dirname(filepath), + ignore: ignorePatterns.map(pattern => (0, _patternToRegex.default)(pattern, ignoreDir)) + }; +}); + +function* resolveShowConfigPath(dirname) { + const targetPath = process.env.BABEL_SHOW_CONFIG_FOR; + + if (targetPath != null) { + const absolutePath = _path().resolve(dirname, targetPath); + + const stats = yield* fs.stat(absolutePath); + + if (!stats.isFile()) { + throw new Error(`${absolutePath}: BABEL_SHOW_CONFIG_FOR must refer to a regular file, directories are not supported.`); + } + + return absolutePath; + } + + return null; +} + +function throwConfigError() { + throw new Error(`\ +Caching was left unconfigured. Babel's plugins, presets, and .babelrc.js files can be configured +for various types of caching, using the first param of their handler functions: + +module.exports = function(api) { + // The API exposes the following: + + // Cache the returned value forever and don't call this function again. + api.cache(true); + + // Don't cache at all. Not recommended because it will be very slow. + api.cache(false); + + // Cached based on the value of some function. If this function returns a value different from + // a previously-encountered value, the plugins will re-evaluate. + var env = api.cache(() => process.env.NODE_ENV); + + // If testing for a specific env, we recommend specifics to avoid instantiating a plugin for + // any possible NODE_ENV value that might come up during plugin execution. + var isProd = api.cache(() => process.env.NODE_ENV === "production"); + + // .cache(fn) will perform a linear search though instances to find the matching plugin based + // based on previous instantiated plugins. If you want to recreate the plugin and discard the + // previous instance whenever something changes, you may use: + var isProd = api.cache.invalidate(() => process.env.NODE_ENV === "production"); + + // Note, we also expose the following more-verbose versions of the above examples: + api.cache.forever(); // api.cache(true) + api.cache.never(); // api.cache(false) + api.cache.using(fn); // api.cache(fn) + + // Return the value that will be cached. + return { }; +};`); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/import.js b/node_modules/@babel/core/lib/config/files/import.js new file mode 100644 index 00000000..c0acc2b6 --- /dev/null +++ b/node_modules/@babel/core/lib/config/files/import.js @@ -0,0 +1,10 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = import_; + +function import_(filepath) { + return import(filepath); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/index-browser.js b/node_modules/@babel/core/lib/config/files/index-browser.js new file mode 100644 index 00000000..5507edac --- /dev/null +++ b/node_modules/@babel/core/lib/config/files/index-browser.js @@ -0,0 +1,67 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.findConfigUpwards = findConfigUpwards; +exports.findPackageData = findPackageData; +exports.findRelativeConfig = findRelativeConfig; +exports.findRootConfig = findRootConfig; +exports.loadConfig = loadConfig; +exports.resolveShowConfigPath = resolveShowConfigPath; +exports.resolvePlugin = resolvePlugin; +exports.resolvePreset = resolvePreset; +exports.loadPlugin = loadPlugin; +exports.loadPreset = loadPreset; +exports.ROOT_CONFIG_FILENAMES = void 0; + +function findConfigUpwards(rootDir) { + return null; +} + +function* findPackageData(filepath) { + return { + filepath, + directories: [], + pkg: null, + isPackage: false + }; +} + +function* findRelativeConfig(pkgData, envName, caller) { + return { + config: null, + ignore: null + }; +} + +function* findRootConfig(dirname, envName, caller) { + return null; +} + +function* loadConfig(name, dirname, envName, caller) { + throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`); +} + +function* resolveShowConfigPath(dirname) { + return null; +} + +const ROOT_CONFIG_FILENAMES = []; +exports.ROOT_CONFIG_FILENAMES = ROOT_CONFIG_FILENAMES; + +function resolvePlugin(name, dirname) { + return null; +} + +function resolvePreset(name, dirname) { + return null; +} + +function loadPlugin(name, dirname) { + throw new Error(`Cannot load plugin ${name} relative to ${dirname} in a browser`); +} + +function loadPreset(name, dirname) { + throw new Error(`Cannot load preset ${name} relative to ${dirname} in a browser`); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/index.js b/node_modules/@babel/core/lib/config/files/index.js new file mode 100644 index 00000000..f75ace5a --- /dev/null +++ b/node_modules/@babel/core/lib/config/files/index.js @@ -0,0 +1,79 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "findPackageData", { + enumerable: true, + get: function () { + return _package.findPackageData; + } +}); +Object.defineProperty(exports, "findConfigUpwards", { + enumerable: true, + get: function () { + return _configuration.findConfigUpwards; + } +}); +Object.defineProperty(exports, "findRelativeConfig", { + enumerable: true, + get: function () { + return _configuration.findRelativeConfig; + } +}); +Object.defineProperty(exports, "findRootConfig", { + enumerable: true, + get: function () { + return _configuration.findRootConfig; + } +}); +Object.defineProperty(exports, "loadConfig", { + enumerable: true, + get: function () { + return _configuration.loadConfig; + } +}); +Object.defineProperty(exports, "resolveShowConfigPath", { + enumerable: true, + get: function () { + return _configuration.resolveShowConfigPath; + } +}); +Object.defineProperty(exports, "ROOT_CONFIG_FILENAMES", { + enumerable: true, + get: function () { + return _configuration.ROOT_CONFIG_FILENAMES; + } +}); +Object.defineProperty(exports, "resolvePlugin", { + enumerable: true, + get: function () { + return _plugins.resolvePlugin; + } +}); +Object.defineProperty(exports, "resolvePreset", { + enumerable: true, + get: function () { + return _plugins.resolvePreset; + } +}); +Object.defineProperty(exports, "loadPlugin", { + enumerable: true, + get: function () { + return _plugins.loadPlugin; + } +}); +Object.defineProperty(exports, "loadPreset", { + enumerable: true, + get: function () { + return _plugins.loadPreset; + } +}); + +var _package = require("./package"); + +var _configuration = require("./configuration"); + +var _plugins = require("./plugins"); + +({}); \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/module-types.js b/node_modules/@babel/core/lib/config/files/module-types.js new file mode 100644 index 00000000..9a379736 --- /dev/null +++ b/node_modules/@babel/core/lib/config/files/module-types.js @@ -0,0 +1,104 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = loadCjsOrMjsDefault; + +var _async = require("../../gensync-utils/async"); + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +function _url() { + const data = require("url"); + + _url = function () { + return data; + }; + + return data; +} + +function _module() { + const data = require("module"); + + _module = function () { + return data; + }; + + return data; +} + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +let import_; + +try { + import_ = require("./import").default; +} catch (_unused) {} + +function* loadCjsOrMjsDefault(filepath, asyncError, fallbackToTranspiledModule = false) { + switch (guessJSModuleType(filepath)) { + case "cjs": + return loadCjsDefault(filepath, fallbackToTranspiledModule); + + case "unknown": + try { + return loadCjsDefault(filepath, fallbackToTranspiledModule); + } catch (e) { + if (e.code !== "ERR_REQUIRE_ESM") throw e; + } + + case "mjs": + if (yield* (0, _async.isAsync)()) { + return yield* (0, _async.waitFor)(loadMjsDefault(filepath)); + } + + throw new Error(asyncError); + } +} + +function guessJSModuleType(filename) { + switch (_path().extname(filename)) { + case ".cjs": + return "cjs"; + + case ".mjs": + return "mjs"; + + default: + return "unknown"; + } +} + +function loadCjsDefault(filepath, fallbackToTranspiledModule) { + const module = require(filepath); + + return module != null && module.__esModule ? module.default || (fallbackToTranspiledModule ? module : undefined) : module; +} + +function loadMjsDefault(_x) { + return _loadMjsDefault.apply(this, arguments); +} + +function _loadMjsDefault() { + _loadMjsDefault = _asyncToGenerator(function* (filepath) { + if (!import_) { + throw new Error("Internal error: Native ECMAScript modules aren't supported" + " by this platform.\n"); + } + + const module = yield import_((0, _url().pathToFileURL)(filepath)); + return module.default; + }); + return _loadMjsDefault.apply(this, arguments); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/package.js b/node_modules/@babel/core/lib/config/files/package.js new file mode 100644 index 00000000..0e08bfe3 --- /dev/null +++ b/node_modules/@babel/core/lib/config/files/package.js @@ -0,0 +1,76 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.findPackageData = findPackageData; + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +var _utils = require("./utils"); + +const PACKAGE_FILENAME = "package.json"; + +function* findPackageData(filepath) { + let pkg = null; + const directories = []; + let isPackage = true; + + let dirname = _path().dirname(filepath); + + while (!pkg && _path().basename(dirname) !== "node_modules") { + directories.push(dirname); + pkg = yield* readConfigPackage(_path().join(dirname, PACKAGE_FILENAME)); + + const nextLoc = _path().dirname(dirname); + + if (dirname === nextLoc) { + isPackage = false; + break; + } + + dirname = nextLoc; + } + + return { + filepath, + directories, + pkg, + isPackage + }; +} + +const readConfigPackage = (0, _utils.makeStaticFileCache)((filepath, content) => { + let options; + + try { + options = JSON.parse(content); + } catch (err) { + err.message = `${filepath}: Error while parsing JSON - ${err.message}`; + throw err; + } + + if (!options) throw new Error(`${filepath}: No config detected`); + + if (typeof options !== "object") { + throw new Error(`${filepath}: Config returned typeof ${typeof options}`); + } + + if (Array.isArray(options)) { + throw new Error(`${filepath}: Expected config object but found array`); + } + + return { + filepath, + dirname: _path().dirname(filepath), + options + }; +}); \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/plugins.js b/node_modules/@babel/core/lib/config/files/plugins.js new file mode 100644 index 00000000..ae23378c --- /dev/null +++ b/node_modules/@babel/core/lib/config/files/plugins.js @@ -0,0 +1,206 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.resolvePlugin = resolvePlugin; +exports.resolvePreset = resolvePreset; +exports.loadPlugin = loadPlugin; +exports.loadPreset = loadPreset; + +function _debug() { + const data = require("debug"); + + _debug = function () { + return data; + }; + + return data; +} + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +var _moduleTypes = require("./module-types"); + +function _module() { + const data = require("module"); + + _module = function () { + return data; + }; + + return data; +} + +const debug = _debug()("babel:config:loading:files:plugins"); + +const EXACT_RE = /^module:/; +const BABEL_PLUGIN_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-plugin-)/; +const BABEL_PRESET_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-preset-)/; +const BABEL_PLUGIN_ORG_RE = /^(@babel\/)(?!plugin-|[^/]+\/)/; +const BABEL_PRESET_ORG_RE = /^(@babel\/)(?!preset-|[^/]+\/)/; +const OTHER_PLUGIN_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-plugin(?:-|\/|$)|[^/]+\/)/; +const OTHER_PRESET_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-preset(?:-|\/|$)|[^/]+\/)/; +const OTHER_ORG_DEFAULT_RE = /^(@(?!babel$)[^/]+)$/; + +function resolvePlugin(name, dirname) { + return resolveStandardizedName("plugin", name, dirname); +} + +function resolvePreset(name, dirname) { + return resolveStandardizedName("preset", name, dirname); +} + +function* loadPlugin(name, dirname) { + const filepath = resolvePlugin(name, dirname); + + if (!filepath) { + throw new Error(`Plugin ${name} not found relative to ${dirname}`); + } + + const value = yield* requireModule("plugin", filepath); + debug("Loaded plugin %o from %o.", name, dirname); + return { + filepath, + value + }; +} + +function* loadPreset(name, dirname) { + const filepath = resolvePreset(name, dirname); + + if (!filepath) { + throw new Error(`Preset ${name} not found relative to ${dirname}`); + } + + const value = yield* requireModule("preset", filepath); + debug("Loaded preset %o from %o.", name, dirname); + return { + filepath, + value + }; +} + +function standardizeName(type, name) { + if (_path().isAbsolute(name)) return name; + const isPreset = type === "preset"; + return name.replace(isPreset ? BABEL_PRESET_PREFIX_RE : BABEL_PLUGIN_PREFIX_RE, `babel-${type}-`).replace(isPreset ? BABEL_PRESET_ORG_RE : BABEL_PLUGIN_ORG_RE, `$1${type}-`).replace(isPreset ? OTHER_PRESET_ORG_RE : OTHER_PLUGIN_ORG_RE, `$1babel-${type}-`).replace(OTHER_ORG_DEFAULT_RE, `$1/babel-${type}`).replace(EXACT_RE, ""); +} + +function resolveStandardizedName(type, name, dirname = process.cwd()) { + const standardizedName = standardizeName(type, name); + + try { + return (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { + paths: [b] + }, M = require("module")) => { + let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); + + if (f) return f; + f = new Error(`Cannot resolve module '${r}'`); + f.code = "MODULE_NOT_FOUND"; + throw f; + })(standardizedName, { + paths: [dirname] + }); + } catch (e) { + if (e.code !== "MODULE_NOT_FOUND") throw e; + + if (standardizedName !== name) { + let resolvedOriginal = false; + + try { + (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { + paths: [b] + }, M = require("module")) => { + let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); + + if (f) return f; + f = new Error(`Cannot resolve module '${r}'`); + f.code = "MODULE_NOT_FOUND"; + throw f; + })(name, { + paths: [dirname] + }); + resolvedOriginal = true; + } catch (_unused) {} + + if (resolvedOriginal) { + e.message += `\n- If you want to resolve "${name}", use "module:${name}"`; + } + } + + let resolvedBabel = false; + + try { + (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { + paths: [b] + }, M = require("module")) => { + let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); + + if (f) return f; + f = new Error(`Cannot resolve module '${r}'`); + f.code = "MODULE_NOT_FOUND"; + throw f; + })(standardizeName(type, "@babel/" + name), { + paths: [dirname] + }); + resolvedBabel = true; + } catch (_unused2) {} + + if (resolvedBabel) { + e.message += `\n- Did you mean "@babel/${name}"?`; + } + + let resolvedOppositeType = false; + const oppositeType = type === "preset" ? "plugin" : "preset"; + + try { + (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { + paths: [b] + }, M = require("module")) => { + let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); + + if (f) return f; + f = new Error(`Cannot resolve module '${r}'`); + f.code = "MODULE_NOT_FOUND"; + throw f; + })(standardizeName(oppositeType, name), { + paths: [dirname] + }); + resolvedOppositeType = true; + } catch (_unused3) {} + + if (resolvedOppositeType) { + e.message += `\n- Did you accidentally pass a ${oppositeType} as a ${type}?`; + } + + throw e; + } +} + +const LOADING_MODULES = new Set(); + +function* requireModule(type, name) { + if (LOADING_MODULES.has(name)) { + throw new Error(`Reentrant ${type} detected trying to load "${name}". This module is not ignored ` + "and is trying to load itself while compiling itself, leading to a dependency cycle. " + 'We recommend adding it to your "ignore" list in your babelrc, or to a .babelignore.'); + } + + try { + LOADING_MODULES.add(name); + return yield* (0, _moduleTypes.default)(name, `You appear to be using a native ECMAScript module ${type}, ` + "which is only supported when running Babel asynchronously.", true); + } catch (err) { + err.message = `[BABEL]: ${err.message} (While processing: ${name})`; + throw err; + } finally { + LOADING_MODULES.delete(name); + } +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/types.js b/node_modules/@babel/core/lib/config/files/types.js new file mode 100644 index 00000000..e69de29b diff --git a/node_modules/@babel/core/lib/config/files/utils.js b/node_modules/@babel/core/lib/config/files/utils.js new file mode 100644 index 00000000..6da68c0a --- /dev/null +++ b/node_modules/@babel/core/lib/config/files/utils.js @@ -0,0 +1,44 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.makeStaticFileCache = makeStaticFileCache; + +var _caching = require("../caching"); + +var fs = require("../../gensync-utils/fs"); + +function _fs2() { + const data = require("fs"); + + _fs2 = function () { + return data; + }; + + return data; +} + +function makeStaticFileCache(fn) { + return (0, _caching.makeStrongCache)(function* (filepath, cache) { + const cached = cache.invalidate(() => fileMtime(filepath)); + + if (cached === null) { + return null; + } + + return fn(filepath, yield* fs.readFile(filepath, "utf8")); + }); +} + +function fileMtime(filepath) { + if (!_fs2().existsSync(filepath)) return null; + + try { + return +_fs2().statSync(filepath).mtime; + } catch (e) { + if (e.code !== "ENOENT" && e.code !== "ENOTDIR") throw e; + } + + return null; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/full.js b/node_modules/@babel/core/lib/config/full.js new file mode 100644 index 00000000..a583dd69 --- /dev/null +++ b/node_modules/@babel/core/lib/config/full.js @@ -0,0 +1,338 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +var _async = require("../gensync-utils/async"); + +var _util = require("./util"); + +var context = require("../index"); + +var _plugin = require("./plugin"); + +var _item = require("./item"); + +var _configChain = require("./config-chain"); + +function _traverse() { + const data = require("@babel/traverse"); + + _traverse = function () { + return data; + }; + + return data; +} + +var _caching = require("./caching"); + +var _options = require("./validation/options"); + +var _plugins = require("./validation/plugins"); + +var _configApi = require("./helpers/config-api"); + +var _partial = require("./partial"); + +var Context = require("./cache-contexts"); + +var _default = _gensync()(function* loadFullConfig(inputOpts) { + var _opts$assumptions; + + const result = yield* (0, _partial.default)(inputOpts); + + if (!result) { + return null; + } + + const { + options, + context, + fileHandling + } = result; + + if (fileHandling === "ignored") { + return null; + } + + const optionDefaults = {}; + const { + plugins, + presets + } = options; + + if (!plugins || !presets) { + throw new Error("Assertion failure - plugins and presets exist"); + } + + const presetContext = Object.assign({}, context, { + targets: options.targets + }); + + const toDescriptor = item => { + const desc = (0, _item.getItemDescriptor)(item); + + if (!desc) { + throw new Error("Assertion failure - must be config item"); + } + + return desc; + }; + + const presetsDescriptors = presets.map(toDescriptor); + const initialPluginsDescriptors = plugins.map(toDescriptor); + const pluginDescriptorsByPass = [[]]; + const passes = []; + const ignored = yield* enhanceError(context, function* recursePresetDescriptors(rawPresets, pluginDescriptorsPass) { + const presets = []; + + for (let i = 0; i < rawPresets.length; i++) { + const descriptor = rawPresets[i]; + + if (descriptor.options !== false) { + try { + if (descriptor.ownPass) { + presets.push({ + preset: yield* loadPresetDescriptor(descriptor, presetContext), + pass: [] + }); + } else { + presets.unshift({ + preset: yield* loadPresetDescriptor(descriptor, presetContext), + pass: pluginDescriptorsPass + }); + } + } catch (e) { + if (e.code === "BABEL_UNKNOWN_OPTION") { + (0, _options.checkNoUnwrappedItemOptionPairs)(rawPresets, i, "preset", e); + } + + throw e; + } + } + } + + if (presets.length > 0) { + pluginDescriptorsByPass.splice(1, 0, ...presets.map(o => o.pass).filter(p => p !== pluginDescriptorsPass)); + + for (const { + preset, + pass + } of presets) { + if (!preset) return true; + pass.push(...preset.plugins); + const ignored = yield* recursePresetDescriptors(preset.presets, pass); + if (ignored) return true; + preset.options.forEach(opts => { + (0, _util.mergeOptions)(optionDefaults, opts); + }); + } + } + })(presetsDescriptors, pluginDescriptorsByPass[0]); + if (ignored) return null; + const opts = optionDefaults; + (0, _util.mergeOptions)(opts, options); + const pluginContext = Object.assign({}, presetContext, { + assumptions: (_opts$assumptions = opts.assumptions) != null ? _opts$assumptions : {} + }); + yield* enhanceError(context, function* loadPluginDescriptors() { + pluginDescriptorsByPass[0].unshift(...initialPluginsDescriptors); + + for (const descs of pluginDescriptorsByPass) { + const pass = []; + passes.push(pass); + + for (let i = 0; i < descs.length; i++) { + const descriptor = descs[i]; + + if (descriptor.options !== false) { + try { + pass.push(yield* loadPluginDescriptor(descriptor, pluginContext)); + } catch (e) { + if (e.code === "BABEL_UNKNOWN_PLUGIN_PROPERTY") { + (0, _options.checkNoUnwrappedItemOptionPairs)(descs, i, "plugin", e); + } + + throw e; + } + } + } + } + })(); + opts.plugins = passes[0]; + opts.presets = passes.slice(1).filter(plugins => plugins.length > 0).map(plugins => ({ + plugins + })); + opts.passPerPreset = opts.presets.length > 0; + return { + options: opts, + passes: passes + }; +}); + +exports.default = _default; + +function enhanceError(context, fn) { + return function* (arg1, arg2) { + try { + return yield* fn(arg1, arg2); + } catch (e) { + if (!/^\[BABEL\]/.test(e.message)) { + e.message = `[BABEL] ${context.filename || "unknown"}: ${e.message}`; + } + + throw e; + } + }; +} + +const makeDescriptorLoader = apiFactory => (0, _caching.makeWeakCache)(function* ({ + value, + options, + dirname, + alias +}, cache) { + if (options === false) throw new Error("Assertion failure"); + options = options || {}; + let item = value; + + if (typeof value === "function") { + const factory = (0, _async.maybeAsync)(value, `You appear to be using an async plugin/preset, but Babel has been called synchronously`); + const api = Object.assign({}, context, apiFactory(cache)); + + try { + item = yield* factory(api, options, dirname); + } catch (e) { + if (alias) { + e.message += ` (While processing: ${JSON.stringify(alias)})`; + } + + throw e; + } + } + + if (!item || typeof item !== "object") { + throw new Error("Plugin/Preset did not return an object."); + } + + if ((0, _async.isThenable)(item)) { + yield* []; + throw new Error(`You appear to be using a promise as a plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, ` + `you may need to upgrade your @babel/core version. ` + `As an alternative, you can prefix the promise with "await". ` + `(While processing: ${JSON.stringify(alias)})`); + } + + return { + value: item, + options, + dirname, + alias + }; +}); + +const pluginDescriptorLoader = makeDescriptorLoader(_configApi.makePluginAPI); +const presetDescriptorLoader = makeDescriptorLoader(_configApi.makePresetAPI); + +function* loadPluginDescriptor(descriptor, context) { + if (descriptor.value instanceof _plugin.default) { + if (descriptor.options) { + throw new Error("Passed options to an existing Plugin instance will not work."); + } + + return descriptor.value; + } + + return yield* instantiatePlugin(yield* pluginDescriptorLoader(descriptor, context), context); +} + +const instantiatePlugin = (0, _caching.makeWeakCache)(function* ({ + value, + options, + dirname, + alias +}, cache) { + const pluginObj = (0, _plugins.validatePluginObject)(value); + const plugin = Object.assign({}, pluginObj); + + if (plugin.visitor) { + plugin.visitor = _traverse().default.explode(Object.assign({}, plugin.visitor)); + } + + if (plugin.inherits) { + const inheritsDescriptor = { + name: undefined, + alias: `${alias}$inherits`, + value: plugin.inherits, + options, + dirname + }; + const inherits = yield* (0, _async.forwardAsync)(loadPluginDescriptor, run => { + return cache.invalidate(data => run(inheritsDescriptor, data)); + }); + plugin.pre = chain(inherits.pre, plugin.pre); + plugin.post = chain(inherits.post, plugin.post); + plugin.manipulateOptions = chain(inherits.manipulateOptions, plugin.manipulateOptions); + plugin.visitor = _traverse().default.visitors.merge([inherits.visitor || {}, plugin.visitor || {}]); + } + + return new _plugin.default(plugin, options, alias); +}); + +const validateIfOptionNeedsFilename = (options, descriptor) => { + if (options.test || options.include || options.exclude) { + const formattedPresetName = descriptor.name ? `"${descriptor.name}"` : "/* your preset */"; + throw new Error([`Preset ${formattedPresetName} requires a filename to be set when babel is called directly,`, `\`\`\``, `babel.transform(code, { filename: 'file.ts', presets: [${formattedPresetName}] });`, `\`\`\``, `See https://babeljs.io/docs/en/options#filename for more information.`].join("\n")); + } +}; + +const validatePreset = (preset, context, descriptor) => { + if (!context.filename) { + const { + options + } = preset; + validateIfOptionNeedsFilename(options, descriptor); + + if (options.overrides) { + options.overrides.forEach(overrideOptions => validateIfOptionNeedsFilename(overrideOptions, descriptor)); + } + } +}; + +function* loadPresetDescriptor(descriptor, context) { + const preset = instantiatePreset(yield* presetDescriptorLoader(descriptor, context)); + validatePreset(preset, context, descriptor); + return yield* (0, _configChain.buildPresetChain)(preset, context); +} + +const instantiatePreset = (0, _caching.makeWeakCacheSync)(({ + value, + dirname, + alias +}) => { + return { + options: (0, _options.validate)("preset", value), + alias, + dirname + }; +}); + +function chain(a, b) { + const fns = [a, b].filter(Boolean); + if (fns.length <= 1) return fns[0]; + return function (...args) { + for (const fn of fns) { + fn.apply(this, args); + } + }; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/helpers/config-api.js b/node_modules/@babel/core/lib/config/helpers/config-api.js new file mode 100644 index 00000000..35c61459 --- /dev/null +++ b/node_modules/@babel/core/lib/config/helpers/config-api.js @@ -0,0 +1,103 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.makeConfigAPI = makeConfigAPI; +exports.makePresetAPI = makePresetAPI; +exports.makePluginAPI = makePluginAPI; + +function _semver() { + const data = require("semver"); + + _semver = function () { + return data; + }; + + return data; +} + +var _ = require("../../"); + +var _caching = require("../caching"); + +var Context = require("../cache-contexts"); + +function makeConfigAPI(cache) { + const env = value => cache.using(data => { + if (typeof value === "undefined") return data.envName; + + if (typeof value === "function") { + return (0, _caching.assertSimpleType)(value(data.envName)); + } + + if (!Array.isArray(value)) value = [value]; + return value.some(entry => { + if (typeof entry !== "string") { + throw new Error("Unexpected non-string value"); + } + + return entry === data.envName; + }); + }); + + const caller = cb => cache.using(data => (0, _caching.assertSimpleType)(cb(data.caller))); + + return { + version: _.version, + cache: cache.simple(), + env, + async: () => false, + caller, + assertVersion + }; +} + +function makePresetAPI(cache) { + const targets = () => JSON.parse(cache.using(data => JSON.stringify(data.targets))); + + return Object.assign({}, makeConfigAPI(cache), { + targets + }); +} + +function makePluginAPI(cache) { + const assumption = name => cache.using(data => data.assumptions[name]); + + return Object.assign({}, makePresetAPI(cache), { + assumption + }); +} + +function assertVersion(range) { + if (typeof range === "number") { + if (!Number.isInteger(range)) { + throw new Error("Expected string or integer value."); + } + + range = `^${range}.0.0-0`; + } + + if (typeof range !== "string") { + throw new Error("Expected string or integer value."); + } + + if (_semver().satisfies(_.version, range)) return; + const limit = Error.stackTraceLimit; + + if (typeof limit === "number" && limit < 25) { + Error.stackTraceLimit = 25; + } + + const err = new Error(`Requires Babel "${range}", but was loaded with "${_.version}". ` + `If you are sure you have a compatible version of @babel/core, ` + `it is likely that something in your build process is loading the ` + `wrong version. Inspect the stack trace of this error to look for ` + `the first entry that doesn't mention "@babel/core" or "babel-core" ` + `to see what is calling Babel.`); + + if (typeof limit === "number") { + Error.stackTraceLimit = limit; + } + + throw Object.assign(err, { + code: "BABEL_VERSION_UNSUPPORTED", + version: _.version, + range + }); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/helpers/environment.js b/node_modules/@babel/core/lib/config/helpers/environment.js new file mode 100644 index 00000000..e4bfdbc7 --- /dev/null +++ b/node_modules/@babel/core/lib/config/helpers/environment.js @@ -0,0 +1,10 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getEnv = getEnv; + +function getEnv(defaultValue = "development") { + return process.env.BABEL_ENV || process.env.NODE_ENV || defaultValue; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/index.js b/node_modules/@babel/core/lib/config/index.js new file mode 100644 index 00000000..13d7a96c --- /dev/null +++ b/node_modules/@babel/core/lib/config/index.js @@ -0,0 +1,74 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.createConfigItem = createConfigItem; +Object.defineProperty(exports, "default", { + enumerable: true, + get: function () { + return _full.default; + } +}); +exports.createConfigItemAsync = exports.createConfigItemSync = exports.loadOptionsAsync = exports.loadOptionsSync = exports.loadOptions = exports.loadPartialConfigAsync = exports.loadPartialConfigSync = exports.loadPartialConfig = void 0; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +var _full = require("./full"); + +var _partial = require("./partial"); + +var _item = require("./item"); + +const loadOptionsRunner = _gensync()(function* (opts) { + var _config$options; + + const config = yield* (0, _full.default)(opts); + return (_config$options = config == null ? void 0 : config.options) != null ? _config$options : null; +}); + +const createConfigItemRunner = _gensync()(_item.createConfigItem); + +const maybeErrback = runner => (opts, callback) => { + if (callback === undefined && typeof opts === "function") { + callback = opts; + opts = undefined; + } + + return callback ? runner.errback(opts, callback) : runner.sync(opts); +}; + +const loadPartialConfig = maybeErrback(_partial.loadPartialConfig); +exports.loadPartialConfig = loadPartialConfig; +const loadPartialConfigSync = _partial.loadPartialConfig.sync; +exports.loadPartialConfigSync = loadPartialConfigSync; +const loadPartialConfigAsync = _partial.loadPartialConfig.async; +exports.loadPartialConfigAsync = loadPartialConfigAsync; +const loadOptions = maybeErrback(loadOptionsRunner); +exports.loadOptions = loadOptions; +const loadOptionsSync = loadOptionsRunner.sync; +exports.loadOptionsSync = loadOptionsSync; +const loadOptionsAsync = loadOptionsRunner.async; +exports.loadOptionsAsync = loadOptionsAsync; +const createConfigItemSync = createConfigItemRunner.sync; +exports.createConfigItemSync = createConfigItemSync; +const createConfigItemAsync = createConfigItemRunner.async; +exports.createConfigItemAsync = createConfigItemAsync; + +function createConfigItem(target, options, callback) { + if (callback !== undefined) { + return createConfigItemRunner.errback(target, options, callback); + } else if (typeof options === "function") { + return createConfigItemRunner.errback(target, undefined, callback); + } else { + return createConfigItemRunner.sync(target, options); + } +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/item.js b/node_modules/@babel/core/lib/config/item.js new file mode 100644 index 00000000..170ec025 --- /dev/null +++ b/node_modules/@babel/core/lib/config/item.js @@ -0,0 +1,76 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.createItemFromDescriptor = createItemFromDescriptor; +exports.createConfigItem = createConfigItem; +exports.getItemDescriptor = getItemDescriptor; + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +var _configDescriptors = require("./config-descriptors"); + +function createItemFromDescriptor(desc) { + return new ConfigItem(desc); +} + +function* createConfigItem(value, { + dirname = ".", + type +} = {}) { + const descriptor = yield* (0, _configDescriptors.createDescriptor)(value, _path().resolve(dirname), { + type, + alias: "programmatic item" + }); + return createItemFromDescriptor(descriptor); +} + +function getItemDescriptor(item) { + if (item != null && item[CONFIG_ITEM_BRAND]) { + return item._descriptor; + } + + return undefined; +} + +const CONFIG_ITEM_BRAND = Symbol.for("@babel/core@7 - ConfigItem"); + +class ConfigItem { + constructor(descriptor) { + this._descriptor = void 0; + this[CONFIG_ITEM_BRAND] = true; + this.value = void 0; + this.options = void 0; + this.dirname = void 0; + this.name = void 0; + this.file = void 0; + this._descriptor = descriptor; + Object.defineProperty(this, "_descriptor", { + enumerable: false + }); + Object.defineProperty(this, CONFIG_ITEM_BRAND, { + enumerable: false + }); + this.value = this._descriptor.value; + this.options = this._descriptor.options; + this.dirname = this._descriptor.dirname; + this.name = this._descriptor.name; + this.file = this._descriptor.file ? { + request: this._descriptor.file.request, + resolved: this._descriptor.file.resolved + } : undefined; + Object.freeze(this); + } + +} + +Object.freeze(ConfigItem.prototype); \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/partial.js b/node_modules/@babel/core/lib/config/partial.js new file mode 100644 index 00000000..e8c52e10 --- /dev/null +++ b/node_modules/@babel/core/lib/config/partial.js @@ -0,0 +1,197 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = loadPrivatePartialConfig; +exports.loadPartialConfig = void 0; + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +var _plugin = require("./plugin"); + +var _util = require("./util"); + +var _item = require("./item"); + +var _configChain = require("./config-chain"); + +var _environment = require("./helpers/environment"); + +var _options = require("./validation/options"); + +var _files = require("./files"); + +var _resolveTargets = require("./resolve-targets"); + +const _excluded = ["showIgnoredFiles"]; + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function resolveRootMode(rootDir, rootMode) { + switch (rootMode) { + case "root": + return rootDir; + + case "upward-optional": + { + const upwardRootDir = (0, _files.findConfigUpwards)(rootDir); + return upwardRootDir === null ? rootDir : upwardRootDir; + } + + case "upward": + { + const upwardRootDir = (0, _files.findConfigUpwards)(rootDir); + if (upwardRootDir !== null) return upwardRootDir; + throw Object.assign(new Error(`Babel was run with rootMode:"upward" but a root could not ` + `be found when searching upward from "${rootDir}".\n` + `One of the following config files must be in the directory tree: ` + `"${_files.ROOT_CONFIG_FILENAMES.join(", ")}".`), { + code: "BABEL_ROOT_NOT_FOUND", + dirname: rootDir + }); + } + + default: + throw new Error(`Assertion failure - unknown rootMode value.`); + } +} + +function* loadPrivatePartialConfig(inputOpts) { + if (inputOpts != null && (typeof inputOpts !== "object" || Array.isArray(inputOpts))) { + throw new Error("Babel options must be an object, null, or undefined"); + } + + const args = inputOpts ? (0, _options.validate)("arguments", inputOpts) : {}; + const { + envName = (0, _environment.getEnv)(), + cwd = ".", + root: rootDir = ".", + rootMode = "root", + caller, + cloneInputAst = true + } = args; + + const absoluteCwd = _path().resolve(cwd); + + const absoluteRootDir = resolveRootMode(_path().resolve(absoluteCwd, rootDir), rootMode); + const filename = typeof args.filename === "string" ? _path().resolve(cwd, args.filename) : undefined; + const showConfigPath = yield* (0, _files.resolveShowConfigPath)(absoluteCwd); + const context = { + filename, + cwd: absoluteCwd, + root: absoluteRootDir, + envName, + caller, + showConfig: showConfigPath === filename + }; + const configChain = yield* (0, _configChain.buildRootChain)(args, context); + if (!configChain) return null; + const merged = { + assumptions: {} + }; + configChain.options.forEach(opts => { + (0, _util.mergeOptions)(merged, opts); + }); + const options = Object.assign({}, merged, { + targets: (0, _resolveTargets.resolveTargets)(merged, absoluteRootDir), + cloneInputAst, + babelrc: false, + configFile: false, + browserslistConfigFile: false, + passPerPreset: false, + envName: context.envName, + cwd: context.cwd, + root: context.root, + rootMode: "root", + filename: typeof context.filename === "string" ? context.filename : undefined, + plugins: configChain.plugins.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor)), + presets: configChain.presets.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor)) + }); + return { + options, + context, + fileHandling: configChain.fileHandling, + ignore: configChain.ignore, + babelrc: configChain.babelrc, + config: configChain.config, + files: configChain.files + }; +} + +const loadPartialConfig = _gensync()(function* (opts) { + let showIgnoredFiles = false; + + if (typeof opts === "object" && opts !== null && !Array.isArray(opts)) { + var _opts = opts; + ({ + showIgnoredFiles + } = _opts); + opts = _objectWithoutPropertiesLoose(_opts, _excluded); + _opts; + } + + const result = yield* loadPrivatePartialConfig(opts); + if (!result) return null; + const { + options, + babelrc, + ignore, + config, + fileHandling, + files + } = result; + + if (fileHandling === "ignored" && !showIgnoredFiles) { + return null; + } + + (options.plugins || []).forEach(item => { + if (item.value instanceof _plugin.default) { + throw new Error("Passing cached plugin instances is not supported in " + "babel.loadPartialConfig()"); + } + }); + return new PartialConfig(options, babelrc ? babelrc.filepath : undefined, ignore ? ignore.filepath : undefined, config ? config.filepath : undefined, fileHandling, files); +}); + +exports.loadPartialConfig = loadPartialConfig; + +class PartialConfig { + constructor(options, babelrc, ignore, config, fileHandling, files) { + this.options = void 0; + this.babelrc = void 0; + this.babelignore = void 0; + this.config = void 0; + this.fileHandling = void 0; + this.files = void 0; + this.options = options; + this.babelignore = ignore; + this.babelrc = babelrc; + this.config = config; + this.fileHandling = fileHandling; + this.files = files; + Object.freeze(this); + } + + hasFilesystemConfig() { + return this.babelrc !== undefined || this.config !== undefined; + } + +} + +Object.freeze(PartialConfig.prototype); \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/pattern-to-regex.js b/node_modules/@babel/core/lib/config/pattern-to-regex.js new file mode 100644 index 00000000..ec5db8fd --- /dev/null +++ b/node_modules/@babel/core/lib/config/pattern-to-regex.js @@ -0,0 +1,44 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = pathToPattern; + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +const sep = `\\${_path().sep}`; +const endSep = `(?:${sep}|$)`; +const substitution = `[^${sep}]+`; +const starPat = `(?:${substitution}${sep})`; +const starPatLast = `(?:${substitution}${endSep})`; +const starStarPat = `${starPat}*?`; +const starStarPatLast = `${starPat}*?${starPatLast}?`; + +function escapeRegExp(string) { + return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&"); +} + +function pathToPattern(pattern, dirname) { + const parts = _path().resolve(dirname, pattern).split(_path().sep); + + return new RegExp(["^", ...parts.map((part, i) => { + const last = i === parts.length - 1; + if (part === "**") return last ? starStarPatLast : starStarPat; + if (part === "*") return last ? starPatLast : starPat; + + if (part.indexOf("*.") === 0) { + return substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep); + } + + return escapeRegExp(part) + (last ? endSep : sep); + })].join("")); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/plugin.js b/node_modules/@babel/core/lib/config/plugin.js new file mode 100644 index 00000000..9cb1656b --- /dev/null +++ b/node_modules/@babel/core/lib/config/plugin.js @@ -0,0 +1,30 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +class Plugin { + constructor(plugin, options, key) { + this.key = void 0; + this.manipulateOptions = void 0; + this.post = void 0; + this.pre = void 0; + this.visitor = void 0; + this.parserOverride = void 0; + this.generatorOverride = void 0; + this.options = void 0; + this.key = plugin.name || key; + this.manipulateOptions = plugin.manipulateOptions; + this.post = plugin.post; + this.pre = plugin.pre; + this.visitor = plugin.visitor || {}; + this.parserOverride = plugin.parserOverride; + this.generatorOverride = plugin.generatorOverride; + this.options = options; + } + +} + +exports.default = Plugin; \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/printer.js b/node_modules/@babel/core/lib/config/printer.js new file mode 100644 index 00000000..229fd9a3 --- /dev/null +++ b/node_modules/@babel/core/lib/config/printer.js @@ -0,0 +1,139 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ConfigPrinter = exports.ChainFormatter = void 0; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +const ChainFormatter = { + Programmatic: 0, + Config: 1 +}; +exports.ChainFormatter = ChainFormatter; +const Formatter = { + title(type, callerName, filepath) { + let title = ""; + + if (type === ChainFormatter.Programmatic) { + title = "programmatic options"; + + if (callerName) { + title += " from " + callerName; + } + } else { + title = "config " + filepath; + } + + return title; + }, + + loc(index, envName) { + let loc = ""; + + if (index != null) { + loc += `.overrides[${index}]`; + } + + if (envName != null) { + loc += `.env["${envName}"]`; + } + + return loc; + }, + + *optionsAndDescriptors(opt) { + const content = Object.assign({}, opt.options); + delete content.overrides; + delete content.env; + const pluginDescriptors = [...(yield* opt.plugins())]; + + if (pluginDescriptors.length) { + content.plugins = pluginDescriptors.map(d => descriptorToConfig(d)); + } + + const presetDescriptors = [...(yield* opt.presets())]; + + if (presetDescriptors.length) { + content.presets = [...presetDescriptors].map(d => descriptorToConfig(d)); + } + + return JSON.stringify(content, undefined, 2); + } + +}; + +function descriptorToConfig(d) { + var _d$file; + + let name = (_d$file = d.file) == null ? void 0 : _d$file.request; + + if (name == null) { + if (typeof d.value === "object") { + name = d.value; + } else if (typeof d.value === "function") { + name = `[Function: ${d.value.toString().substr(0, 50)} ... ]`; + } + } + + if (name == null) { + name = "[Unknown]"; + } + + if (d.options === undefined) { + return name; + } else if (d.name == null) { + return [name, d.options]; + } else { + return [name, d.options, d.name]; + } +} + +class ConfigPrinter { + constructor() { + this._stack = []; + } + + configure(enabled, type, { + callerName, + filepath + }) { + if (!enabled) return () => {}; + return (content, index, envName) => { + this._stack.push({ + type, + callerName, + filepath, + content, + index, + envName + }); + }; + } + + static *format(config) { + let title = Formatter.title(config.type, config.callerName, config.filepath); + const loc = Formatter.loc(config.index, config.envName); + if (loc) title += ` ${loc}`; + const content = yield* Formatter.optionsAndDescriptors(config.content); + return `${title}\n${content}`; + } + + *output() { + if (this._stack.length === 0) return ""; + const configs = yield* _gensync().all(this._stack.map(s => ConfigPrinter.format(s))); + return configs.join("\n\n"); + } + +} + +exports.ConfigPrinter = ConfigPrinter; \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/resolve-targets-browser.js b/node_modules/@babel/core/lib/config/resolve-targets-browser.js new file mode 100644 index 00000000..cc4e5180 --- /dev/null +++ b/node_modules/@babel/core/lib/config/resolve-targets-browser.js @@ -0,0 +1,42 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.resolveBrowserslistConfigFile = resolveBrowserslistConfigFile; +exports.resolveTargets = resolveTargets; + +function _helperCompilationTargets() { + const data = require("@babel/helper-compilation-targets"); + + _helperCompilationTargets = function () { + return data; + }; + + return data; +} + +function resolveBrowserslistConfigFile(browserslistConfigFile, configFilePath) { + return undefined; +} + +function resolveTargets(options, root) { + let targets = options.targets; + + if (typeof targets === "string" || Array.isArray(targets)) { + targets = { + browsers: targets + }; + } + + if (targets && targets.esmodules) { + targets = Object.assign({}, targets, { + esmodules: "intersect" + }); + } + + return (0, _helperCompilationTargets().default)(targets, { + ignoreBrowserslistConfig: true, + browserslistEnv: options.browserslistEnv + }); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/resolve-targets.js b/node_modules/@babel/core/lib/config/resolve-targets.js new file mode 100644 index 00000000..973e3d57 --- /dev/null +++ b/node_modules/@babel/core/lib/config/resolve-targets.js @@ -0,0 +1,68 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.resolveBrowserslistConfigFile = resolveBrowserslistConfigFile; +exports.resolveTargets = resolveTargets; + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +function _helperCompilationTargets() { + const data = require("@babel/helper-compilation-targets"); + + _helperCompilationTargets = function () { + return data; + }; + + return data; +} + +({}); + +function resolveBrowserslistConfigFile(browserslistConfigFile, configFileDir) { + return _path().resolve(configFileDir, browserslistConfigFile); +} + +function resolveTargets(options, root) { + let targets = options.targets; + + if (typeof targets === "string" || Array.isArray(targets)) { + targets = { + browsers: targets + }; + } + + if (targets && targets.esmodules) { + targets = Object.assign({}, targets, { + esmodules: "intersect" + }); + } + + const { + browserslistConfigFile + } = options; + let configFile; + let ignoreBrowserslistConfig = false; + + if (typeof browserslistConfigFile === "string") { + configFile = browserslistConfigFile; + } else { + ignoreBrowserslistConfig = browserslistConfigFile === false; + } + + return (0, _helperCompilationTargets().default)(targets, { + ignoreBrowserslistConfig, + configFile, + configPath: root, + browserslistEnv: options.browserslistEnv + }); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/util.js b/node_modules/@babel/core/lib/config/util.js new file mode 100644 index 00000000..088eac6b --- /dev/null +++ b/node_modules/@babel/core/lib/config/util.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.mergeOptions = mergeOptions; +exports.isIterableIterator = isIterableIterator; + +function mergeOptions(target, source) { + for (const k of Object.keys(source)) { + if ((k === "parserOpts" || k === "generatorOpts" || k === "assumptions") && source[k]) { + const parserOpts = source[k]; + const targetObj = target[k] || (target[k] = {}); + mergeDefaultFields(targetObj, parserOpts); + } else { + const val = source[k]; + if (val !== undefined) target[k] = val; + } + } +} + +function mergeDefaultFields(target, source) { + for (const k of Object.keys(source)) { + const val = source[k]; + if (val !== undefined) target[k] = val; + } +} + +function isIterableIterator(value) { + return !!value && typeof value.next === "function" && typeof value[Symbol.iterator] === "function"; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/validation/option-assertions.js b/node_modules/@babel/core/lib/config/validation/option-assertions.js new file mode 100644 index 00000000..14e43ed9 --- /dev/null +++ b/node_modules/@babel/core/lib/config/validation/option-assertions.js @@ -0,0 +1,352 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.msg = msg; +exports.access = access; +exports.assertRootMode = assertRootMode; +exports.assertSourceMaps = assertSourceMaps; +exports.assertCompact = assertCompact; +exports.assertSourceType = assertSourceType; +exports.assertCallerMetadata = assertCallerMetadata; +exports.assertInputSourceMap = assertInputSourceMap; +exports.assertString = assertString; +exports.assertFunction = assertFunction; +exports.assertBoolean = assertBoolean; +exports.assertObject = assertObject; +exports.assertArray = assertArray; +exports.assertIgnoreList = assertIgnoreList; +exports.assertConfigApplicableTest = assertConfigApplicableTest; +exports.assertConfigFileSearch = assertConfigFileSearch; +exports.assertBabelrcSearch = assertBabelrcSearch; +exports.assertPluginList = assertPluginList; +exports.assertTargets = assertTargets; +exports.assertAssumptions = assertAssumptions; + +function _helperCompilationTargets() { + const data = require("@babel/helper-compilation-targets"); + + _helperCompilationTargets = function () { + return data; + }; + + return data; +} + +var _options = require("./options"); + +function msg(loc) { + switch (loc.type) { + case "root": + return ``; + + case "env": + return `${msg(loc.parent)}.env["${loc.name}"]`; + + case "overrides": + return `${msg(loc.parent)}.overrides[${loc.index}]`; + + case "option": + return `${msg(loc.parent)}.${loc.name}`; + + case "access": + return `${msg(loc.parent)}[${JSON.stringify(loc.name)}]`; + + default: + throw new Error(`Assertion failure: Unknown type ${loc.type}`); + } +} + +function access(loc, name) { + return { + type: "access", + name, + parent: loc + }; +} + +function assertRootMode(loc, value) { + if (value !== undefined && value !== "root" && value !== "upward" && value !== "upward-optional") { + throw new Error(`${msg(loc)} must be a "root", "upward", "upward-optional" or undefined`); + } + + return value; +} + +function assertSourceMaps(loc, value) { + if (value !== undefined && typeof value !== "boolean" && value !== "inline" && value !== "both") { + throw new Error(`${msg(loc)} must be a boolean, "inline", "both", or undefined`); + } + + return value; +} + +function assertCompact(loc, value) { + if (value !== undefined && typeof value !== "boolean" && value !== "auto") { + throw new Error(`${msg(loc)} must be a boolean, "auto", or undefined`); + } + + return value; +} + +function assertSourceType(loc, value) { + if (value !== undefined && value !== "module" && value !== "script" && value !== "unambiguous") { + throw new Error(`${msg(loc)} must be "module", "script", "unambiguous", or undefined`); + } + + return value; +} + +function assertCallerMetadata(loc, value) { + const obj = assertObject(loc, value); + + if (obj) { + if (typeof obj.name !== "string") { + throw new Error(`${msg(loc)} set but does not contain "name" property string`); + } + + for (const prop of Object.keys(obj)) { + const propLoc = access(loc, prop); + const value = obj[prop]; + + if (value != null && typeof value !== "boolean" && typeof value !== "string" && typeof value !== "number") { + throw new Error(`${msg(propLoc)} must be null, undefined, a boolean, a string, or a number.`); + } + } + } + + return value; +} + +function assertInputSourceMap(loc, value) { + if (value !== undefined && typeof value !== "boolean" && (typeof value !== "object" || !value)) { + throw new Error(`${msg(loc)} must be a boolean, object, or undefined`); + } + + return value; +} + +function assertString(loc, value) { + if (value !== undefined && typeof value !== "string") { + throw new Error(`${msg(loc)} must be a string, or undefined`); + } + + return value; +} + +function assertFunction(loc, value) { + if (value !== undefined && typeof value !== "function") { + throw new Error(`${msg(loc)} must be a function, or undefined`); + } + + return value; +} + +function assertBoolean(loc, value) { + if (value !== undefined && typeof value !== "boolean") { + throw new Error(`${msg(loc)} must be a boolean, or undefined`); + } + + return value; +} + +function assertObject(loc, value) { + if (value !== undefined && (typeof value !== "object" || Array.isArray(value) || !value)) { + throw new Error(`${msg(loc)} must be an object, or undefined`); + } + + return value; +} + +function assertArray(loc, value) { + if (value != null && !Array.isArray(value)) { + throw new Error(`${msg(loc)} must be an array, or undefined`); + } + + return value; +} + +function assertIgnoreList(loc, value) { + const arr = assertArray(loc, value); + + if (arr) { + arr.forEach((item, i) => assertIgnoreItem(access(loc, i), item)); + } + + return arr; +} + +function assertIgnoreItem(loc, value) { + if (typeof value !== "string" && typeof value !== "function" && !(value instanceof RegExp)) { + throw new Error(`${msg(loc)} must be an array of string/Function/RegExp values, or undefined`); + } + + return value; +} + +function assertConfigApplicableTest(loc, value) { + if (value === undefined) return value; + + if (Array.isArray(value)) { + value.forEach((item, i) => { + if (!checkValidTest(item)) { + throw new Error(`${msg(access(loc, i))} must be a string/Function/RegExp.`); + } + }); + } else if (!checkValidTest(value)) { + throw new Error(`${msg(loc)} must be a string/Function/RegExp, or an array of those`); + } + + return value; +} + +function checkValidTest(value) { + return typeof value === "string" || typeof value === "function" || value instanceof RegExp; +} + +function assertConfigFileSearch(loc, value) { + if (value !== undefined && typeof value !== "boolean" && typeof value !== "string") { + throw new Error(`${msg(loc)} must be a undefined, a boolean, a string, ` + `got ${JSON.stringify(value)}`); + } + + return value; +} + +function assertBabelrcSearch(loc, value) { + if (value === undefined || typeof value === "boolean") return value; + + if (Array.isArray(value)) { + value.forEach((item, i) => { + if (!checkValidTest(item)) { + throw new Error(`${msg(access(loc, i))} must be a string/Function/RegExp.`); + } + }); + } else if (!checkValidTest(value)) { + throw new Error(`${msg(loc)} must be a undefined, a boolean, a string/Function/RegExp ` + `or an array of those, got ${JSON.stringify(value)}`); + } + + return value; +} + +function assertPluginList(loc, value) { + const arr = assertArray(loc, value); + + if (arr) { + arr.forEach((item, i) => assertPluginItem(access(loc, i), item)); + } + + return arr; +} + +function assertPluginItem(loc, value) { + if (Array.isArray(value)) { + if (value.length === 0) { + throw new Error(`${msg(loc)} must include an object`); + } + + if (value.length > 3) { + throw new Error(`${msg(loc)} may only be a two-tuple or three-tuple`); + } + + assertPluginTarget(access(loc, 0), value[0]); + + if (value.length > 1) { + const opts = value[1]; + + if (opts !== undefined && opts !== false && (typeof opts !== "object" || Array.isArray(opts) || opts === null)) { + throw new Error(`${msg(access(loc, 1))} must be an object, false, or undefined`); + } + } + + if (value.length === 3) { + const name = value[2]; + + if (name !== undefined && typeof name !== "string") { + throw new Error(`${msg(access(loc, 2))} must be a string, or undefined`); + } + } + } else { + assertPluginTarget(loc, value); + } + + return value; +} + +function assertPluginTarget(loc, value) { + if ((typeof value !== "object" || !value) && typeof value !== "string" && typeof value !== "function") { + throw new Error(`${msg(loc)} must be a string, object, function`); + } + + return value; +} + +function assertTargets(loc, value) { + if ((0, _helperCompilationTargets().isBrowsersQueryValid)(value)) return value; + + if (typeof value !== "object" || !value || Array.isArray(value)) { + throw new Error(`${msg(loc)} must be a string, an array of strings or an object`); + } + + const browsersLoc = access(loc, "browsers"); + const esmodulesLoc = access(loc, "esmodules"); + assertBrowsersList(browsersLoc, value.browsers); + assertBoolean(esmodulesLoc, value.esmodules); + + for (const key of Object.keys(value)) { + const val = value[key]; + const subLoc = access(loc, key); + if (key === "esmodules") assertBoolean(subLoc, val);else if (key === "browsers") assertBrowsersList(subLoc, val);else if (!Object.hasOwnProperty.call(_helperCompilationTargets().TargetNames, key)) { + const validTargets = Object.keys(_helperCompilationTargets().TargetNames).join(", "); + throw new Error(`${msg(subLoc)} is not a valid target. Supported targets are ${validTargets}`); + } else assertBrowserVersion(subLoc, val); + } + + return value; +} + +function assertBrowsersList(loc, value) { + if (value !== undefined && !(0, _helperCompilationTargets().isBrowsersQueryValid)(value)) { + throw new Error(`${msg(loc)} must be undefined, a string or an array of strings`); + } +} + +function assertBrowserVersion(loc, value) { + if (typeof value === "number" && Math.round(value) === value) return; + if (typeof value === "string") return; + throw new Error(`${msg(loc)} must be a string or an integer number`); +} + +function assertAssumptions(loc, value) { + if (value === undefined) return; + + if (typeof value !== "object" || value === null) { + throw new Error(`${msg(loc)} must be an object or undefined.`); + } + + let root = loc; + + do { + root = root.parent; + } while (root.type !== "root"); + + const inPreset = root.source === "preset"; + + for (const name of Object.keys(value)) { + const subLoc = access(loc, name); + + if (!_options.assumptionsNames.has(name)) { + throw new Error(`${msg(subLoc)} is not a supported assumption.`); + } + + if (typeof value[name] !== "boolean") { + throw new Error(`${msg(subLoc)} must be a boolean.`); + } + + if (inPreset && value[name] === false) { + throw new Error(`${msg(subLoc)} cannot be set to 'false' inside presets.`); + } + } + + return value; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/validation/options.js b/node_modules/@babel/core/lib/config/validation/options.js new file mode 100644 index 00000000..998bad38 --- /dev/null +++ b/node_modules/@babel/core/lib/config/validation/options.js @@ -0,0 +1,210 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.validate = validate; +exports.checkNoUnwrappedItemOptionPairs = checkNoUnwrappedItemOptionPairs; +exports.assumptionsNames = void 0; + +var _plugin = require("../plugin"); + +var _removed = require("./removed"); + +var _optionAssertions = require("./option-assertions"); + +const ROOT_VALIDATORS = { + cwd: _optionAssertions.assertString, + root: _optionAssertions.assertString, + rootMode: _optionAssertions.assertRootMode, + configFile: _optionAssertions.assertConfigFileSearch, + caller: _optionAssertions.assertCallerMetadata, + filename: _optionAssertions.assertString, + filenameRelative: _optionAssertions.assertString, + code: _optionAssertions.assertBoolean, + ast: _optionAssertions.assertBoolean, + cloneInputAst: _optionAssertions.assertBoolean, + envName: _optionAssertions.assertString +}; +const BABELRC_VALIDATORS = { + babelrc: _optionAssertions.assertBoolean, + babelrcRoots: _optionAssertions.assertBabelrcSearch +}; +const NONPRESET_VALIDATORS = { + extends: _optionAssertions.assertString, + ignore: _optionAssertions.assertIgnoreList, + only: _optionAssertions.assertIgnoreList, + targets: _optionAssertions.assertTargets, + browserslistConfigFile: _optionAssertions.assertConfigFileSearch, + browserslistEnv: _optionAssertions.assertString +}; +const COMMON_VALIDATORS = { + inputSourceMap: _optionAssertions.assertInputSourceMap, + presets: _optionAssertions.assertPluginList, + plugins: _optionAssertions.assertPluginList, + passPerPreset: _optionAssertions.assertBoolean, + assumptions: _optionAssertions.assertAssumptions, + env: assertEnvSet, + overrides: assertOverridesList, + test: _optionAssertions.assertConfigApplicableTest, + include: _optionAssertions.assertConfigApplicableTest, + exclude: _optionAssertions.assertConfigApplicableTest, + retainLines: _optionAssertions.assertBoolean, + comments: _optionAssertions.assertBoolean, + shouldPrintComment: _optionAssertions.assertFunction, + compact: _optionAssertions.assertCompact, + minified: _optionAssertions.assertBoolean, + auxiliaryCommentBefore: _optionAssertions.assertString, + auxiliaryCommentAfter: _optionAssertions.assertString, + sourceType: _optionAssertions.assertSourceType, + wrapPluginVisitorMethod: _optionAssertions.assertFunction, + highlightCode: _optionAssertions.assertBoolean, + sourceMaps: _optionAssertions.assertSourceMaps, + sourceMap: _optionAssertions.assertSourceMaps, + sourceFileName: _optionAssertions.assertString, + sourceRoot: _optionAssertions.assertString, + parserOpts: _optionAssertions.assertObject, + generatorOpts: _optionAssertions.assertObject +}; +{ + Object.assign(COMMON_VALIDATORS, { + getModuleId: _optionAssertions.assertFunction, + moduleRoot: _optionAssertions.assertString, + moduleIds: _optionAssertions.assertBoolean, + moduleId: _optionAssertions.assertString + }); +} +const assumptionsNames = new Set(["arrayLikeIsIterable", "constantReexports", "constantSuper", "enumerableModuleMeta", "ignoreFunctionLength", "ignoreToPrimitiveHint", "iterableIsArray", "mutableTemplateObject", "noClassCalls", "noDocumentAll", "noIncompleteNsImportDetection", "noNewArrows", "objectRestNoSymbols", "privateFieldsAsProperties", "pureGetters", "setClassMethods", "setComputedProperties", "setPublicClassFields", "setSpreadProperties", "skipForOfIteratorClosing", "superIsCallableConstructor"]); +exports.assumptionsNames = assumptionsNames; + +function getSource(loc) { + return loc.type === "root" ? loc.source : getSource(loc.parent); +} + +function validate(type, opts) { + return validateNested({ + type: "root", + source: type + }, opts); +} + +function validateNested(loc, opts) { + const type = getSource(loc); + assertNoDuplicateSourcemap(opts); + Object.keys(opts).forEach(key => { + const optLoc = { + type: "option", + name: key, + parent: loc + }; + + if (type === "preset" && NONPRESET_VALIDATORS[key]) { + throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is not allowed in preset options`); + } + + if (type !== "arguments" && ROOT_VALIDATORS[key]) { + throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is only allowed in root programmatic options`); + } + + if (type !== "arguments" && type !== "configfile" && BABELRC_VALIDATORS[key]) { + if (type === "babelrcfile" || type === "extendsfile") { + throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is not allowed in .babelrc or "extends"ed files, only in root programmatic options, ` + `or babel.config.js/config file options`); + } + + throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is only allowed in root programmatic options, or babel.config.js/config file options`); + } + + const validator = COMMON_VALIDATORS[key] || NONPRESET_VALIDATORS[key] || BABELRC_VALIDATORS[key] || ROOT_VALIDATORS[key] || throwUnknownError; + validator(optLoc, opts[key]); + }); + return opts; +} + +function throwUnknownError(loc) { + const key = loc.name; + + if (_removed.default[key]) { + const { + message, + version = 5 + } = _removed.default[key]; + throw new Error(`Using removed Babel ${version} option: ${(0, _optionAssertions.msg)(loc)} - ${message}`); + } else { + const unknownOptErr = new Error(`Unknown option: ${(0, _optionAssertions.msg)(loc)}. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.`); + unknownOptErr.code = "BABEL_UNKNOWN_OPTION"; + throw unknownOptErr; + } +} + +function has(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +function assertNoDuplicateSourcemap(opts) { + if (has(opts, "sourceMap") && has(opts, "sourceMaps")) { + throw new Error(".sourceMap is an alias for .sourceMaps, cannot use both"); + } +} + +function assertEnvSet(loc, value) { + if (loc.parent.type === "env") { + throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside of another .env block`); + } + + const parent = loc.parent; + const obj = (0, _optionAssertions.assertObject)(loc, value); + + if (obj) { + for (const envName of Object.keys(obj)) { + const env = (0, _optionAssertions.assertObject)((0, _optionAssertions.access)(loc, envName), obj[envName]); + if (!env) continue; + const envLoc = { + type: "env", + name: envName, + parent + }; + validateNested(envLoc, env); + } + } + + return obj; +} + +function assertOverridesList(loc, value) { + if (loc.parent.type === "env") { + throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside an .env block`); + } + + if (loc.parent.type === "overrides") { + throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside an .overrides block`); + } + + const parent = loc.parent; + const arr = (0, _optionAssertions.assertArray)(loc, value); + + if (arr) { + for (const [index, item] of arr.entries()) { + const objLoc = (0, _optionAssertions.access)(loc, index); + const env = (0, _optionAssertions.assertObject)(objLoc, item); + if (!env) throw new Error(`${(0, _optionAssertions.msg)(objLoc)} must be an object`); + const overridesLoc = { + type: "overrides", + index, + parent + }; + validateNested(overridesLoc, env); + } + } + + return arr; +} + +function checkNoUnwrappedItemOptionPairs(items, index, type, e) { + if (index === 0) return; + const lastItem = items[index - 1]; + const thisItem = items[index]; + + if (lastItem.file && lastItem.options === undefined && typeof thisItem.value === "object") { + e.message += `\n- Maybe you meant to use\n` + `"${type}s": [\n ["${lastItem.file.request}", ${JSON.stringify(thisItem.value, undefined, 2)}]\n]\n` + `To be a valid ${type}, its name and options should be wrapped in a pair of brackets`; + } +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/validation/plugins.js b/node_modules/@babel/core/lib/config/validation/plugins.js new file mode 100644 index 00000000..a70cc676 --- /dev/null +++ b/node_modules/@babel/core/lib/config/validation/plugins.js @@ -0,0 +1,71 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.validatePluginObject = validatePluginObject; + +var _optionAssertions = require("./option-assertions"); + +const VALIDATORS = { + name: _optionAssertions.assertString, + manipulateOptions: _optionAssertions.assertFunction, + pre: _optionAssertions.assertFunction, + post: _optionAssertions.assertFunction, + inherits: _optionAssertions.assertFunction, + visitor: assertVisitorMap, + parserOverride: _optionAssertions.assertFunction, + generatorOverride: _optionAssertions.assertFunction +}; + +function assertVisitorMap(loc, value) { + const obj = (0, _optionAssertions.assertObject)(loc, value); + + if (obj) { + Object.keys(obj).forEach(prop => assertVisitorHandler(prop, obj[prop])); + + if (obj.enter || obj.exit) { + throw new Error(`${(0, _optionAssertions.msg)(loc)} cannot contain catch-all "enter" or "exit" handlers. Please target individual nodes.`); + } + } + + return obj; +} + +function assertVisitorHandler(key, value) { + if (value && typeof value === "object") { + Object.keys(value).forEach(handler => { + if (handler !== "enter" && handler !== "exit") { + throw new Error(`.visitor["${key}"] may only have .enter and/or .exit handlers.`); + } + }); + } else if (typeof value !== "function") { + throw new Error(`.visitor["${key}"] must be a function`); + } + + return value; +} + +function validatePluginObject(obj) { + const rootPath = { + type: "root", + source: "plugin" + }; + Object.keys(obj).forEach(key => { + const validator = VALIDATORS[key]; + + if (validator) { + const optLoc = { + type: "option", + name: key, + parent: rootPath + }; + validator(optLoc, obj[key]); + } else { + const invalidPluginPropertyError = new Error(`.${key} is not a valid Plugin property`); + invalidPluginPropertyError.code = "BABEL_UNKNOWN_PLUGIN_PROPERTY"; + throw invalidPluginPropertyError; + } + }); + return obj; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/validation/removed.js b/node_modules/@babel/core/lib/config/validation/removed.js new file mode 100644 index 00000000..f0fcd7de --- /dev/null +++ b/node_modules/@babel/core/lib/config/validation/removed.js @@ -0,0 +1,66 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = { + auxiliaryComment: { + message: "Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`" + }, + blacklist: { + message: "Put the specific transforms you want in the `plugins` option" + }, + breakConfig: { + message: "This is not a necessary option in Babel 6" + }, + experimental: { + message: "Put the specific transforms you want in the `plugins` option" + }, + externalHelpers: { + message: "Use the `external-helpers` plugin instead. " + "Check out http://babeljs.io/docs/plugins/external-helpers/" + }, + extra: { + message: "" + }, + jsxPragma: { + message: "use the `pragma` option in the `react-jsx` plugin. " + "Check out http://babeljs.io/docs/plugins/transform-react-jsx/" + }, + loose: { + message: "Specify the `loose` option for the relevant plugin you are using " + "or use a preset that sets the option." + }, + metadataUsedHelpers: { + message: "Not required anymore as this is enabled by default" + }, + modules: { + message: "Use the corresponding module transform plugin in the `plugins` option. " + "Check out http://babeljs.io/docs/plugins/#modules" + }, + nonStandard: { + message: "Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. " + "Also check out the react preset http://babeljs.io/docs/plugins/preset-react/" + }, + optional: { + message: "Put the specific transforms you want in the `plugins` option" + }, + sourceMapName: { + message: "The `sourceMapName` option has been removed because it makes more sense for the " + "tooling that calls Babel to assign `map.file` themselves." + }, + stage: { + message: "Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets" + }, + whitelist: { + message: "Put the specific transforms you want in the `plugins` option" + }, + resolveModuleSource: { + version: 6, + message: "Use `babel-plugin-module-resolver@3`'s 'resolvePath' options" + }, + metadata: { + version: 6, + message: "Generated plugin metadata is always included in the output result" + }, + sourceMapTarget: { + version: 6, + message: "The `sourceMapTarget` option has been removed because it makes more sense for the tooling " + "that calls Babel to assign `map.file` themselves." + } +}; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@babel/core/lib/gensync-utils/async.js b/node_modules/@babel/core/lib/gensync-utils/async.js new file mode 100644 index 00000000..fb11b976 --- /dev/null +++ b/node_modules/@babel/core/lib/gensync-utils/async.js @@ -0,0 +1,93 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.maybeAsync = maybeAsync; +exports.forwardAsync = forwardAsync; +exports.isThenable = isThenable; +exports.waitFor = exports.onFirstPause = exports.isAsync = void 0; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +const id = x => x; + +const runGenerator = _gensync()(function* (item) { + return yield* item; +}); + +const isAsync = _gensync()({ + sync: () => false, + errback: cb => cb(null, true) +}); + +exports.isAsync = isAsync; + +function maybeAsync(fn, message) { + return _gensync()({ + sync(...args) { + const result = fn.apply(this, args); + if (isThenable(result)) throw new Error(message); + return result; + }, + + async(...args) { + return Promise.resolve(fn.apply(this, args)); + } + + }); +} + +const withKind = _gensync()({ + sync: cb => cb("sync"), + async: cb => cb("async") +}); + +function forwardAsync(action, cb) { + const g = _gensync()(action); + + return withKind(kind => { + const adapted = g[kind]; + return cb(adapted); + }); +} + +const onFirstPause = _gensync()({ + name: "onFirstPause", + arity: 2, + sync: function (item) { + return runGenerator.sync(item); + }, + errback: function (item, firstPause, cb) { + let completed = false; + runGenerator.errback(item, (err, value) => { + completed = true; + cb(err, value); + }); + + if (!completed) { + firstPause(); + } + } +}); + +exports.onFirstPause = onFirstPause; + +const waitFor = _gensync()({ + sync: id, + async: id +}); + +exports.waitFor = waitFor; + +function isThenable(val) { + return !!val && (typeof val === "object" || typeof val === "function") && !!val.then && typeof val.then === "function"; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/gensync-utils/fs.js b/node_modules/@babel/core/lib/gensync-utils/fs.js new file mode 100644 index 00000000..056ae34d --- /dev/null +++ b/node_modules/@babel/core/lib/gensync-utils/fs.js @@ -0,0 +1,40 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.stat = exports.readFile = void 0; + +function _fs() { + const data = require("fs"); + + _fs = function () { + return data; + }; + + return data; +} + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +const readFile = _gensync()({ + sync: _fs().readFileSync, + errback: _fs().readFile +}); + +exports.readFile = readFile; + +const stat = _gensync()({ + sync: _fs().statSync, + errback: _fs().stat +}); + +exports.stat = stat; \ No newline at end of file diff --git a/node_modules/@babel/core/lib/index.js b/node_modules/@babel/core/lib/index.js new file mode 100644 index 00000000..66ed5694 --- /dev/null +++ b/node_modules/@babel/core/lib/index.js @@ -0,0 +1,264 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Plugin = Plugin; +Object.defineProperty(exports, "File", { + enumerable: true, + get: function () { + return _file.default; + } +}); +Object.defineProperty(exports, "buildExternalHelpers", { + enumerable: true, + get: function () { + return _buildExternalHelpers.default; + } +}); +Object.defineProperty(exports, "resolvePlugin", { + enumerable: true, + get: function () { + return _files.resolvePlugin; + } +}); +Object.defineProperty(exports, "resolvePreset", { + enumerable: true, + get: function () { + return _files.resolvePreset; + } +}); +Object.defineProperty(exports, "getEnv", { + enumerable: true, + get: function () { + return _environment.getEnv; + } +}); +Object.defineProperty(exports, "tokTypes", { + enumerable: true, + get: function () { + return _parser().tokTypes; + } +}); +Object.defineProperty(exports, "traverse", { + enumerable: true, + get: function () { + return _traverse().default; + } +}); +Object.defineProperty(exports, "template", { + enumerable: true, + get: function () { + return _template().default; + } +}); +Object.defineProperty(exports, "createConfigItem", { + enumerable: true, + get: function () { + return _config.createConfigItem; + } +}); +Object.defineProperty(exports, "createConfigItemSync", { + enumerable: true, + get: function () { + return _config.createConfigItemSync; + } +}); +Object.defineProperty(exports, "createConfigItemAsync", { + enumerable: true, + get: function () { + return _config.createConfigItemAsync; + } +}); +Object.defineProperty(exports, "loadPartialConfig", { + enumerable: true, + get: function () { + return _config.loadPartialConfig; + } +}); +Object.defineProperty(exports, "loadPartialConfigSync", { + enumerable: true, + get: function () { + return _config.loadPartialConfigSync; + } +}); +Object.defineProperty(exports, "loadPartialConfigAsync", { + enumerable: true, + get: function () { + return _config.loadPartialConfigAsync; + } +}); +Object.defineProperty(exports, "loadOptions", { + enumerable: true, + get: function () { + return _config.loadOptions; + } +}); +Object.defineProperty(exports, "loadOptionsSync", { + enumerable: true, + get: function () { + return _config.loadOptionsSync; + } +}); +Object.defineProperty(exports, "loadOptionsAsync", { + enumerable: true, + get: function () { + return _config.loadOptionsAsync; + } +}); +Object.defineProperty(exports, "transform", { + enumerable: true, + get: function () { + return _transform.transform; + } +}); +Object.defineProperty(exports, "transformSync", { + enumerable: true, + get: function () { + return _transform.transformSync; + } +}); +Object.defineProperty(exports, "transformAsync", { + enumerable: true, + get: function () { + return _transform.transformAsync; + } +}); +Object.defineProperty(exports, "transformFile", { + enumerable: true, + get: function () { + return _transformFile.transformFile; + } +}); +Object.defineProperty(exports, "transformFileSync", { + enumerable: true, + get: function () { + return _transformFile.transformFileSync; + } +}); +Object.defineProperty(exports, "transformFileAsync", { + enumerable: true, + get: function () { + return _transformFile.transformFileAsync; + } +}); +Object.defineProperty(exports, "transformFromAst", { + enumerable: true, + get: function () { + return _transformAst.transformFromAst; + } +}); +Object.defineProperty(exports, "transformFromAstSync", { + enumerable: true, + get: function () { + return _transformAst.transformFromAstSync; + } +}); +Object.defineProperty(exports, "transformFromAstAsync", { + enumerable: true, + get: function () { + return _transformAst.transformFromAstAsync; + } +}); +Object.defineProperty(exports, "parse", { + enumerable: true, + get: function () { + return _parse.parse; + } +}); +Object.defineProperty(exports, "parseSync", { + enumerable: true, + get: function () { + return _parse.parseSync; + } +}); +Object.defineProperty(exports, "parseAsync", { + enumerable: true, + get: function () { + return _parse.parseAsync; + } +}); +exports.types = exports.OptionManager = exports.DEFAULT_EXTENSIONS = exports.version = void 0; + +var _file = require("./transformation/file/file"); + +var _buildExternalHelpers = require("./tools/build-external-helpers"); + +var _files = require("./config/files"); + +var _environment = require("./config/helpers/environment"); + +function _types() { + const data = require("@babel/types"); + + _types = function () { + return data; + }; + + return data; +} + +Object.defineProperty(exports, "types", { + enumerable: true, + get: function () { + return _types(); + } +}); + +function _parser() { + const data = require("@babel/parser"); + + _parser = function () { + return data; + }; + + return data; +} + +function _traverse() { + const data = require("@babel/traverse"); + + _traverse = function () { + return data; + }; + + return data; +} + +function _template() { + const data = require("@babel/template"); + + _template = function () { + return data; + }; + + return data; +} + +var _config = require("./config"); + +var _transform = require("./transform"); + +var _transformFile = require("./transform-file"); + +var _transformAst = require("./transform-ast"); + +var _parse = require("./parse"); + +const version = "7.15.5"; +exports.version = version; +const DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]); +exports.DEFAULT_EXTENSIONS = DEFAULT_EXTENSIONS; + +class OptionManager { + init(opts) { + return (0, _config.loadOptions)(opts); + } + +} + +exports.OptionManager = OptionManager; + +function Plugin(alias) { + throw new Error(`The (${alias}) Babel 5 plugin is being run with an unsupported Babel version.`); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/parse.js b/node_modules/@babel/core/lib/parse.js new file mode 100644 index 00000000..23516615 --- /dev/null +++ b/node_modules/@babel/core/lib/parse.js @@ -0,0 +1,48 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseAsync = exports.parseSync = exports.parse = void 0; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +var _config = require("./config"); + +var _parser = require("./parser"); + +var _normalizeOpts = require("./transformation/normalize-opts"); + +const parseRunner = _gensync()(function* parse(code, opts) { + const config = yield* (0, _config.default)(opts); + + if (config === null) { + return null; + } + + return yield* (0, _parser.default)(config.passes, (0, _normalizeOpts.default)(config), code); +}); + +const parse = function parse(code, opts, callback) { + if (typeof opts === "function") { + callback = opts; + opts = undefined; + } + + if (callback === undefined) return parseRunner.sync(code, opts); + parseRunner.errback(code, opts, callback); +}; + +exports.parse = parse; +const parseSync = parseRunner.sync; +exports.parseSync = parseSync; +const parseAsync = parseRunner.async; +exports.parseAsync = parseAsync; \ No newline at end of file diff --git a/node_modules/@babel/core/lib/parser/index.js b/node_modules/@babel/core/lib/parser/index.js new file mode 100644 index 00000000..254122a1 --- /dev/null +++ b/node_modules/@babel/core/lib/parser/index.js @@ -0,0 +1,95 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = parser; + +function _parser() { + const data = require("@babel/parser"); + + _parser = function () { + return data; + }; + + return data; +} + +function _codeFrame() { + const data = require("@babel/code-frame"); + + _codeFrame = function () { + return data; + }; + + return data; +} + +var _missingPluginHelper = require("./util/missing-plugin-helper"); + +function* parser(pluginPasses, { + parserOpts, + highlightCode = true, + filename = "unknown" +}, code) { + try { + const results = []; + + for (const plugins of pluginPasses) { + for (const plugin of plugins) { + const { + parserOverride + } = plugin; + + if (parserOverride) { + const ast = parserOverride(code, parserOpts, _parser().parse); + if (ast !== undefined) results.push(ast); + } + } + } + + if (results.length === 0) { + return (0, _parser().parse)(code, parserOpts); + } else if (results.length === 1) { + yield* []; + + if (typeof results[0].then === "function") { + throw new Error(`You appear to be using an async parser plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, you may need to upgrade ` + `your @babel/core version.`); + } + + return results[0]; + } + + throw new Error("More than one plugin attempted to override parsing."); + } catch (err) { + if (err.code === "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED") { + err.message += "\nConsider renaming the file to '.mjs', or setting sourceType:module " + "or sourceType:unambiguous in your Babel config for this file."; + } + + const { + loc, + missingPlugin + } = err; + + if (loc) { + const codeFrame = (0, _codeFrame().codeFrameColumns)(code, { + start: { + line: loc.line, + column: loc.column + 1 + } + }, { + highlightCode + }); + + if (missingPlugin) { + err.message = `${filename}: ` + (0, _missingPluginHelper.default)(missingPlugin[0], loc, codeFrame); + } else { + err.message = `${filename}: ${err.message}\n\n` + codeFrame; + } + + err.code = "BABEL_PARSE_ERROR"; + } + + throw err; + } +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js b/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js new file mode 100644 index 00000000..96d75777 --- /dev/null +++ b/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js @@ -0,0 +1,313 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = generateMissingPluginMessage; +const pluginNameMap = { + asyncDoExpressions: { + syntax: { + name: "@babel/plugin-syntax-async-do-expressions", + url: "https://git.io/JYer8" + } + }, + classProperties: { + syntax: { + name: "@babel/plugin-syntax-class-properties", + url: "https://git.io/vb4yQ" + }, + transform: { + name: "@babel/plugin-proposal-class-properties", + url: "https://git.io/vb4SL" + } + }, + classPrivateProperties: { + syntax: { + name: "@babel/plugin-syntax-class-properties", + url: "https://git.io/vb4yQ" + }, + transform: { + name: "@babel/plugin-proposal-class-properties", + url: "https://git.io/vb4SL" + } + }, + classPrivateMethods: { + syntax: { + name: "@babel/plugin-syntax-class-properties", + url: "https://git.io/vb4yQ" + }, + transform: { + name: "@babel/plugin-proposal-private-methods", + url: "https://git.io/JvpRG" + } + }, + classStaticBlock: { + syntax: { + name: "@babel/plugin-syntax-class-static-block", + url: "https://git.io/JTLB6" + }, + transform: { + name: "@babel/plugin-proposal-class-static-block", + url: "https://git.io/JTLBP" + } + }, + decimal: { + syntax: { + name: "@babel/plugin-syntax-decimal", + url: "https://git.io/JfKOH" + } + }, + decorators: { + syntax: { + name: "@babel/plugin-syntax-decorators", + url: "https://git.io/vb4y9" + }, + transform: { + name: "@babel/plugin-proposal-decorators", + url: "https://git.io/vb4ST" + } + }, + doExpressions: { + syntax: { + name: "@babel/plugin-syntax-do-expressions", + url: "https://git.io/vb4yh" + }, + transform: { + name: "@babel/plugin-proposal-do-expressions", + url: "https://git.io/vb4S3" + } + }, + dynamicImport: { + syntax: { + name: "@babel/plugin-syntax-dynamic-import", + url: "https://git.io/vb4Sv" + } + }, + exportDefaultFrom: { + syntax: { + name: "@babel/plugin-syntax-export-default-from", + url: "https://git.io/vb4SO" + }, + transform: { + name: "@babel/plugin-proposal-export-default-from", + url: "https://git.io/vb4yH" + } + }, + exportNamespaceFrom: { + syntax: { + name: "@babel/plugin-syntax-export-namespace-from", + url: "https://git.io/vb4Sf" + }, + transform: { + name: "@babel/plugin-proposal-export-namespace-from", + url: "https://git.io/vb4SG" + } + }, + flow: { + syntax: { + name: "@babel/plugin-syntax-flow", + url: "https://git.io/vb4yb" + }, + transform: { + name: "@babel/preset-flow", + url: "https://git.io/JfeDn" + } + }, + functionBind: { + syntax: { + name: "@babel/plugin-syntax-function-bind", + url: "https://git.io/vb4y7" + }, + transform: { + name: "@babel/plugin-proposal-function-bind", + url: "https://git.io/vb4St" + } + }, + functionSent: { + syntax: { + name: "@babel/plugin-syntax-function-sent", + url: "https://git.io/vb4yN" + }, + transform: { + name: "@babel/plugin-proposal-function-sent", + url: "https://git.io/vb4SZ" + } + }, + importMeta: { + syntax: { + name: "@babel/plugin-syntax-import-meta", + url: "https://git.io/vbKK6" + } + }, + jsx: { + syntax: { + name: "@babel/plugin-syntax-jsx", + url: "https://git.io/vb4yA" + }, + transform: { + name: "@babel/preset-react", + url: "https://git.io/JfeDR" + } + }, + importAssertions: { + syntax: { + name: "@babel/plugin-syntax-import-assertions", + url: "https://git.io/JUbkv" + } + }, + moduleStringNames: { + syntax: { + name: "@babel/plugin-syntax-module-string-names", + url: "https://git.io/JTL8G" + } + }, + numericSeparator: { + syntax: { + name: "@babel/plugin-syntax-numeric-separator", + url: "https://git.io/vb4Sq" + }, + transform: { + name: "@babel/plugin-proposal-numeric-separator", + url: "https://git.io/vb4yS" + } + }, + optionalChaining: { + syntax: { + name: "@babel/plugin-syntax-optional-chaining", + url: "https://git.io/vb4Sc" + }, + transform: { + name: "@babel/plugin-proposal-optional-chaining", + url: "https://git.io/vb4Sk" + } + }, + pipelineOperator: { + syntax: { + name: "@babel/plugin-syntax-pipeline-operator", + url: "https://git.io/vb4yj" + }, + transform: { + name: "@babel/plugin-proposal-pipeline-operator", + url: "https://git.io/vb4SU" + } + }, + privateIn: { + syntax: { + name: "@babel/plugin-syntax-private-property-in-object", + url: "https://git.io/JfK3q" + }, + transform: { + name: "@babel/plugin-proposal-private-property-in-object", + url: "https://git.io/JfK3O" + } + }, + recordAndTuple: { + syntax: { + name: "@babel/plugin-syntax-record-and-tuple", + url: "https://git.io/JvKp3" + } + }, + throwExpressions: { + syntax: { + name: "@babel/plugin-syntax-throw-expressions", + url: "https://git.io/vb4SJ" + }, + transform: { + name: "@babel/plugin-proposal-throw-expressions", + url: "https://git.io/vb4yF" + } + }, + typescript: { + syntax: { + name: "@babel/plugin-syntax-typescript", + url: "https://git.io/vb4SC" + }, + transform: { + name: "@babel/preset-typescript", + url: "https://git.io/JfeDz" + } + }, + asyncGenerators: { + syntax: { + name: "@babel/plugin-syntax-async-generators", + url: "https://git.io/vb4SY" + }, + transform: { + name: "@babel/plugin-proposal-async-generator-functions", + url: "https://git.io/vb4yp" + } + }, + logicalAssignment: { + syntax: { + name: "@babel/plugin-syntax-logical-assignment-operators", + url: "https://git.io/vAlBp" + }, + transform: { + name: "@babel/plugin-proposal-logical-assignment-operators", + url: "https://git.io/vAlRe" + } + }, + nullishCoalescingOperator: { + syntax: { + name: "@babel/plugin-syntax-nullish-coalescing-operator", + url: "https://git.io/vb4yx" + }, + transform: { + name: "@babel/plugin-proposal-nullish-coalescing-operator", + url: "https://git.io/vb4Se" + } + }, + objectRestSpread: { + syntax: { + name: "@babel/plugin-syntax-object-rest-spread", + url: "https://git.io/vb4y5" + }, + transform: { + name: "@babel/plugin-proposal-object-rest-spread", + url: "https://git.io/vb4Ss" + } + }, + optionalCatchBinding: { + syntax: { + name: "@babel/plugin-syntax-optional-catch-binding", + url: "https://git.io/vb4Sn" + }, + transform: { + name: "@babel/plugin-proposal-optional-catch-binding", + url: "https://git.io/vb4SI" + } + } +}; +pluginNameMap.privateIn.syntax = pluginNameMap.privateIn.transform; + +const getNameURLCombination = ({ + name, + url +}) => `${name} (${url})`; + +function generateMissingPluginMessage(missingPluginName, loc, codeFrame) { + let helpMessage = `Support for the experimental syntax '${missingPluginName}' isn't currently enabled ` + `(${loc.line}:${loc.column + 1}):\n\n` + codeFrame; + const pluginInfo = pluginNameMap[missingPluginName]; + + if (pluginInfo) { + const { + syntax: syntaxPlugin, + transform: transformPlugin + } = pluginInfo; + + if (syntaxPlugin) { + const syntaxPluginInfo = getNameURLCombination(syntaxPlugin); + + if (transformPlugin) { + const transformPluginInfo = getNameURLCombination(transformPlugin); + const sectionType = transformPlugin.name.startsWith("@babel/plugin") ? "plugins" : "presets"; + helpMessage += `\n\nAdd ${transformPluginInfo} to the '${sectionType}' section of your Babel config to enable transformation. +If you want to leave it as-is, add ${syntaxPluginInfo} to the 'plugins' section to enable parsing.`; + } else { + helpMessage += `\n\nAdd ${syntaxPluginInfo} to the 'plugins' section of your Babel config ` + `to enable parsing.`; + } + } + } + + return helpMessage; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/tools/build-external-helpers.js b/node_modules/@babel/core/lib/tools/build-external-helpers.js new file mode 100644 index 00000000..94d85e7e --- /dev/null +++ b/node_modules/@babel/core/lib/tools/build-external-helpers.js @@ -0,0 +1,164 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +function helpers() { + const data = require("@babel/helpers"); + + helpers = function () { + return data; + }; + + return data; +} + +function _generator() { + const data = require("@babel/generator"); + + _generator = function () { + return data; + }; + + return data; +} + +function _template() { + const data = require("@babel/template"); + + _template = function () { + return data; + }; + + return data; +} + +function _t() { + const data = require("@babel/types"); + + _t = function () { + return data; + }; + + return data; +} + +var _file = require("../transformation/file/file"); + +const { + arrayExpression, + assignmentExpression, + binaryExpression, + blockStatement, + callExpression, + cloneNode, + conditionalExpression, + exportNamedDeclaration, + exportSpecifier, + expressionStatement, + functionExpression, + identifier, + memberExpression, + objectExpression, + program, + stringLiteral, + unaryExpression, + variableDeclaration, + variableDeclarator +} = _t(); + +const buildUmdWrapper = replacements => _template().default.statement` + (function (root, factory) { + if (typeof define === "function" && define.amd) { + define(AMD_ARGUMENTS, factory); + } else if (typeof exports === "object") { + factory(COMMON_ARGUMENTS); + } else { + factory(BROWSER_ARGUMENTS); + } + })(UMD_ROOT, function (FACTORY_PARAMETERS) { + FACTORY_BODY + }); + `(replacements); + +function buildGlobal(allowlist) { + const namespace = identifier("babelHelpers"); + const body = []; + const container = functionExpression(null, [identifier("global")], blockStatement(body)); + const tree = program([expressionStatement(callExpression(container, [conditionalExpression(binaryExpression("===", unaryExpression("typeof", identifier("global")), stringLiteral("undefined")), identifier("self"), identifier("global"))]))]); + body.push(variableDeclaration("var", [variableDeclarator(namespace, assignmentExpression("=", memberExpression(identifier("global"), namespace), objectExpression([])))])); + buildHelpers(body, namespace, allowlist); + return tree; +} + +function buildModule(allowlist) { + const body = []; + const refs = buildHelpers(body, null, allowlist); + body.unshift(exportNamedDeclaration(null, Object.keys(refs).map(name => { + return exportSpecifier(cloneNode(refs[name]), identifier(name)); + }))); + return program(body, [], "module"); +} + +function buildUmd(allowlist) { + const namespace = identifier("babelHelpers"); + const body = []; + body.push(variableDeclaration("var", [variableDeclarator(namespace, identifier("global"))])); + buildHelpers(body, namespace, allowlist); + return program([buildUmdWrapper({ + FACTORY_PARAMETERS: identifier("global"), + BROWSER_ARGUMENTS: assignmentExpression("=", memberExpression(identifier("root"), namespace), objectExpression([])), + COMMON_ARGUMENTS: identifier("exports"), + AMD_ARGUMENTS: arrayExpression([stringLiteral("exports")]), + FACTORY_BODY: body, + UMD_ROOT: identifier("this") + })]); +} + +function buildVar(allowlist) { + const namespace = identifier("babelHelpers"); + const body = []; + body.push(variableDeclaration("var", [variableDeclarator(namespace, objectExpression([]))])); + const tree = program(body); + buildHelpers(body, namespace, allowlist); + body.push(expressionStatement(namespace)); + return tree; +} + +function buildHelpers(body, namespace, allowlist) { + const getHelperReference = name => { + return namespace ? memberExpression(namespace, identifier(name)) : identifier(`_${name}`); + }; + + const refs = {}; + helpers().list.forEach(function (name) { + if (allowlist && allowlist.indexOf(name) < 0) return; + const ref = refs[name] = getHelperReference(name); + helpers().ensure(name, _file.default); + const { + nodes + } = helpers().get(name, getHelperReference, ref); + body.push(...nodes); + }); + return refs; +} + +function _default(allowlist, outputType = "global") { + let tree; + const build = { + global: buildGlobal, + module: buildModule, + umd: buildUmd, + var: buildVar + }[outputType]; + + if (build) { + tree = build(allowlist); + } else { + throw new Error(`Unsupported output type ${outputType}`); + } + + return (0, _generator().default)(tree).code; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transform-ast.js b/node_modules/@babel/core/lib/transform-ast.js new file mode 100644 index 00000000..5b974e7f --- /dev/null +++ b/node_modules/@babel/core/lib/transform-ast.js @@ -0,0 +1,46 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformFromAstAsync = exports.transformFromAstSync = exports.transformFromAst = void 0; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +var _config = require("./config"); + +var _transformation = require("./transformation"); + +const transformFromAstRunner = _gensync()(function* (ast, code, opts) { + const config = yield* (0, _config.default)(opts); + if (config === null) return null; + if (!ast) throw new Error("No AST given"); + return yield* (0, _transformation.run)(config, code, ast); +}); + +const transformFromAst = function transformFromAst(ast, code, opts, callback) { + if (typeof opts === "function") { + callback = opts; + opts = undefined; + } + + if (callback === undefined) { + return transformFromAstRunner.sync(ast, code, opts); + } + + transformFromAstRunner.errback(ast, code, opts, callback); +}; + +exports.transformFromAst = transformFromAst; +const transformFromAstSync = transformFromAstRunner.sync; +exports.transformFromAstSync = transformFromAstSync; +const transformFromAstAsync = transformFromAstRunner.async; +exports.transformFromAstAsync = transformFromAstAsync; \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transform-file-browser.js b/node_modules/@babel/core/lib/transform-file-browser.js new file mode 100644 index 00000000..6442c982 --- /dev/null +++ b/node_modules/@babel/core/lib/transform-file-browser.js @@ -0,0 +1,26 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformFileSync = transformFileSync; +exports.transformFileAsync = transformFileAsync; +exports.transformFile = void 0; + +const transformFile = function transformFile(filename, opts, callback) { + if (typeof opts === "function") { + callback = opts; + } + + callback(new Error("Transforming files is not supported in browsers"), null); +}; + +exports.transformFile = transformFile; + +function transformFileSync() { + throw new Error("Transforming files is not supported in browsers"); +} + +function transformFileAsync() { + return Promise.reject(new Error("Transforming files is not supported in browsers")); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transform-file.js b/node_modules/@babel/core/lib/transform-file.js new file mode 100644 index 00000000..fb978a59 --- /dev/null +++ b/node_modules/@babel/core/lib/transform-file.js @@ -0,0 +1,41 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformFileAsync = exports.transformFileSync = exports.transformFile = void 0; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +var _config = require("./config"); + +var _transformation = require("./transformation"); + +var fs = require("./gensync-utils/fs"); + +({}); + +const transformFileRunner = _gensync()(function* (filename, opts) { + const options = Object.assign({}, opts, { + filename + }); + const config = yield* (0, _config.default)(options); + if (config === null) return null; + const code = yield* fs.readFile(filename, "utf8"); + return yield* (0, _transformation.run)(config, code); +}); + +const transformFile = transformFileRunner.errback; +exports.transformFile = transformFile; +const transformFileSync = transformFileRunner.sync; +exports.transformFileSync = transformFileSync; +const transformFileAsync = transformFileRunner.async; +exports.transformFileAsync = transformFileAsync; \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transform.js b/node_modules/@babel/core/lib/transform.js new file mode 100644 index 00000000..cf7d21b0 --- /dev/null +++ b/node_modules/@babel/core/lib/transform.js @@ -0,0 +1,42 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformAsync = exports.transformSync = exports.transform = void 0; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + +var _config = require("./config"); + +var _transformation = require("./transformation"); + +const transformRunner = _gensync()(function* transform(code, opts) { + const config = yield* (0, _config.default)(opts); + if (config === null) return null; + return yield* (0, _transformation.run)(config, code); +}); + +const transform = function transform(code, opts, callback) { + if (typeof opts === "function") { + callback = opts; + opts = undefined; + } + + if (callback === undefined) return transformRunner.sync(code, opts); + transformRunner.errback(code, opts, callback); +}; + +exports.transform = transform; +const transformSync = transformRunner.sync; +exports.transformSync = transformSync; +const transformAsync = transformRunner.async; +exports.transformAsync = transformAsync; \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js b/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js new file mode 100644 index 00000000..a3b0b411 --- /dev/null +++ b/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js @@ -0,0 +1,94 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = loadBlockHoistPlugin; + +function _traverse() { + const data = require("@babel/traverse"); + + _traverse = function () { + return data; + }; + + return data; +} + +var _plugin = require("../config/plugin"); + +let LOADED_PLUGIN; + +function loadBlockHoistPlugin() { + if (!LOADED_PLUGIN) { + LOADED_PLUGIN = new _plugin.default(Object.assign({}, blockHoistPlugin, { + visitor: _traverse().default.explode(blockHoistPlugin.visitor) + }), {}); + } + + return LOADED_PLUGIN; +} + +function priority(bodyNode) { + const priority = bodyNode == null ? void 0 : bodyNode._blockHoist; + if (priority == null) return 1; + if (priority === true) return 2; + return priority; +} + +function stableSort(body) { + const buckets = Object.create(null); + + for (let i = 0; i < body.length; i++) { + const n = body[i]; + const p = priority(n); + const bucket = buckets[p] || (buckets[p] = []); + bucket.push(n); + } + + const keys = Object.keys(buckets).map(k => +k).sort((a, b) => b - a); + let index = 0; + + for (const key of keys) { + const bucket = buckets[key]; + + for (const n of bucket) { + body[index++] = n; + } + } + + return body; +} + +const blockHoistPlugin = { + name: "internal.blockHoist", + visitor: { + Block: { + exit({ + node + }) { + const { + body + } = node; + let max = Math.pow(2, 30) - 1; + let hasChange = false; + + for (let i = 0; i < body.length; i++) { + const n = body[i]; + const p = priority(n); + + if (p > max) { + hasChange = true; + break; + } + + max = p; + } + + if (!hasChange) return; + node.body = stableSort(body.slice()); + } + + } + } +}; \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/file/file.js b/node_modules/@babel/core/lib/transformation/file/file.js new file mode 100644 index 00000000..3728ec56 --- /dev/null +++ b/node_modules/@babel/core/lib/transformation/file/file.js @@ -0,0 +1,254 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function helpers() { + const data = require("@babel/helpers"); + + helpers = function () { + return data; + }; + + return data; +} + +function _traverse() { + const data = require("@babel/traverse"); + + _traverse = function () { + return data; + }; + + return data; +} + +function _codeFrame() { + const data = require("@babel/code-frame"); + + _codeFrame = function () { + return data; + }; + + return data; +} + +function _t() { + const data = require("@babel/types"); + + _t = function () { + return data; + }; + + return data; +} + +function _helperModuleTransforms() { + const data = require("@babel/helper-module-transforms"); + + _helperModuleTransforms = function () { + return data; + }; + + return data; +} + +function _semver() { + const data = require("semver"); + + _semver = function () { + return data; + }; + + return data; +} + +const { + cloneNode, + interpreterDirective +} = _t(); + +const errorVisitor = { + enter(path, state) { + const loc = path.node.loc; + + if (loc) { + state.loc = loc; + path.stop(); + } + } + +}; + +class File { + constructor(options, { + code, + ast, + inputMap + }) { + this._map = new Map(); + this.opts = void 0; + this.declarations = {}; + this.path = null; + this.ast = {}; + this.scope = void 0; + this.metadata = {}; + this.code = ""; + this.inputMap = null; + this.hub = { + file: this, + getCode: () => this.code, + getScope: () => this.scope, + addHelper: this.addHelper.bind(this), + buildError: this.buildCodeFrameError.bind(this) + }; + this.opts = options; + this.code = code; + this.ast = ast; + this.inputMap = inputMap; + this.path = _traverse().NodePath.get({ + hub: this.hub, + parentPath: null, + parent: this.ast, + container: this.ast, + key: "program" + }).setContext(); + this.scope = this.path.scope; + } + + get shebang() { + const { + interpreter + } = this.path.node; + return interpreter ? interpreter.value : ""; + } + + set shebang(value) { + if (value) { + this.path.get("interpreter").replaceWith(interpreterDirective(value)); + } else { + this.path.get("interpreter").remove(); + } + } + + set(key, val) { + if (key === "helpersNamespace") { + throw new Error("Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility." + "If you are using @babel/plugin-external-helpers you will need to use a newer " + "version than the one you currently have installed. " + "If you have your own implementation, you'll want to explore using 'helperGenerator' " + "alongside 'file.availableHelper()'."); + } + + this._map.set(key, val); + } + + get(key) { + return this._map.get(key); + } + + has(key) { + return this._map.has(key); + } + + getModuleName() { + return (0, _helperModuleTransforms().getModuleName)(this.opts, this.opts); + } + + addImport() { + throw new Error("This API has been removed. If you're looking for this " + "functionality in Babel 7, you should import the " + "'@babel/helper-module-imports' module and use the functions exposed " + " from that module, such as 'addNamed' or 'addDefault'."); + } + + availableHelper(name, versionRange) { + let minVersion; + + try { + minVersion = helpers().minVersion(name); + } catch (err) { + if (err.code !== "BABEL_HELPER_UNKNOWN") throw err; + return false; + } + + if (typeof versionRange !== "string") return true; + if (_semver().valid(versionRange)) versionRange = `^${versionRange}`; + return !_semver().intersects(`<${minVersion}`, versionRange) && !_semver().intersects(`>=8.0.0`, versionRange); + } + + addHelper(name) { + const declar = this.declarations[name]; + if (declar) return cloneNode(declar); + const generator = this.get("helperGenerator"); + + if (generator) { + const res = generator(name); + if (res) return res; + } + + helpers().ensure(name, File); + const uid = this.declarations[name] = this.scope.generateUidIdentifier(name); + const dependencies = {}; + + for (const dep of helpers().getDependencies(name)) { + dependencies[dep] = this.addHelper(dep); + } + + const { + nodes, + globals + } = helpers().get(name, dep => dependencies[dep], uid, Object.keys(this.scope.getAllBindings())); + globals.forEach(name => { + if (this.path.scope.hasBinding(name, true)) { + this.path.scope.rename(name); + } + }); + nodes.forEach(node => { + node._compact = true; + }); + this.path.unshiftContainer("body", nodes); + this.path.get("body").forEach(path => { + if (nodes.indexOf(path.node) === -1) return; + if (path.isVariableDeclaration()) this.scope.registerDeclaration(path); + }); + return uid; + } + + addTemplateObject() { + throw new Error("This function has been moved into the template literal transform itself."); + } + + buildCodeFrameError(node, msg, _Error = SyntaxError) { + let loc = node && (node.loc || node._loc); + + if (!loc && node) { + const state = { + loc: null + }; + (0, _traverse().default)(node, errorVisitor, this.scope, state); + loc = state.loc; + let txt = "This is an error on an internal node. Probably an internal error."; + if (loc) txt += " Location has been estimated."; + msg += ` (${txt})`; + } + + if (loc) { + const { + highlightCode = true + } = this.opts; + msg += "\n" + (0, _codeFrame().codeFrameColumns)(this.code, { + start: { + line: loc.start.line, + column: loc.start.column + 1 + }, + end: loc.end && loc.start.line === loc.end.line ? { + line: loc.end.line, + column: loc.end.column + 1 + } : undefined + }, { + highlightCode + }); + } + + return new _Error(msg); + } + +} + +exports.default = File; \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/file/generate.js b/node_modules/@babel/core/lib/transformation/file/generate.js new file mode 100644 index 00000000..50250d80 --- /dev/null +++ b/node_modules/@babel/core/lib/transformation/file/generate.js @@ -0,0 +1,87 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = generateCode; + +function _convertSourceMap() { + const data = require("convert-source-map"); + + _convertSourceMap = function () { + return data; + }; + + return data; +} + +function _generator() { + const data = require("@babel/generator"); + + _generator = function () { + return data; + }; + + return data; +} + +var _mergeMap = require("./merge-map"); + +function generateCode(pluginPasses, file) { + const { + opts, + ast, + code, + inputMap + } = file; + const results = []; + + for (const plugins of pluginPasses) { + for (const plugin of plugins) { + const { + generatorOverride + } = plugin; + + if (generatorOverride) { + const result = generatorOverride(ast, opts.generatorOpts, code, _generator().default); + if (result !== undefined) results.push(result); + } + } + } + + let result; + + if (results.length === 0) { + result = (0, _generator().default)(ast, opts.generatorOpts, code); + } else if (results.length === 1) { + result = results[0]; + + if (typeof result.then === "function") { + throw new Error(`You appear to be using an async codegen plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, ` + `you may need to upgrade your @babel/core version.`); + } + } else { + throw new Error("More than one plugin attempted to override codegen."); + } + + let { + code: outputCode, + map: outputMap + } = result; + + if (outputMap && inputMap) { + outputMap = (0, _mergeMap.default)(inputMap.toObject(), outputMap); + } + + if (opts.sourceMaps === "inline" || opts.sourceMaps === "both") { + outputCode += "\n" + _convertSourceMap().fromObject(outputMap).toComment(); + } + + if (opts.sourceMaps === "inline") { + outputMap = null; + } + + return { + outputCode, + outputMap + }; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/file/merge-map.js b/node_modules/@babel/core/lib/transformation/file/merge-map.js new file mode 100644 index 00000000..5cc789f8 --- /dev/null +++ b/node_modules/@babel/core/lib/transformation/file/merge-map.js @@ -0,0 +1,245 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = mergeSourceMap; + +function _sourceMap() { + const data = require("source-map"); + + _sourceMap = function () { + return data; + }; + + return data; +} + +function mergeSourceMap(inputMap, map) { + const input = buildMappingData(inputMap); + const output = buildMappingData(map); + const mergedGenerator = new (_sourceMap().SourceMapGenerator)(); + + for (const { + source + } of input.sources) { + if (typeof source.content === "string") { + mergedGenerator.setSourceContent(source.path, source.content); + } + } + + if (output.sources.length === 1) { + const defaultSource = output.sources[0]; + const insertedMappings = new Map(); + eachInputGeneratedRange(input, (generated, original, source) => { + eachOverlappingGeneratedOutputRange(defaultSource, generated, item => { + const key = makeMappingKey(item); + if (insertedMappings.has(key)) return; + insertedMappings.set(key, item); + mergedGenerator.addMapping({ + source: source.path, + original: { + line: original.line, + column: original.columnStart + }, + generated: { + line: item.line, + column: item.columnStart + }, + name: original.name + }); + }); + }); + + for (const item of insertedMappings.values()) { + if (item.columnEnd === Infinity) { + continue; + } + + const clearItem = { + line: item.line, + columnStart: item.columnEnd + }; + const key = makeMappingKey(clearItem); + + if (insertedMappings.has(key)) { + continue; + } + + mergedGenerator.addMapping({ + generated: { + line: clearItem.line, + column: clearItem.columnStart + } + }); + } + } + + const result = mergedGenerator.toJSON(); + + if (typeof input.sourceRoot === "string") { + result.sourceRoot = input.sourceRoot; + } + + return result; +} + +function makeMappingKey(item) { + return `${item.line}/${item.columnStart}`; +} + +function eachOverlappingGeneratedOutputRange(outputFile, inputGeneratedRange, callback) { + const overlappingOriginal = filterApplicableOriginalRanges(outputFile, inputGeneratedRange); + + for (const { + generated + } of overlappingOriginal) { + for (const item of generated) { + callback(item); + } + } +} + +function filterApplicableOriginalRanges({ + mappings +}, { + line, + columnStart, + columnEnd +}) { + return filterSortedArray(mappings, ({ + original: outOriginal + }) => { + if (line > outOriginal.line) return -1; + if (line < outOriginal.line) return 1; + if (columnStart >= outOriginal.columnEnd) return -1; + if (columnEnd <= outOriginal.columnStart) return 1; + return 0; + }); +} + +function eachInputGeneratedRange(map, callback) { + for (const { + source, + mappings + } of map.sources) { + for (const { + original, + generated + } of mappings) { + for (const item of generated) { + callback(item, original, source); + } + } + } +} + +function buildMappingData(map) { + const consumer = new (_sourceMap().SourceMapConsumer)(Object.assign({}, map, { + sourceRoot: null + })); + const sources = new Map(); + const mappings = new Map(); + let last = null; + consumer.computeColumnSpans(); + consumer.eachMapping(m => { + if (m.originalLine === null) return; + let source = sources.get(m.source); + + if (!source) { + source = { + path: m.source, + content: consumer.sourceContentFor(m.source, true) + }; + sources.set(m.source, source); + } + + let sourceData = mappings.get(source); + + if (!sourceData) { + sourceData = { + source, + mappings: [] + }; + mappings.set(source, sourceData); + } + + const obj = { + line: m.originalLine, + columnStart: m.originalColumn, + columnEnd: Infinity, + name: m.name + }; + + if (last && last.source === source && last.mapping.line === m.originalLine) { + last.mapping.columnEnd = m.originalColumn; + } + + last = { + source, + mapping: obj + }; + sourceData.mappings.push({ + original: obj, + generated: consumer.allGeneratedPositionsFor({ + source: m.source, + line: m.originalLine, + column: m.originalColumn + }).map(item => ({ + line: item.line, + columnStart: item.column, + columnEnd: item.lastColumn + 1 + })) + }); + }, null, _sourceMap().SourceMapConsumer.ORIGINAL_ORDER); + return { + file: map.file, + sourceRoot: map.sourceRoot, + sources: Array.from(mappings.values()) + }; +} + +function findInsertionLocation(array, callback) { + let left = 0; + let right = array.length; + + while (left < right) { + const mid = Math.floor((left + right) / 2); + const item = array[mid]; + const result = callback(item); + + if (result === 0) { + left = mid; + break; + } + + if (result >= 0) { + right = mid; + } else { + left = mid + 1; + } + } + + let i = left; + + if (i < array.length) { + while (i >= 0 && callback(array[i]) >= 0) { + i--; + } + + return i + 1; + } + + return i; +} + +function filterSortedArray(array, callback) { + const start = findInsertionLocation(array, callback); + const results = []; + + for (let i = start; i < array.length && callback(array[i]) === 0; i++) { + results.push(array[i]); + } + + return results; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/index.js b/node_modules/@babel/core/lib/transformation/index.js new file mode 100644 index 00000000..0ac43228 --- /dev/null +++ b/node_modules/@babel/core/lib/transformation/index.js @@ -0,0 +1,124 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.run = run; + +function _traverse() { + const data = require("@babel/traverse"); + + _traverse = function () { + return data; + }; + + return data; +} + +var _pluginPass = require("./plugin-pass"); + +var _blockHoistPlugin = require("./block-hoist-plugin"); + +var _normalizeOpts = require("./normalize-opts"); + +var _normalizeFile = require("./normalize-file"); + +var _generate = require("./file/generate"); + +function* run(config, code, ast) { + const file = yield* (0, _normalizeFile.default)(config.passes, (0, _normalizeOpts.default)(config), code, ast); + const opts = file.opts; + + try { + yield* transformFile(file, config.passes); + } catch (e) { + var _opts$filename; + + e.message = `${(_opts$filename = opts.filename) != null ? _opts$filename : "unknown"}: ${e.message}`; + + if (!e.code) { + e.code = "BABEL_TRANSFORM_ERROR"; + } + + throw e; + } + + let outputCode, outputMap; + + try { + if (opts.code !== false) { + ({ + outputCode, + outputMap + } = (0, _generate.default)(config.passes, file)); + } + } catch (e) { + var _opts$filename2; + + e.message = `${(_opts$filename2 = opts.filename) != null ? _opts$filename2 : "unknown"}: ${e.message}`; + + if (!e.code) { + e.code = "BABEL_GENERATE_ERROR"; + } + + throw e; + } + + return { + metadata: file.metadata, + options: opts, + ast: opts.ast === true ? file.ast : null, + code: outputCode === undefined ? null : outputCode, + map: outputMap === undefined ? null : outputMap, + sourceType: file.ast.program.sourceType + }; +} + +function* transformFile(file, pluginPasses) { + for (const pluginPairs of pluginPasses) { + const passPairs = []; + const passes = []; + const visitors = []; + + for (const plugin of pluginPairs.concat([(0, _blockHoistPlugin.default)()])) { + const pass = new _pluginPass.default(file, plugin.key, plugin.options); + passPairs.push([plugin, pass]); + passes.push(pass); + visitors.push(plugin.visitor); + } + + for (const [plugin, pass] of passPairs) { + const fn = plugin.pre; + + if (fn) { + const result = fn.call(pass, file); + yield* []; + + if (isThenable(result)) { + throw new Error(`You appear to be using an plugin with an async .pre, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, you may need to upgrade ` + `your @babel/core version.`); + } + } + } + + const visitor = _traverse().default.visitors.merge(visitors, passes, file.opts.wrapPluginVisitorMethod); + + (0, _traverse().default)(file.ast, visitor, file.scope); + + for (const [plugin, pass] of passPairs) { + const fn = plugin.post; + + if (fn) { + const result = fn.call(pass, file); + yield* []; + + if (isThenable(result)) { + throw new Error(`You appear to be using an plugin with an async .post, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, you may need to upgrade ` + `your @babel/core version.`); + } + } + } + } +} + +function isThenable(val) { + return !!val && (typeof val === "object" || typeof val === "function") && !!val.then && typeof val.then === "function"; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/normalize-file.js b/node_modules/@babel/core/lib/transformation/normalize-file.js new file mode 100644 index 00000000..dc434ed8 --- /dev/null +++ b/node_modules/@babel/core/lib/transformation/normalize-file.js @@ -0,0 +1,167 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = normalizeFile; + +function _fs() { + const data = require("fs"); + + _fs = function () { + return data; + }; + + return data; +} + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +function _debug() { + const data = require("debug"); + + _debug = function () { + return data; + }; + + return data; +} + +function _t() { + const data = require("@babel/types"); + + _t = function () { + return data; + }; + + return data; +} + +function _convertSourceMap() { + const data = require("convert-source-map"); + + _convertSourceMap = function () { + return data; + }; + + return data; +} + +var _file = require("./file/file"); + +var _parser = require("../parser"); + +var _cloneDeep = require("./util/clone-deep"); + +const { + file, + traverseFast +} = _t(); + +const debug = _debug()("babel:transform:file"); + +const LARGE_INPUT_SOURCEMAP_THRESHOLD = 1000000; + +function* normalizeFile(pluginPasses, options, code, ast) { + code = `${code || ""}`; + + if (ast) { + if (ast.type === "Program") { + ast = file(ast, [], []); + } else if (ast.type !== "File") { + throw new Error("AST root must be a Program or File node"); + } + + if (options.cloneInputAst) { + ast = (0, _cloneDeep.default)(ast); + } + } else { + ast = yield* (0, _parser.default)(pluginPasses, options, code); + } + + let inputMap = null; + + if (options.inputSourceMap !== false) { + if (typeof options.inputSourceMap === "object") { + inputMap = _convertSourceMap().fromObject(options.inputSourceMap); + } + + if (!inputMap) { + const lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast); + + if (lastComment) { + try { + inputMap = _convertSourceMap().fromComment(lastComment); + } catch (err) { + debug("discarding unknown inline input sourcemap", err); + } + } + } + + if (!inputMap) { + const lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast); + + if (typeof options.filename === "string" && lastComment) { + try { + const match = EXTERNAL_SOURCEMAP_REGEX.exec(lastComment); + + const inputMapContent = _fs().readFileSync(_path().resolve(_path().dirname(options.filename), match[1])); + + if (inputMapContent.length > LARGE_INPUT_SOURCEMAP_THRESHOLD) { + debug("skip merging input map > 1 MB"); + } else { + inputMap = _convertSourceMap().fromJSON(inputMapContent); + } + } catch (err) { + debug("discarding unknown file input sourcemap", err); + } + } else if (lastComment) { + debug("discarding un-loadable file input sourcemap"); + } + } + } + + return new _file.default(options, { + code, + ast, + inputMap + }); +} + +const INLINE_SOURCEMAP_REGEX = /^[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/; +const EXTERNAL_SOURCEMAP_REGEX = /^[@#][ \t]+sourceMappingURL=([^\s'"`]+)[ \t]*$/; + +function extractCommentsFromList(regex, comments, lastComment) { + if (comments) { + comments = comments.filter(({ + value + }) => { + if (regex.test(value)) { + lastComment = value; + return false; + } + + return true; + }); + } + + return [comments, lastComment]; +} + +function extractComments(regex, ast) { + let lastComment = null; + traverseFast(ast, node => { + [node.leadingComments, lastComment] = extractCommentsFromList(regex, node.leadingComments, lastComment); + [node.innerComments, lastComment] = extractCommentsFromList(regex, node.innerComments, lastComment); + [node.trailingComments, lastComment] = extractCommentsFromList(regex, node.trailingComments, lastComment); + }); + return lastComment; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/normalize-opts.js b/node_modules/@babel/core/lib/transformation/normalize-opts.js new file mode 100644 index 00000000..6e2cb000 --- /dev/null +++ b/node_modules/@babel/core/lib/transformation/normalize-opts.js @@ -0,0 +1,62 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = normalizeOptions; + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +function normalizeOptions(config) { + const { + filename, + cwd, + filenameRelative = typeof filename === "string" ? _path().relative(cwd, filename) : "unknown", + sourceType = "module", + inputSourceMap, + sourceMaps = !!inputSourceMap, + sourceRoot = config.options.moduleRoot, + sourceFileName = _path().basename(filenameRelative), + comments = true, + compact = "auto" + } = config.options; + const opts = config.options; + const options = Object.assign({}, opts, { + parserOpts: Object.assign({ + sourceType: _path().extname(filenameRelative) === ".mjs" ? "module" : sourceType, + sourceFileName: filename, + plugins: [] + }, opts.parserOpts), + generatorOpts: Object.assign({ + filename, + auxiliaryCommentBefore: opts.auxiliaryCommentBefore, + auxiliaryCommentAfter: opts.auxiliaryCommentAfter, + retainLines: opts.retainLines, + comments, + shouldPrintComment: opts.shouldPrintComment, + compact, + minified: opts.minified, + sourceMaps, + sourceRoot, + sourceFileName + }, opts.generatorOpts) + }); + + for (const plugins of config.passes) { + for (const plugin of plugins) { + if (plugin.manipulateOptions) { + plugin.manipulateOptions(options, options.parserOpts); + } + } + } + + return options; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/plugin-pass.js b/node_modules/@babel/core/lib/transformation/plugin-pass.js new file mode 100644 index 00000000..920558a0 --- /dev/null +++ b/node_modules/@babel/core/lib/transformation/plugin-pass.js @@ -0,0 +1,54 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +class PluginPass { + constructor(file, key, options) { + this._map = new Map(); + this.key = void 0; + this.file = void 0; + this.opts = void 0; + this.cwd = void 0; + this.filename = void 0; + this.key = key; + this.file = file; + this.opts = options || {}; + this.cwd = file.opts.cwd; + this.filename = file.opts.filename; + } + + set(key, val) { + this._map.set(key, val); + } + + get(key) { + return this._map.get(key); + } + + availableHelper(name, versionRange) { + return this.file.availableHelper(name, versionRange); + } + + addHelper(name) { + return this.file.addHelper(name); + } + + addImport() { + return this.file.addImport(); + } + + buildCodeFrameError(node, msg, _Error) { + return this.file.buildCodeFrameError(node, msg, _Error); + } + +} + +exports.default = PluginPass; +{ + PluginPass.prototype.getModuleName = function getModuleName() { + return this.file.getModuleName(); + }; +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/util/clone-deep-browser.js b/node_modules/@babel/core/lib/transformation/util/clone-deep-browser.js new file mode 100644 index 00000000..a42de824 --- /dev/null +++ b/node_modules/@babel/core/lib/transformation/util/clone-deep-browser.js @@ -0,0 +1,25 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +const serialized = "$$ babel internal serialized type" + Math.random(); + +function serialize(key, value) { + if (typeof value !== "bigint") return value; + return { + [serialized]: "BigInt", + value: value.toString() + }; +} + +function revive(key, value) { + if (!value || typeof value !== "object") return value; + if (value[serialized] !== "BigInt") return value; + return BigInt(value.value); +} + +function _default(value) { + return JSON.parse(JSON.stringify(value, serialize), revive); +} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/util/clone-deep.js b/node_modules/@babel/core/lib/transformation/util/clone-deep.js new file mode 100644 index 00000000..35fbd093 --- /dev/null +++ b/node_modules/@babel/core/lib/transformation/util/clone-deep.js @@ -0,0 +1,26 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +function _v() { + const data = require("v8"); + + _v = function () { + return data; + }; + + return data; +} + +var _cloneDeepBrowser = require("./clone-deep-browser"); + +function _default(value) { + if (_v().deserialize && _v().serialize) { + return _v().deserialize(_v().serialize(value)); + } + + return (0, _cloneDeepBrowser.default)(value); +} \ No newline at end of file diff --git a/node_modules/@babel/core/package.json b/node_modules/@babel/core/package.json new file mode 100644 index 00000000..1290f213 --- /dev/null +++ b/node_modules/@babel/core/package.json @@ -0,0 +1,76 @@ +{ + "name": "@babel/core", + "version": "7.15.5", + "description": "Babel compiler core.", + "main": "./lib/index.js", + "author": "The Babel Team (https://babel.dev/team)", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-core" + }, + "homepage": "https://babel.dev/docs/en/next/babel-core", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20core%22+is%3Aopen", + "keywords": [ + "6to5", + "babel", + "classes", + "const", + "es6", + "harmony", + "let", + "modules", + "transpile", + "transpiler", + "var", + "babel-core", + "compiler" + ], + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + }, + "browser": { + "./lib/config/files/index.js": "./lib/config/files/index-browser.js", + "./lib/config/resolve-targets.js": "./lib/config/resolve-targets-browser.js", + "./lib/transform-file.js": "./lib/transform-file-browser.js", + "./lib/transformation/util/clone-deep.js": "./lib/transformation/util/clone-deep-browser.js", + "./src/config/files/index.ts": "./src/config/files/index-browser.ts", + "./src/config/resolve-targets.ts": "./src/config/resolve-targets-browser.ts", + "./src/transform-file.ts": "./src/transform-file-browser.ts", + "./src/transformation/util/clone-deep.ts": "./src/transformation/util/clone-deep-browser.ts" + }, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.5", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "devDependencies": { + "@babel/helper-transform-fixture-test-runner": "7.15.0", + "@babel/plugin-transform-modules-commonjs": "7.15.4", + "@types/convert-source-map": "^1.5.1", + "@types/debug": "^4.1.0", + "@types/resolve": "^1.3.2", + "@types/semver": "^5.4.0", + "@types/source-map": "^0.5.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/core/src/config/files/index-browser.ts b/node_modules/@babel/core/src/config/files/index-browser.ts new file mode 100644 index 00000000..ac615d9a --- /dev/null +++ b/node_modules/@babel/core/src/config/files/index-browser.ts @@ -0,0 +1,109 @@ +import type { Handler } from "gensync"; + +import type { + ConfigFile, + IgnoreFile, + RelativeConfig, + FilePackageData, +} from "./types"; + +import type { CallerMetadata } from "../validation/options"; + +export type { ConfigFile, IgnoreFile, RelativeConfig, FilePackageData }; + +export function findConfigUpwards( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + rootDir: string, +): string | null { + return null; +} + +// eslint-disable-next-line require-yield +export function* findPackageData(filepath: string): Handler { + return { + filepath, + directories: [], + pkg: null, + isPackage: false, + }; +} + +// eslint-disable-next-line require-yield +export function* findRelativeConfig( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + pkgData: FilePackageData, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + envName: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + caller: CallerMetadata | void, +): Handler { + return { config: null, ignore: null }; +} + +// eslint-disable-next-line require-yield +export function* findRootConfig( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + dirname: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + envName: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + caller: CallerMetadata | void, +): Handler { + return null; +} + +// eslint-disable-next-line require-yield +export function* loadConfig( + name: string, + dirname: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + envName: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + caller: CallerMetadata | void, +): Handler { + throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`); +} + +// eslint-disable-next-line require-yield +export function* resolveShowConfigPath( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + dirname: string, +): Handler { + return null; +} + +export const ROOT_CONFIG_FILENAMES = []; + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function resolvePlugin(name: string, dirname: string): string | null { + return null; +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function resolvePreset(name: string, dirname: string): string | null { + return null; +} + +export function loadPlugin( + name: string, + dirname: string, +): Handler<{ + filepath: string; + value: unknown; +}> { + throw new Error( + `Cannot load plugin ${name} relative to ${dirname} in a browser`, + ); +} + +export function loadPreset( + name: string, + dirname: string, +): Handler<{ + filepath: string; + value: unknown; +}> { + throw new Error( + `Cannot load preset ${name} relative to ${dirname} in a browser`, + ); +} diff --git a/node_modules/@babel/core/src/config/files/index.ts b/node_modules/@babel/core/src/config/files/index.ts new file mode 100644 index 00000000..5acd7416 --- /dev/null +++ b/node_modules/@babel/core/src/config/files/index.ts @@ -0,0 +1,29 @@ +type indexBrowserType = typeof import("./index-browser"); +type indexType = typeof import("./index"); + +// Kind of gross, but essentially asserting that the exports of this module are the same as the +// exports of index-browser, since this file may be replaced at bundle time with index-browser. +({} as any as indexBrowserType as indexType); + +export { findPackageData } from "./package"; + +export { + findConfigUpwards, + findRelativeConfig, + findRootConfig, + loadConfig, + resolveShowConfigPath, + ROOT_CONFIG_FILENAMES, +} from "./configuration"; +export type { + ConfigFile, + IgnoreFile, + RelativeConfig, + FilePackageData, +} from "./types"; +export { + resolvePlugin, + resolvePreset, + loadPlugin, + loadPreset, +} from "./plugins"; diff --git a/node_modules/@babel/core/src/config/resolve-targets-browser.ts b/node_modules/@babel/core/src/config/resolve-targets-browser.ts new file mode 100644 index 00000000..2d91c921 --- /dev/null +++ b/node_modules/@babel/core/src/config/resolve-targets-browser.ts @@ -0,0 +1,33 @@ +import type { ValidatedOptions } from "./validation/options"; +import getTargets from "@babel/helper-compilation-targets"; + +import type { Targets } from "@babel/helper-compilation-targets"; + +export function resolveBrowserslistConfigFile( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + browserslistConfigFile: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + configFilePath: string, +): string | void { + return undefined; +} + +export function resolveTargets( + options: ValidatedOptions, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + root: string, +): Targets { + // todo(flow->ts) remove any and refactor to not assign different types into same variable + let targets: any = options.targets; + if (typeof targets === "string" || Array.isArray(targets)) { + targets = { browsers: targets }; + } + if (targets && targets.esmodules) { + targets = { ...targets, esmodules: "intersect" }; + } + + return getTargets(targets, { + ignoreBrowserslistConfig: true, + browserslistEnv: options.browserslistEnv, + }); +} diff --git a/node_modules/@babel/core/src/config/resolve-targets.ts b/node_modules/@babel/core/src/config/resolve-targets.ts new file mode 100644 index 00000000..90a443ed --- /dev/null +++ b/node_modules/@babel/core/src/config/resolve-targets.ts @@ -0,0 +1,49 @@ +type browserType = typeof import("./resolve-targets-browser"); +type nodeType = typeof import("./resolve-targets"); + +// Kind of gross, but essentially asserting that the exports of this module are the same as the +// exports of index-browser, since this file may be replaced at bundle time with index-browser. +({} as any as browserType as nodeType); + +import type { ValidatedOptions } from "./validation/options"; +import path from "path"; +import getTargets from "@babel/helper-compilation-targets"; + +import type { Targets } from "@babel/helper-compilation-targets"; + +export function resolveBrowserslistConfigFile( + browserslistConfigFile: string, + configFileDir: string, +): string | undefined { + return path.resolve(configFileDir, browserslistConfigFile); +} + +export function resolveTargets( + options: ValidatedOptions, + root: string, +): Targets { + // todo(flow->ts) remove any and refactor to not assign different types into same variable + let targets: any = options.targets; + if (typeof targets === "string" || Array.isArray(targets)) { + targets = { browsers: targets }; + } + if (targets && targets.esmodules) { + targets = { ...targets, esmodules: "intersect" }; + } + + const { browserslistConfigFile } = options; + let configFile; + let ignoreBrowserslistConfig = false; + if (typeof browserslistConfigFile === "string") { + configFile = browserslistConfigFile; + } else { + ignoreBrowserslistConfig = browserslistConfigFile === false; + } + + return getTargets(targets, { + ignoreBrowserslistConfig, + configFile, + configPath: root, + browserslistEnv: options.browserslistEnv, + }); +} diff --git a/node_modules/@babel/core/src/transform-file-browser.ts b/node_modules/@babel/core/src/transform-file-browser.ts new file mode 100644 index 00000000..1adbcd64 --- /dev/null +++ b/node_modules/@babel/core/src/transform-file-browser.ts @@ -0,0 +1,27 @@ +// duplicated from transform-file so we do not have to import anything here +type TransformFile = { + (filename: string, callback: Function): void; + (filename: string, opts: any, callback: Function): void; +}; + +export const transformFile: TransformFile = function transformFile( + filename, + opts, + callback?, +) { + if (typeof opts === "function") { + callback = opts; + } + + callback(new Error("Transforming files is not supported in browsers"), null); +}; + +export function transformFileSync(): never { + throw new Error("Transforming files is not supported in browsers"); +} + +export function transformFileAsync() { + return Promise.reject( + new Error("Transforming files is not supported in browsers"), + ); +} diff --git a/node_modules/@babel/core/src/transform-file.ts b/node_modules/@babel/core/src/transform-file.ts new file mode 100644 index 00000000..4be0e16a --- /dev/null +++ b/node_modules/@babel/core/src/transform-file.ts @@ -0,0 +1,40 @@ +import gensync from "gensync"; + +import loadConfig from "./config"; +import type { InputOptions, ResolvedConfig } from "./config"; +import { run } from "./transformation"; +import type { FileResult, FileResultCallback } from "./transformation"; +import * as fs from "./gensync-utils/fs"; + +type transformFileBrowserType = typeof import("./transform-file-browser"); +type transformFileType = typeof import("./transform-file"); + +// Kind of gross, but essentially asserting that the exports of this module are the same as the +// exports of transform-file-browser, since this file may be replaced at bundle time with +// transform-file-browser. +({} as any as transformFileBrowserType as transformFileType); + +type TransformFile = { + (filename: string, callback: FileResultCallback): void; + ( + filename: string, + opts: InputOptions | undefined | null, + callback: FileResultCallback, + ): void; +}; + +const transformFileRunner = gensync< + (filename: string, opts?: InputOptions) => FileResult | null +>(function* (filename, opts: InputOptions) { + const options = { ...opts, filename }; + + const config: ResolvedConfig | null = yield* loadConfig(options); + if (config === null) return null; + + const code = yield* fs.readFile(filename, "utf8"); + return yield* run(config, code); +}); + +export const transformFile = transformFileRunner.errback as TransformFile; +export const transformFileSync = transformFileRunner.sync; +export const transformFileAsync = transformFileRunner.async; diff --git a/node_modules/@babel/core/src/transformation/util/clone-deep-browser.ts b/node_modules/@babel/core/src/transformation/util/clone-deep-browser.ts new file mode 100644 index 00000000..78ae53eb --- /dev/null +++ b/node_modules/@babel/core/src/transformation/util/clone-deep-browser.ts @@ -0,0 +1,19 @@ +const serialized = "$$ babel internal serialized type" + Math.random(); + +function serialize(key, value) { + if (typeof value !== "bigint") return value; + return { + [serialized]: "BigInt", + value: value.toString(), + }; +} + +function revive(key, value) { + if (!value || typeof value !== "object") return value; + if (value[serialized] !== "BigInt") return value; + return BigInt(value.value); +} + +export default function (value) { + return JSON.parse(JSON.stringify(value, serialize), revive); +} diff --git a/node_modules/@babel/core/src/transformation/util/clone-deep.ts b/node_modules/@babel/core/src/transformation/util/clone-deep.ts new file mode 100644 index 00000000..cc077ce9 --- /dev/null +++ b/node_modules/@babel/core/src/transformation/util/clone-deep.ts @@ -0,0 +1,9 @@ +import v8 from "v8"; +import cloneDeep from "./clone-deep-browser"; + +export default function (value) { + if (v8.deserialize && v8.serialize) { + return v8.deserialize(v8.serialize(value)); + } + return cloneDeep(value); +} diff --git a/node_modules/@babel/generator/LICENSE b/node_modules/@babel/generator/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/generator/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/generator/README.md b/node_modules/@babel/generator/README.md new file mode 100644 index 00000000..b760238e --- /dev/null +++ b/node_modules/@babel/generator/README.md @@ -0,0 +1,19 @@ +# @babel/generator + +> Turns an AST into code. + +See our website [@babel/generator](https://babeljs.io/docs/en/babel-generator) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20generator%22+is%3Aopen) associated with this package. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/generator +``` + +or using yarn: + +```sh +yarn add @babel/generator --dev +``` diff --git a/node_modules/@babel/generator/lib/buffer.js b/node_modules/@babel/generator/lib/buffer.js new file mode 100644 index 00000000..14458139 --- /dev/null +++ b/node_modules/@babel/generator/lib/buffer.js @@ -0,0 +1,265 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +const SPACES_RE = /^[ \t]+$/; + +class Buffer { + constructor(map) { + this._map = null; + this._buf = ""; + this._last = 0; + this._queue = []; + this._position = { + line: 1, + column: 0 + }; + this._sourcePosition = { + identifierName: null, + line: null, + column: null, + filename: null + }; + this._disallowedPop = null; + this._map = map; + } + + get() { + this._flush(); + + const map = this._map; + const result = { + code: this._buf.trimRight(), + map: null, + rawMappings: map == null ? void 0 : map.getRawMappings() + }; + + if (map) { + Object.defineProperty(result, "map", { + configurable: true, + enumerable: true, + + get() { + return this.map = map.get(); + }, + + set(value) { + Object.defineProperty(this, "map", { + value, + writable: true + }); + } + + }); + } + + return result; + } + + append(str) { + this._flush(); + + const { + line, + column, + filename, + identifierName, + force + } = this._sourcePosition; + + this._append(str, line, column, identifierName, filename, force); + } + + queue(str) { + if (str === "\n") { + while (this._queue.length > 0 && SPACES_RE.test(this._queue[0][0])) { + this._queue.shift(); + } + } + + const { + line, + column, + filename, + identifierName, + force + } = this._sourcePosition; + + this._queue.unshift([str, line, column, identifierName, filename, force]); + } + + _flush() { + let item; + + while (item = this._queue.pop()) { + this._append(...item); + } + } + + _append(str, line, column, identifierName, filename, force) { + this._buf += str; + this._last = str.charCodeAt(str.length - 1); + let i = str.indexOf("\n"); + let last = 0; + + if (i !== 0) { + this._mark(line, column, identifierName, filename, force); + } + + while (i !== -1) { + this._position.line++; + this._position.column = 0; + last = i + 1; + + if (last < str.length) { + this._mark(++line, 0, identifierName, filename, force); + } + + i = str.indexOf("\n", last); + } + + this._position.column += str.length - last; + } + + _mark(line, column, identifierName, filename, force) { + var _this$_map; + + (_this$_map = this._map) == null ? void 0 : _this$_map.mark(this._position.line, this._position.column, line, column, identifierName, filename, force); + } + + removeTrailingNewline() { + if (this._queue.length > 0 && this._queue[0][0] === "\n") { + this._queue.shift(); + } + } + + removeLastSemicolon() { + if (this._queue.length > 0 && this._queue[0][0] === ";") { + this._queue.shift(); + } + } + + getLastChar() { + let last; + + if (this._queue.length > 0) { + const str = this._queue[0][0]; + last = str.charCodeAt(0); + } else { + last = this._last; + } + + return last; + } + + endsWithCharAndNewline() { + const queue = this._queue; + + if (queue.length > 0) { + const last = queue[0][0]; + const lastCp = last.charCodeAt(0); + if (lastCp !== 10) return; + + if (queue.length > 1) { + const secondLast = queue[1][0]; + return secondLast.charCodeAt(0); + } else { + return this._last; + } + } + } + + hasContent() { + return this._queue.length > 0 || !!this._last; + } + + exactSource(loc, cb) { + this.source("start", loc, true); + cb(); + this.source("end", loc); + + this._disallowPop("start", loc); + } + + source(prop, loc, force) { + if (prop && !loc) return; + + this._normalizePosition(prop, loc, this._sourcePosition, force); + } + + withSource(prop, loc, cb) { + if (!this._map) return cb(); + const originalLine = this._sourcePosition.line; + const originalColumn = this._sourcePosition.column; + const originalFilename = this._sourcePosition.filename; + const originalIdentifierName = this._sourcePosition.identifierName; + this.source(prop, loc); + cb(); + + if ((!this._sourcePosition.force || this._sourcePosition.line !== originalLine || this._sourcePosition.column !== originalColumn || this._sourcePosition.filename !== originalFilename) && (!this._disallowedPop || this._disallowedPop.line !== originalLine || this._disallowedPop.column !== originalColumn || this._disallowedPop.filename !== originalFilename)) { + this._sourcePosition.line = originalLine; + this._sourcePosition.column = originalColumn; + this._sourcePosition.filename = originalFilename; + this._sourcePosition.identifierName = originalIdentifierName; + this._sourcePosition.force = false; + this._disallowedPop = null; + } + } + + _disallowPop(prop, loc) { + if (prop && !loc) return; + this._disallowedPop = this._normalizePosition(prop, loc); + } + + _normalizePosition(prop, loc, targetObj, force) { + const pos = loc ? loc[prop] : null; + + if (targetObj === undefined) { + targetObj = { + identifierName: null, + line: null, + column: null, + filename: null, + force: false + }; + } + + const origLine = targetObj.line; + const origColumn = targetObj.column; + const origFilename = targetObj.filename; + targetObj.identifierName = prop === "start" && (loc == null ? void 0 : loc.identifierName) || null; + targetObj.line = pos == null ? void 0 : pos.line; + targetObj.column = pos == null ? void 0 : pos.column; + targetObj.filename = loc == null ? void 0 : loc.filename; + + if (force || targetObj.line !== origLine || targetObj.column !== origColumn || targetObj.filename !== origFilename) { + targetObj.force = force; + } + + return targetObj; + } + + getCurrentColumn() { + const extra = this._queue.reduce((acc, item) => item[0] + acc, ""); + + const lastIndex = extra.lastIndexOf("\n"); + return lastIndex === -1 ? this._position.column + extra.length : extra.length - 1 - lastIndex; + } + + getCurrentLine() { + const extra = this._queue.reduce((acc, item) => item[0] + acc, ""); + + let count = 0; + + for (let i = 0; i < extra.length; i++) { + if (extra[i] === "\n") count++; + } + + return this._position.line + count; + } + +} + +exports.default = Buffer; \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/base.js b/node_modules/@babel/generator/lib/generators/base.js new file mode 100644 index 00000000..222a3c2b --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/base.js @@ -0,0 +1,96 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.File = File; +exports.Program = Program; +exports.BlockStatement = BlockStatement; +exports.Directive = Directive; +exports.DirectiveLiteral = DirectiveLiteral; +exports.InterpreterDirective = InterpreterDirective; +exports.Placeholder = Placeholder; + +function File(node) { + if (node.program) { + this.print(node.program.interpreter, node); + } + + this.print(node.program, node); +} + +function Program(node) { + this.printInnerComments(node, false); + this.printSequence(node.directives, node); + if (node.directives && node.directives.length) this.newline(); + this.printSequence(node.body, node); +} + +function BlockStatement(node) { + var _node$directives; + + this.token("{"); + this.printInnerComments(node); + const hasDirectives = (_node$directives = node.directives) == null ? void 0 : _node$directives.length; + + if (node.body.length || hasDirectives) { + this.newline(); + this.printSequence(node.directives, node, { + indent: true + }); + if (hasDirectives) this.newline(); + this.printSequence(node.body, node, { + indent: true + }); + this.removeTrailingNewline(); + this.source("end", node.loc); + if (!this.endsWith(10)) this.newline(); + this.rightBrace(); + } else { + this.source("end", node.loc); + this.token("}"); + } +} + +function Directive(node) { + this.print(node.value, node); + this.semicolon(); +} + +const unescapedSingleQuoteRE = /(?:^|[^\\])(?:\\\\)*'/; +const unescapedDoubleQuoteRE = /(?:^|[^\\])(?:\\\\)*"/; + +function DirectiveLiteral(node) { + const raw = this.getPossibleRaw(node); + + if (raw != null) { + this.token(raw); + return; + } + + const { + value + } = node; + + if (!unescapedDoubleQuoteRE.test(value)) { + this.token(`"${value}"`); + } else if (!unescapedSingleQuoteRE.test(value)) { + this.token(`'${value}'`); + } else { + throw new Error("Malformed AST: it is not possible to print a directive containing" + " both unescaped single and double quotes."); + } +} + +function InterpreterDirective(node) { + this.token(`#!${node.value}\n`); +} + +function Placeholder(node) { + this.token("%%"); + this.print(node.name); + this.token("%%"); + + if (node.expectedNode === "Statement") { + this.semicolon(); + } +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/classes.js b/node_modules/@babel/generator/lib/generators/classes.js new file mode 100644 index 00000000..eae92d43 --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/classes.js @@ -0,0 +1,173 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ClassExpression = exports.ClassDeclaration = ClassDeclaration; +exports.ClassBody = ClassBody; +exports.ClassProperty = ClassProperty; +exports.ClassPrivateProperty = ClassPrivateProperty; +exports.ClassMethod = ClassMethod; +exports.ClassPrivateMethod = ClassPrivateMethod; +exports._classMethodHead = _classMethodHead; +exports.StaticBlock = StaticBlock; + +var _t = require("@babel/types"); + +const { + isExportDefaultDeclaration, + isExportNamedDeclaration +} = _t; + +function ClassDeclaration(node, parent) { + if (!this.format.decoratorsBeforeExport || !isExportDefaultDeclaration(parent) && !isExportNamedDeclaration(parent)) { + this.printJoin(node.decorators, node); + } + + if (node.declare) { + this.word("declare"); + this.space(); + } + + if (node.abstract) { + this.word("abstract"); + this.space(); + } + + this.word("class"); + + if (node.id) { + this.space(); + this.print(node.id, node); + } + + this.print(node.typeParameters, node); + + if (node.superClass) { + this.space(); + this.word("extends"); + this.space(); + this.print(node.superClass, node); + this.print(node.superTypeParameters, node); + } + + if (node.implements) { + this.space(); + this.word("implements"); + this.space(); + this.printList(node.implements, node); + } + + this.space(); + this.print(node.body, node); +} + +function ClassBody(node) { + this.token("{"); + this.printInnerComments(node); + + if (node.body.length === 0) { + this.token("}"); + } else { + this.newline(); + this.indent(); + this.printSequence(node.body, node); + this.dedent(); + if (!this.endsWith(10)) this.newline(); + this.rightBrace(); + } +} + +function ClassProperty(node) { + this.printJoin(node.decorators, node); + this.source("end", node.key.loc); + this.tsPrintClassMemberModifiers(node, true); + + if (node.computed) { + this.token("["); + this.print(node.key, node); + this.token("]"); + } else { + this._variance(node); + + this.print(node.key, node); + } + + if (node.optional) { + this.token("?"); + } + + if (node.definite) { + this.token("!"); + } + + this.print(node.typeAnnotation, node); + + if (node.value) { + this.space(); + this.token("="); + this.space(); + this.print(node.value, node); + } + + this.semicolon(); +} + +function ClassPrivateProperty(node) { + this.printJoin(node.decorators, node); + + if (node.static) { + this.word("static"); + this.space(); + } + + this.print(node.key, node); + this.print(node.typeAnnotation, node); + + if (node.value) { + this.space(); + this.token("="); + this.space(); + this.print(node.value, node); + } + + this.semicolon(); +} + +function ClassMethod(node) { + this._classMethodHead(node); + + this.space(); + this.print(node.body, node); +} + +function ClassPrivateMethod(node) { + this._classMethodHead(node); + + this.space(); + this.print(node.body, node); +} + +function _classMethodHead(node) { + this.printJoin(node.decorators, node); + this.source("end", node.key.loc); + this.tsPrintClassMemberModifiers(node, false); + + this._methodHead(node); +} + +function StaticBlock(node) { + this.word("static"); + this.space(); + this.token("{"); + + if (node.body.length === 0) { + this.token("}"); + } else { + this.newline(); + this.printSequence(node.body, node, { + indent: true + }); + this.rightBrace(); + } +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/expressions.js b/node_modules/@babel/generator/lib/generators/expressions.js new file mode 100644 index 00000000..a0f293fd --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/expressions.js @@ -0,0 +1,317 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.UnaryExpression = UnaryExpression; +exports.DoExpression = DoExpression; +exports.ParenthesizedExpression = ParenthesizedExpression; +exports.UpdateExpression = UpdateExpression; +exports.ConditionalExpression = ConditionalExpression; +exports.NewExpression = NewExpression; +exports.SequenceExpression = SequenceExpression; +exports.ThisExpression = ThisExpression; +exports.Super = Super; +exports.Decorator = Decorator; +exports.OptionalMemberExpression = OptionalMemberExpression; +exports.OptionalCallExpression = OptionalCallExpression; +exports.CallExpression = CallExpression; +exports.Import = Import; +exports.EmptyStatement = EmptyStatement; +exports.ExpressionStatement = ExpressionStatement; +exports.AssignmentPattern = AssignmentPattern; +exports.LogicalExpression = exports.BinaryExpression = exports.AssignmentExpression = AssignmentExpression; +exports.BindExpression = BindExpression; +exports.MemberExpression = MemberExpression; +exports.MetaProperty = MetaProperty; +exports.PrivateName = PrivateName; +exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier; +exports.ModuleExpression = ModuleExpression; +exports.AwaitExpression = exports.YieldExpression = void 0; + +var _t = require("@babel/types"); + +var n = require("../node"); + +const { + isCallExpression, + isLiteral, + isMemberExpression, + isNewExpression +} = _t; + +function UnaryExpression(node) { + if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof" || node.operator === "throw") { + this.word(node.operator); + this.space(); + } else { + this.token(node.operator); + } + + this.print(node.argument, node); +} + +function DoExpression(node) { + if (node.async) { + this.word("async"); + this.space(); + } + + this.word("do"); + this.space(); + this.print(node.body, node); +} + +function ParenthesizedExpression(node) { + this.token("("); + this.print(node.expression, node); + this.token(")"); +} + +function UpdateExpression(node) { + if (node.prefix) { + this.token(node.operator); + this.print(node.argument, node); + } else { + this.startTerminatorless(true); + this.print(node.argument, node); + this.endTerminatorless(); + this.token(node.operator); + } +} + +function ConditionalExpression(node) { + this.print(node.test, node); + this.space(); + this.token("?"); + this.space(); + this.print(node.consequent, node); + this.space(); + this.token(":"); + this.space(); + this.print(node.alternate, node); +} + +function NewExpression(node, parent) { + this.word("new"); + this.space(); + this.print(node.callee, node); + + if (this.format.minified && node.arguments.length === 0 && !node.optional && !isCallExpression(parent, { + callee: node + }) && !isMemberExpression(parent) && !isNewExpression(parent)) { + return; + } + + this.print(node.typeArguments, node); + this.print(node.typeParameters, node); + + if (node.optional) { + this.token("?."); + } + + this.token("("); + this.printList(node.arguments, node); + this.token(")"); +} + +function SequenceExpression(node) { + this.printList(node.expressions, node); +} + +function ThisExpression() { + this.word("this"); +} + +function Super() { + this.word("super"); +} + +function Decorator(node) { + this.token("@"); + this.print(node.expression, node); + this.newline(); +} + +function OptionalMemberExpression(node) { + this.print(node.object, node); + + if (!node.computed && isMemberExpression(node.property)) { + throw new TypeError("Got a MemberExpression for MemberExpression property"); + } + + let computed = node.computed; + + if (isLiteral(node.property) && typeof node.property.value === "number") { + computed = true; + } + + if (node.optional) { + this.token("?."); + } + + if (computed) { + this.token("["); + this.print(node.property, node); + this.token("]"); + } else { + if (!node.optional) { + this.token("."); + } + + this.print(node.property, node); + } +} + +function OptionalCallExpression(node) { + this.print(node.callee, node); + this.print(node.typeArguments, node); + this.print(node.typeParameters, node); + + if (node.optional) { + this.token("?."); + } + + this.token("("); + this.printList(node.arguments, node); + this.token(")"); +} + +function CallExpression(node) { + this.print(node.callee, node); + this.print(node.typeArguments, node); + this.print(node.typeParameters, node); + this.token("("); + this.printList(node.arguments, node); + this.token(")"); +} + +function Import() { + this.word("import"); +} + +function buildYieldAwait(keyword) { + return function (node) { + this.word(keyword); + + if (node.delegate) { + this.token("*"); + } + + if (node.argument) { + this.space(); + const terminatorState = this.startTerminatorless(); + this.print(node.argument, node); + this.endTerminatorless(terminatorState); + } + }; +} + +const YieldExpression = buildYieldAwait("yield"); +exports.YieldExpression = YieldExpression; +const AwaitExpression = buildYieldAwait("await"); +exports.AwaitExpression = AwaitExpression; + +function EmptyStatement() { + this.semicolon(true); +} + +function ExpressionStatement(node) { + this.print(node.expression, node); + this.semicolon(); +} + +function AssignmentPattern(node) { + this.print(node.left, node); + if (node.left.optional) this.token("?"); + this.print(node.left.typeAnnotation, node); + this.space(); + this.token("="); + this.space(); + this.print(node.right, node); +} + +function AssignmentExpression(node, parent) { + const parens = this.inForStatementInitCounter && node.operator === "in" && !n.needsParens(node, parent); + + if (parens) { + this.token("("); + } + + this.print(node.left, node); + this.space(); + + if (node.operator === "in" || node.operator === "instanceof") { + this.word(node.operator); + } else { + this.token(node.operator); + } + + this.space(); + this.print(node.right, node); + + if (parens) { + this.token(")"); + } +} + +function BindExpression(node) { + this.print(node.object, node); + this.token("::"); + this.print(node.callee, node); +} + +function MemberExpression(node) { + this.print(node.object, node); + + if (!node.computed && isMemberExpression(node.property)) { + throw new TypeError("Got a MemberExpression for MemberExpression property"); + } + + let computed = node.computed; + + if (isLiteral(node.property) && typeof node.property.value === "number") { + computed = true; + } + + if (computed) { + this.token("["); + this.print(node.property, node); + this.token("]"); + } else { + this.token("."); + this.print(node.property, node); + } +} + +function MetaProperty(node) { + this.print(node.meta, node); + this.token("."); + this.print(node.property, node); +} + +function PrivateName(node) { + this.token("#"); + this.print(node.id, node); +} + +function V8IntrinsicIdentifier(node) { + this.token("%"); + this.word(node.name); +} + +function ModuleExpression(node) { + this.word("module"); + this.space(); + this.token("{"); + + if (node.body.body.length === 0) { + this.token("}"); + } else { + this.newline(); + this.printSequence(node.body.body, node, { + indent: true + }); + this.rightBrace(); + } +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/flow.js b/node_modules/@babel/generator/lib/generators/flow.js new file mode 100644 index 00000000..b2bce2f0 --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/flow.js @@ -0,0 +1,795 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.AnyTypeAnnotation = AnyTypeAnnotation; +exports.ArrayTypeAnnotation = ArrayTypeAnnotation; +exports.BooleanTypeAnnotation = BooleanTypeAnnotation; +exports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation; +exports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation; +exports.DeclareClass = DeclareClass; +exports.DeclareFunction = DeclareFunction; +exports.InferredPredicate = InferredPredicate; +exports.DeclaredPredicate = DeclaredPredicate; +exports.DeclareInterface = DeclareInterface; +exports.DeclareModule = DeclareModule; +exports.DeclareModuleExports = DeclareModuleExports; +exports.DeclareTypeAlias = DeclareTypeAlias; +exports.DeclareOpaqueType = DeclareOpaqueType; +exports.DeclareVariable = DeclareVariable; +exports.DeclareExportDeclaration = DeclareExportDeclaration; +exports.DeclareExportAllDeclaration = DeclareExportAllDeclaration; +exports.EnumDeclaration = EnumDeclaration; +exports.EnumBooleanBody = EnumBooleanBody; +exports.EnumNumberBody = EnumNumberBody; +exports.EnumStringBody = EnumStringBody; +exports.EnumSymbolBody = EnumSymbolBody; +exports.EnumDefaultedMember = EnumDefaultedMember; +exports.EnumBooleanMember = EnumBooleanMember; +exports.EnumNumberMember = EnumNumberMember; +exports.EnumStringMember = EnumStringMember; +exports.ExistsTypeAnnotation = ExistsTypeAnnotation; +exports.FunctionTypeAnnotation = FunctionTypeAnnotation; +exports.FunctionTypeParam = FunctionTypeParam; +exports.GenericTypeAnnotation = exports.ClassImplements = exports.InterfaceExtends = InterfaceExtends; +exports._interfaceish = _interfaceish; +exports._variance = _variance; +exports.InterfaceDeclaration = InterfaceDeclaration; +exports.InterfaceTypeAnnotation = InterfaceTypeAnnotation; +exports.IntersectionTypeAnnotation = IntersectionTypeAnnotation; +exports.MixedTypeAnnotation = MixedTypeAnnotation; +exports.EmptyTypeAnnotation = EmptyTypeAnnotation; +exports.NullableTypeAnnotation = NullableTypeAnnotation; +exports.NumberTypeAnnotation = NumberTypeAnnotation; +exports.StringTypeAnnotation = StringTypeAnnotation; +exports.ThisTypeAnnotation = ThisTypeAnnotation; +exports.TupleTypeAnnotation = TupleTypeAnnotation; +exports.TypeofTypeAnnotation = TypeofTypeAnnotation; +exports.TypeAlias = TypeAlias; +exports.TypeAnnotation = TypeAnnotation; +exports.TypeParameterDeclaration = exports.TypeParameterInstantiation = TypeParameterInstantiation; +exports.TypeParameter = TypeParameter; +exports.OpaqueType = OpaqueType; +exports.ObjectTypeAnnotation = ObjectTypeAnnotation; +exports.ObjectTypeInternalSlot = ObjectTypeInternalSlot; +exports.ObjectTypeCallProperty = ObjectTypeCallProperty; +exports.ObjectTypeIndexer = ObjectTypeIndexer; +exports.ObjectTypeProperty = ObjectTypeProperty; +exports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty; +exports.QualifiedTypeIdentifier = QualifiedTypeIdentifier; +exports.SymbolTypeAnnotation = SymbolTypeAnnotation; +exports.UnionTypeAnnotation = UnionTypeAnnotation; +exports.TypeCastExpression = TypeCastExpression; +exports.Variance = Variance; +exports.VoidTypeAnnotation = VoidTypeAnnotation; +exports.IndexedAccessType = IndexedAccessType; +exports.OptionalIndexedAccessType = OptionalIndexedAccessType; +Object.defineProperty(exports, "NumberLiteralTypeAnnotation", { + enumerable: true, + get: function () { + return _types2.NumericLiteral; + } +}); +Object.defineProperty(exports, "StringLiteralTypeAnnotation", { + enumerable: true, + get: function () { + return _types2.StringLiteral; + } +}); + +var _t = require("@babel/types"); + +var _modules = require("./modules"); + +var _types2 = require("./types"); + +const { + isDeclareExportDeclaration, + isStatement +} = _t; + +function AnyTypeAnnotation() { + this.word("any"); +} + +function ArrayTypeAnnotation(node) { + this.print(node.elementType, node); + this.token("["); + this.token("]"); +} + +function BooleanTypeAnnotation() { + this.word("boolean"); +} + +function BooleanLiteralTypeAnnotation(node) { + this.word(node.value ? "true" : "false"); +} + +function NullLiteralTypeAnnotation() { + this.word("null"); +} + +function DeclareClass(node, parent) { + if (!isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + + this.word("class"); + this.space(); + + this._interfaceish(node); +} + +function DeclareFunction(node, parent) { + if (!isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + + this.word("function"); + this.space(); + this.print(node.id, node); + this.print(node.id.typeAnnotation.typeAnnotation, node); + + if (node.predicate) { + this.space(); + this.print(node.predicate, node); + } + + this.semicolon(); +} + +function InferredPredicate() { + this.token("%"); + this.word("checks"); +} + +function DeclaredPredicate(node) { + this.token("%"); + this.word("checks"); + this.token("("); + this.print(node.value, node); + this.token(")"); +} + +function DeclareInterface(node) { + this.word("declare"); + this.space(); + this.InterfaceDeclaration(node); +} + +function DeclareModule(node) { + this.word("declare"); + this.space(); + this.word("module"); + this.space(); + this.print(node.id, node); + this.space(); + this.print(node.body, node); +} + +function DeclareModuleExports(node) { + this.word("declare"); + this.space(); + this.word("module"); + this.token("."); + this.word("exports"); + this.print(node.typeAnnotation, node); +} + +function DeclareTypeAlias(node) { + this.word("declare"); + this.space(); + this.TypeAlias(node); +} + +function DeclareOpaqueType(node, parent) { + if (!isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + + this.OpaqueType(node); +} + +function DeclareVariable(node, parent) { + if (!isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + + this.word("var"); + this.space(); + this.print(node.id, node); + this.print(node.id.typeAnnotation, node); + this.semicolon(); +} + +function DeclareExportDeclaration(node) { + this.word("declare"); + this.space(); + this.word("export"); + this.space(); + + if (node.default) { + this.word("default"); + this.space(); + } + + FlowExportDeclaration.apply(this, arguments); +} + +function DeclareExportAllDeclaration() { + this.word("declare"); + this.space(); + + _modules.ExportAllDeclaration.apply(this, arguments); +} + +function EnumDeclaration(node) { + const { + id, + body + } = node; + this.word("enum"); + this.space(); + this.print(id, node); + this.print(body, node); +} + +function enumExplicitType(context, name, hasExplicitType) { + if (hasExplicitType) { + context.space(); + context.word("of"); + context.space(); + context.word(name); + } + + context.space(); +} + +function enumBody(context, node) { + const { + members + } = node; + context.token("{"); + context.indent(); + context.newline(); + + for (const member of members) { + context.print(member, node); + context.newline(); + } + + if (node.hasUnknownMembers) { + context.token("..."); + context.newline(); + } + + context.dedent(); + context.token("}"); +} + +function EnumBooleanBody(node) { + const { + explicitType + } = node; + enumExplicitType(this, "boolean", explicitType); + enumBody(this, node); +} + +function EnumNumberBody(node) { + const { + explicitType + } = node; + enumExplicitType(this, "number", explicitType); + enumBody(this, node); +} + +function EnumStringBody(node) { + const { + explicitType + } = node; + enumExplicitType(this, "string", explicitType); + enumBody(this, node); +} + +function EnumSymbolBody(node) { + enumExplicitType(this, "symbol", true); + enumBody(this, node); +} + +function EnumDefaultedMember(node) { + const { + id + } = node; + this.print(id, node); + this.token(","); +} + +function enumInitializedMember(context, node) { + const { + id, + init + } = node; + context.print(id, node); + context.space(); + context.token("="); + context.space(); + context.print(init, node); + context.token(","); +} + +function EnumBooleanMember(node) { + enumInitializedMember(this, node); +} + +function EnumNumberMember(node) { + enumInitializedMember(this, node); +} + +function EnumStringMember(node) { + enumInitializedMember(this, node); +} + +function FlowExportDeclaration(node) { + if (node.declaration) { + const declar = node.declaration; + this.print(declar, node); + if (!isStatement(declar)) this.semicolon(); + } else { + this.token("{"); + + if (node.specifiers.length) { + this.space(); + this.printList(node.specifiers, node); + this.space(); + } + + this.token("}"); + + if (node.source) { + this.space(); + this.word("from"); + this.space(); + this.print(node.source, node); + } + + this.semicolon(); + } +} + +function ExistsTypeAnnotation() { + this.token("*"); +} + +function FunctionTypeAnnotation(node, parent) { + this.print(node.typeParameters, node); + this.token("("); + + if (node.this) { + this.word("this"); + this.token(":"); + this.space(); + this.print(node.this.typeAnnotation, node); + + if (node.params.length || node.rest) { + this.token(","); + this.space(); + } + } + + this.printList(node.params, node); + + if (node.rest) { + if (node.params.length) { + this.token(","); + this.space(); + } + + this.token("..."); + this.print(node.rest, node); + } + + this.token(")"); + + if (parent.type === "ObjectTypeCallProperty" || parent.type === "DeclareFunction" || parent.type === "ObjectTypeProperty" && parent.method) { + this.token(":"); + } else { + this.space(); + this.token("=>"); + } + + this.space(); + this.print(node.returnType, node); +} + +function FunctionTypeParam(node) { + this.print(node.name, node); + if (node.optional) this.token("?"); + + if (node.name) { + this.token(":"); + this.space(); + } + + this.print(node.typeAnnotation, node); +} + +function InterfaceExtends(node) { + this.print(node.id, node); + this.print(node.typeParameters, node); +} + +function _interfaceish(node) { + var _node$extends; + + this.print(node.id, node); + this.print(node.typeParameters, node); + + if ((_node$extends = node.extends) != null && _node$extends.length) { + this.space(); + this.word("extends"); + this.space(); + this.printList(node.extends, node); + } + + if (node.mixins && node.mixins.length) { + this.space(); + this.word("mixins"); + this.space(); + this.printList(node.mixins, node); + } + + if (node.implements && node.implements.length) { + this.space(); + this.word("implements"); + this.space(); + this.printList(node.implements, node); + } + + this.space(); + this.print(node.body, node); +} + +function _variance(node) { + if (node.variance) { + if (node.variance.kind === "plus") { + this.token("+"); + } else if (node.variance.kind === "minus") { + this.token("-"); + } + } +} + +function InterfaceDeclaration(node) { + this.word("interface"); + this.space(); + + this._interfaceish(node); +} + +function andSeparator() { + this.space(); + this.token("&"); + this.space(); +} + +function InterfaceTypeAnnotation(node) { + this.word("interface"); + + if (node.extends && node.extends.length) { + this.space(); + this.word("extends"); + this.space(); + this.printList(node.extends, node); + } + + this.space(); + this.print(node.body, node); +} + +function IntersectionTypeAnnotation(node) { + this.printJoin(node.types, node, { + separator: andSeparator + }); +} + +function MixedTypeAnnotation() { + this.word("mixed"); +} + +function EmptyTypeAnnotation() { + this.word("empty"); +} + +function NullableTypeAnnotation(node) { + this.token("?"); + this.print(node.typeAnnotation, node); +} + +function NumberTypeAnnotation() { + this.word("number"); +} + +function StringTypeAnnotation() { + this.word("string"); +} + +function ThisTypeAnnotation() { + this.word("this"); +} + +function TupleTypeAnnotation(node) { + this.token("["); + this.printList(node.types, node); + this.token("]"); +} + +function TypeofTypeAnnotation(node) { + this.word("typeof"); + this.space(); + this.print(node.argument, node); +} + +function TypeAlias(node) { + this.word("type"); + this.space(); + this.print(node.id, node); + this.print(node.typeParameters, node); + this.space(); + this.token("="); + this.space(); + this.print(node.right, node); + this.semicolon(); +} + +function TypeAnnotation(node) { + this.token(":"); + this.space(); + if (node.optional) this.token("?"); + this.print(node.typeAnnotation, node); +} + +function TypeParameterInstantiation(node) { + this.token("<"); + this.printList(node.params, node, {}); + this.token(">"); +} + +function TypeParameter(node) { + this._variance(node); + + this.word(node.name); + + if (node.bound) { + this.print(node.bound, node); + } + + if (node.default) { + this.space(); + this.token("="); + this.space(); + this.print(node.default, node); + } +} + +function OpaqueType(node) { + this.word("opaque"); + this.space(); + this.word("type"); + this.space(); + this.print(node.id, node); + this.print(node.typeParameters, node); + + if (node.supertype) { + this.token(":"); + this.space(); + this.print(node.supertype, node); + } + + if (node.impltype) { + this.space(); + this.token("="); + this.space(); + this.print(node.impltype, node); + } + + this.semicolon(); +} + +function ObjectTypeAnnotation(node) { + if (node.exact) { + this.token("{|"); + } else { + this.token("{"); + } + + const props = [...node.properties, ...(node.callProperties || []), ...(node.indexers || []), ...(node.internalSlots || [])]; + + if (props.length) { + this.space(); + this.printJoin(props, node, { + addNewlines(leading) { + if (leading && !props[0]) return 1; + }, + + indent: true, + statement: true, + iterator: () => { + if (props.length !== 1 || node.inexact) { + this.token(","); + this.space(); + } + } + }); + this.space(); + } + + if (node.inexact) { + this.indent(); + this.token("..."); + + if (props.length) { + this.newline(); + } + + this.dedent(); + } + + if (node.exact) { + this.token("|}"); + } else { + this.token("}"); + } +} + +function ObjectTypeInternalSlot(node) { + if (node.static) { + this.word("static"); + this.space(); + } + + this.token("["); + this.token("["); + this.print(node.id, node); + this.token("]"); + this.token("]"); + if (node.optional) this.token("?"); + + if (!node.method) { + this.token(":"); + this.space(); + } + + this.print(node.value, node); +} + +function ObjectTypeCallProperty(node) { + if (node.static) { + this.word("static"); + this.space(); + } + + this.print(node.value, node); +} + +function ObjectTypeIndexer(node) { + if (node.static) { + this.word("static"); + this.space(); + } + + this._variance(node); + + this.token("["); + + if (node.id) { + this.print(node.id, node); + this.token(":"); + this.space(); + } + + this.print(node.key, node); + this.token("]"); + this.token(":"); + this.space(); + this.print(node.value, node); +} + +function ObjectTypeProperty(node) { + if (node.proto) { + this.word("proto"); + this.space(); + } + + if (node.static) { + this.word("static"); + this.space(); + } + + if (node.kind === "get" || node.kind === "set") { + this.word(node.kind); + this.space(); + } + + this._variance(node); + + this.print(node.key, node); + if (node.optional) this.token("?"); + + if (!node.method) { + this.token(":"); + this.space(); + } + + this.print(node.value, node); +} + +function ObjectTypeSpreadProperty(node) { + this.token("..."); + this.print(node.argument, node); +} + +function QualifiedTypeIdentifier(node) { + this.print(node.qualification, node); + this.token("."); + this.print(node.id, node); +} + +function SymbolTypeAnnotation() { + this.word("symbol"); +} + +function orSeparator() { + this.space(); + this.token("|"); + this.space(); +} + +function UnionTypeAnnotation(node) { + this.printJoin(node.types, node, { + separator: orSeparator + }); +} + +function TypeCastExpression(node) { + this.token("("); + this.print(node.expression, node); + this.print(node.typeAnnotation, node); + this.token(")"); +} + +function Variance(node) { + if (node.kind === "plus") { + this.token("+"); + } else { + this.token("-"); + } +} + +function VoidTypeAnnotation() { + this.word("void"); +} + +function IndexedAccessType(node) { + this.print(node.objectType, node); + this.token("["); + this.print(node.indexType, node); + this.token("]"); +} + +function OptionalIndexedAccessType(node) { + this.print(node.objectType, node); + + if (node.optional) { + this.token("?."); + } + + this.token("["); + this.print(node.indexType, node); + this.token("]"); +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/index.js b/node_modules/@babel/generator/lib/generators/index.js new file mode 100644 index 00000000..8820db09 --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/index.js @@ -0,0 +1,148 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _templateLiterals = require("./template-literals"); + +Object.keys(_templateLiterals).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _templateLiterals[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _templateLiterals[key]; + } + }); +}); + +var _expressions = require("./expressions"); + +Object.keys(_expressions).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _expressions[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _expressions[key]; + } + }); +}); + +var _statements = require("./statements"); + +Object.keys(_statements).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _statements[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _statements[key]; + } + }); +}); + +var _classes = require("./classes"); + +Object.keys(_classes).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _classes[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _classes[key]; + } + }); +}); + +var _methods = require("./methods"); + +Object.keys(_methods).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _methods[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _methods[key]; + } + }); +}); + +var _modules = require("./modules"); + +Object.keys(_modules).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _modules[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _modules[key]; + } + }); +}); + +var _types = require("./types"); + +Object.keys(_types).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _types[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _types[key]; + } + }); +}); + +var _flow = require("./flow"); + +Object.keys(_flow).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _flow[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _flow[key]; + } + }); +}); + +var _base = require("./base"); + +Object.keys(_base).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _base[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _base[key]; + } + }); +}); + +var _jsx = require("./jsx"); + +Object.keys(_jsx).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _jsx[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _jsx[key]; + } + }); +}); + +var _typescript = require("./typescript"); + +Object.keys(_typescript).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _typescript[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _typescript[key]; + } + }); +}); \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/jsx.js b/node_modules/@babel/generator/lib/generators/jsx.js new file mode 100644 index 00000000..48509139 --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/jsx.js @@ -0,0 +1,145 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.JSXAttribute = JSXAttribute; +exports.JSXIdentifier = JSXIdentifier; +exports.JSXNamespacedName = JSXNamespacedName; +exports.JSXMemberExpression = JSXMemberExpression; +exports.JSXSpreadAttribute = JSXSpreadAttribute; +exports.JSXExpressionContainer = JSXExpressionContainer; +exports.JSXSpreadChild = JSXSpreadChild; +exports.JSXText = JSXText; +exports.JSXElement = JSXElement; +exports.JSXOpeningElement = JSXOpeningElement; +exports.JSXClosingElement = JSXClosingElement; +exports.JSXEmptyExpression = JSXEmptyExpression; +exports.JSXFragment = JSXFragment; +exports.JSXOpeningFragment = JSXOpeningFragment; +exports.JSXClosingFragment = JSXClosingFragment; + +function JSXAttribute(node) { + this.print(node.name, node); + + if (node.value) { + this.token("="); + this.print(node.value, node); + } +} + +function JSXIdentifier(node) { + this.word(node.name); +} + +function JSXNamespacedName(node) { + this.print(node.namespace, node); + this.token(":"); + this.print(node.name, node); +} + +function JSXMemberExpression(node) { + this.print(node.object, node); + this.token("."); + this.print(node.property, node); +} + +function JSXSpreadAttribute(node) { + this.token("{"); + this.token("..."); + this.print(node.argument, node); + this.token("}"); +} + +function JSXExpressionContainer(node) { + this.token("{"); + this.print(node.expression, node); + this.token("}"); +} + +function JSXSpreadChild(node) { + this.token("{"); + this.token("..."); + this.print(node.expression, node); + this.token("}"); +} + +function JSXText(node) { + const raw = this.getPossibleRaw(node); + + if (raw != null) { + this.token(raw); + } else { + this.token(node.value); + } +} + +function JSXElement(node) { + const open = node.openingElement; + this.print(open, node); + if (open.selfClosing) return; + this.indent(); + + for (const child of node.children) { + this.print(child, node); + } + + this.dedent(); + this.print(node.closingElement, node); +} + +function spaceSeparator() { + this.space(); +} + +function JSXOpeningElement(node) { + this.token("<"); + this.print(node.name, node); + this.print(node.typeParameters, node); + + if (node.attributes.length > 0) { + this.space(); + this.printJoin(node.attributes, node, { + separator: spaceSeparator + }); + } + + if (node.selfClosing) { + this.space(); + this.token("/>"); + } else { + this.token(">"); + } +} + +function JSXClosingElement(node) { + this.token(""); +} + +function JSXEmptyExpression(node) { + this.printInnerComments(node); +} + +function JSXFragment(node) { + this.print(node.openingFragment, node); + this.indent(); + + for (const child of node.children) { + this.print(child, node); + } + + this.dedent(); + this.print(node.closingFragment, node); +} + +function JSXOpeningFragment() { + this.token("<"); + this.token(">"); +} + +function JSXClosingFragment() { + this.token(""); +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/methods.js b/node_modules/@babel/generator/lib/generators/methods.js new file mode 100644 index 00000000..417945bf --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/methods.js @@ -0,0 +1,149 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports._params = _params; +exports._parameters = _parameters; +exports._param = _param; +exports._methodHead = _methodHead; +exports._predicate = _predicate; +exports._functionHead = _functionHead; +exports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression; +exports.ArrowFunctionExpression = ArrowFunctionExpression; + +var _t = require("@babel/types"); + +const { + isIdentifier +} = _t; + +function _params(node) { + this.print(node.typeParameters, node); + this.token("("); + + this._parameters(node.params, node); + + this.token(")"); + this.print(node.returnType, node); +} + +function _parameters(parameters, parent) { + for (let i = 0; i < parameters.length; i++) { + this._param(parameters[i], parent); + + if (i < parameters.length - 1) { + this.token(","); + this.space(); + } + } +} + +function _param(parameter, parent) { + this.printJoin(parameter.decorators, parameter); + this.print(parameter, parent); + if (parameter.optional) this.token("?"); + this.print(parameter.typeAnnotation, parameter); +} + +function _methodHead(node) { + const kind = node.kind; + const key = node.key; + + if (kind === "get" || kind === "set") { + this.word(kind); + this.space(); + } + + if (node.async) { + this._catchUp("start", key.loc); + + this.word("async"); + this.space(); + } + + if (kind === "method" || kind === "init") { + if (node.generator) { + this.token("*"); + } + } + + if (node.computed) { + this.token("["); + this.print(key, node); + this.token("]"); + } else { + this.print(key, node); + } + + if (node.optional) { + this.token("?"); + } + + this._params(node); +} + +function _predicate(node) { + if (node.predicate) { + if (!node.returnType) { + this.token(":"); + } + + this.space(); + this.print(node.predicate, node); + } +} + +function _functionHead(node) { + if (node.async) { + this.word("async"); + this.space(); + } + + this.word("function"); + if (node.generator) this.token("*"); + this.space(); + + if (node.id) { + this.print(node.id, node); + } + + this._params(node); + + this._predicate(node); +} + +function FunctionExpression(node) { + this._functionHead(node); + + this.space(); + this.print(node.body, node); +} + +function ArrowFunctionExpression(node) { + if (node.async) { + this.word("async"); + this.space(); + } + + const firstParam = node.params[0]; + + if (!this.format.retainLines && !this.format.auxiliaryCommentBefore && !this.format.auxiliaryCommentAfter && node.params.length === 1 && isIdentifier(firstParam) && !hasTypesOrComments(node, firstParam)) { + this.print(firstParam, node); + } else { + this._params(node); + } + + this._predicate(node); + + this.space(); + this.token("=>"); + this.space(); + this.print(node.body, node); +} + +function hasTypesOrComments(node, param) { + var _param$leadingComment, _param$trailingCommen; + + return !!(node.typeParameters || node.returnType || node.predicate || param.typeAnnotation || param.optional || (_param$leadingComment = param.leadingComments) != null && _param$leadingComment.length || (_param$trailingCommen = param.trailingComments) != null && _param$trailingCommen.length); +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/modules.js b/node_modules/@babel/generator/lib/generators/modules.js new file mode 100644 index 00000000..3259ef11 --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/modules.js @@ -0,0 +1,234 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ImportSpecifier = ImportSpecifier; +exports.ImportDefaultSpecifier = ImportDefaultSpecifier; +exports.ExportDefaultSpecifier = ExportDefaultSpecifier; +exports.ExportSpecifier = ExportSpecifier; +exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier; +exports.ExportAllDeclaration = ExportAllDeclaration; +exports.ExportNamedDeclaration = ExportNamedDeclaration; +exports.ExportDefaultDeclaration = ExportDefaultDeclaration; +exports.ImportDeclaration = ImportDeclaration; +exports.ImportAttribute = ImportAttribute; +exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; + +var _t = require("@babel/types"); + +const { + isClassDeclaration, + isExportDefaultSpecifier, + isExportNamespaceSpecifier, + isImportDefaultSpecifier, + isImportNamespaceSpecifier, + isStatement +} = _t; + +function ImportSpecifier(node) { + if (node.importKind === "type" || node.importKind === "typeof") { + this.word(node.importKind); + this.space(); + } + + this.print(node.imported, node); + + if (node.local && node.local.name !== node.imported.name) { + this.space(); + this.word("as"); + this.space(); + this.print(node.local, node); + } +} + +function ImportDefaultSpecifier(node) { + this.print(node.local, node); +} + +function ExportDefaultSpecifier(node) { + this.print(node.exported, node); +} + +function ExportSpecifier(node) { + this.print(node.local, node); + + if (node.exported && node.local.name !== node.exported.name) { + this.space(); + this.word("as"); + this.space(); + this.print(node.exported, node); + } +} + +function ExportNamespaceSpecifier(node) { + this.token("*"); + this.space(); + this.word("as"); + this.space(); + this.print(node.exported, node); +} + +function ExportAllDeclaration(node) { + this.word("export"); + this.space(); + + if (node.exportKind === "type") { + this.word("type"); + this.space(); + } + + this.token("*"); + this.space(); + this.word("from"); + this.space(); + this.print(node.source, node); + this.printAssertions(node); + this.semicolon(); +} + +function ExportNamedDeclaration(node) { + if (this.format.decoratorsBeforeExport && isClassDeclaration(node.declaration)) { + this.printJoin(node.declaration.decorators, node); + } + + this.word("export"); + this.space(); + ExportDeclaration.apply(this, arguments); +} + +function ExportDefaultDeclaration(node) { + if (this.format.decoratorsBeforeExport && isClassDeclaration(node.declaration)) { + this.printJoin(node.declaration.decorators, node); + } + + this.word("export"); + this.space(); + this.word("default"); + this.space(); + ExportDeclaration.apply(this, arguments); +} + +function ExportDeclaration(node) { + if (node.declaration) { + const declar = node.declaration; + this.print(declar, node); + if (!isStatement(declar)) this.semicolon(); + } else { + if (node.exportKind === "type") { + this.word("type"); + this.space(); + } + + const specifiers = node.specifiers.slice(0); + let hasSpecial = false; + + for (;;) { + const first = specifiers[0]; + + if (isExportDefaultSpecifier(first) || isExportNamespaceSpecifier(first)) { + hasSpecial = true; + this.print(specifiers.shift(), node); + + if (specifiers.length) { + this.token(","); + this.space(); + } + } else { + break; + } + } + + if (specifiers.length || !specifiers.length && !hasSpecial) { + this.token("{"); + + if (specifiers.length) { + this.space(); + this.printList(specifiers, node); + this.space(); + } + + this.token("}"); + } + + if (node.source) { + this.space(); + this.word("from"); + this.space(); + this.print(node.source, node); + this.printAssertions(node); + } + + this.semicolon(); + } +} + +function ImportDeclaration(node) { + this.word("import"); + this.space(); + + if (node.importKind === "type" || node.importKind === "typeof") { + this.word(node.importKind); + this.space(); + } + + const specifiers = node.specifiers.slice(0); + + if (specifiers != null && specifiers.length) { + for (;;) { + const first = specifiers[0]; + + if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) { + this.print(specifiers.shift(), node); + + if (specifiers.length) { + this.token(","); + this.space(); + } + } else { + break; + } + } + + if (specifiers.length) { + this.token("{"); + this.space(); + this.printList(specifiers, node); + this.space(); + this.token("}"); + } + + this.space(); + this.word("from"); + this.space(); + } + + this.print(node.source, node); + this.printAssertions(node); + { + var _node$attributes; + + if ((_node$attributes = node.attributes) != null && _node$attributes.length) { + this.space(); + this.word("with"); + this.space(); + this.printList(node.attributes, node); + } + } + this.semicolon(); +} + +function ImportAttribute(node) { + this.print(node.key); + this.token(":"); + this.space(); + this.print(node.value); +} + +function ImportNamespaceSpecifier(node) { + this.token("*"); + this.space(); + this.word("as"); + this.space(); + this.print(node.local, node); +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/statements.js b/node_modules/@babel/generator/lib/generators/statements.js new file mode 100644 index 00000000..528013b9 --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/statements.js @@ -0,0 +1,327 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.WithStatement = WithStatement; +exports.IfStatement = IfStatement; +exports.ForStatement = ForStatement; +exports.WhileStatement = WhileStatement; +exports.DoWhileStatement = DoWhileStatement; +exports.LabeledStatement = LabeledStatement; +exports.TryStatement = TryStatement; +exports.CatchClause = CatchClause; +exports.SwitchStatement = SwitchStatement; +exports.SwitchCase = SwitchCase; +exports.DebuggerStatement = DebuggerStatement; +exports.VariableDeclaration = VariableDeclaration; +exports.VariableDeclarator = VariableDeclarator; +exports.ThrowStatement = exports.BreakStatement = exports.ReturnStatement = exports.ContinueStatement = exports.ForOfStatement = exports.ForInStatement = void 0; + +var _t = require("@babel/types"); + +const { + isFor, + isForStatement, + isIfStatement, + isStatement +} = _t; + +function WithStatement(node) { + this.word("with"); + this.space(); + this.token("("); + this.print(node.object, node); + this.token(")"); + this.printBlock(node); +} + +function IfStatement(node) { + this.word("if"); + this.space(); + this.token("("); + this.print(node.test, node); + this.token(")"); + this.space(); + const needsBlock = node.alternate && isIfStatement(getLastStatement(node.consequent)); + + if (needsBlock) { + this.token("{"); + this.newline(); + this.indent(); + } + + this.printAndIndentOnComments(node.consequent, node); + + if (needsBlock) { + this.dedent(); + this.newline(); + this.token("}"); + } + + if (node.alternate) { + if (this.endsWith(125)) this.space(); + this.word("else"); + this.space(); + this.printAndIndentOnComments(node.alternate, node); + } +} + +function getLastStatement(statement) { + if (!isStatement(statement.body)) return statement; + return getLastStatement(statement.body); +} + +function ForStatement(node) { + this.word("for"); + this.space(); + this.token("("); + this.inForStatementInitCounter++; + this.print(node.init, node); + this.inForStatementInitCounter--; + this.token(";"); + + if (node.test) { + this.space(); + this.print(node.test, node); + } + + this.token(";"); + + if (node.update) { + this.space(); + this.print(node.update, node); + } + + this.token(")"); + this.printBlock(node); +} + +function WhileStatement(node) { + this.word("while"); + this.space(); + this.token("("); + this.print(node.test, node); + this.token(")"); + this.printBlock(node); +} + +const buildForXStatement = function (op) { + return function (node) { + this.word("for"); + this.space(); + + if (op === "of" && node.await) { + this.word("await"); + this.space(); + } + + this.token("("); + this.print(node.left, node); + this.space(); + this.word(op); + this.space(); + this.print(node.right, node); + this.token(")"); + this.printBlock(node); + }; +}; + +const ForInStatement = buildForXStatement("in"); +exports.ForInStatement = ForInStatement; +const ForOfStatement = buildForXStatement("of"); +exports.ForOfStatement = ForOfStatement; + +function DoWhileStatement(node) { + this.word("do"); + this.space(); + this.print(node.body, node); + this.space(); + this.word("while"); + this.space(); + this.token("("); + this.print(node.test, node); + this.token(")"); + this.semicolon(); +} + +function buildLabelStatement(prefix, key = "label") { + return function (node) { + this.word(prefix); + const label = node[key]; + + if (label) { + this.space(); + const isLabel = key == "label"; + const terminatorState = this.startTerminatorless(isLabel); + this.print(label, node); + this.endTerminatorless(terminatorState); + } + + this.semicolon(); + }; +} + +const ContinueStatement = buildLabelStatement("continue"); +exports.ContinueStatement = ContinueStatement; +const ReturnStatement = buildLabelStatement("return", "argument"); +exports.ReturnStatement = ReturnStatement; +const BreakStatement = buildLabelStatement("break"); +exports.BreakStatement = BreakStatement; +const ThrowStatement = buildLabelStatement("throw", "argument"); +exports.ThrowStatement = ThrowStatement; + +function LabeledStatement(node) { + this.print(node.label, node); + this.token(":"); + this.space(); + this.print(node.body, node); +} + +function TryStatement(node) { + this.word("try"); + this.space(); + this.print(node.block, node); + this.space(); + + if (node.handlers) { + this.print(node.handlers[0], node); + } else { + this.print(node.handler, node); + } + + if (node.finalizer) { + this.space(); + this.word("finally"); + this.space(); + this.print(node.finalizer, node); + } +} + +function CatchClause(node) { + this.word("catch"); + this.space(); + + if (node.param) { + this.token("("); + this.print(node.param, node); + this.print(node.param.typeAnnotation, node); + this.token(")"); + this.space(); + } + + this.print(node.body, node); +} + +function SwitchStatement(node) { + this.word("switch"); + this.space(); + this.token("("); + this.print(node.discriminant, node); + this.token(")"); + this.space(); + this.token("{"); + this.printSequence(node.cases, node, { + indent: true, + + addNewlines(leading, cas) { + if (!leading && node.cases[node.cases.length - 1] === cas) return -1; + } + + }); + this.token("}"); +} + +function SwitchCase(node) { + if (node.test) { + this.word("case"); + this.space(); + this.print(node.test, node); + this.token(":"); + } else { + this.word("default"); + this.token(":"); + } + + if (node.consequent.length) { + this.newline(); + this.printSequence(node.consequent, node, { + indent: true + }); + } +} + +function DebuggerStatement() { + this.word("debugger"); + this.semicolon(); +} + +function variableDeclarationIndent() { + this.token(","); + this.newline(); + + if (this.endsWith(10)) { + for (let i = 0; i < 4; i++) this.space(true); + } +} + +function constDeclarationIndent() { + this.token(","); + this.newline(); + + if (this.endsWith(10)) { + for (let i = 0; i < 6; i++) this.space(true); + } +} + +function VariableDeclaration(node, parent) { + if (node.declare) { + this.word("declare"); + this.space(); + } + + this.word(node.kind); + this.space(); + let hasInits = false; + + if (!isFor(parent)) { + for (const declar of node.declarations) { + if (declar.init) { + hasInits = true; + } + } + } + + let separator; + + if (hasInits) { + separator = node.kind === "const" ? constDeclarationIndent : variableDeclarationIndent; + } + + this.printList(node.declarations, node, { + separator + }); + + if (isFor(parent)) { + if (isForStatement(parent)) { + if (parent.init === node) return; + } else { + if (parent.left === node) return; + } + } + + this.semicolon(); +} + +function VariableDeclarator(node) { + this.print(node.id, node); + if (node.definite) this.token("!"); + this.print(node.id.typeAnnotation, node); + + if (node.init) { + this.space(); + this.token("="); + this.space(); + this.print(node.init, node); + } +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/template-literals.js b/node_modules/@babel/generator/lib/generators/template-literals.js new file mode 100644 index 00000000..05433036 --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/template-literals.js @@ -0,0 +1,33 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TaggedTemplateExpression = TaggedTemplateExpression; +exports.TemplateElement = TemplateElement; +exports.TemplateLiteral = TemplateLiteral; + +function TaggedTemplateExpression(node) { + this.print(node.tag, node); + this.print(node.typeParameters, node); + this.print(node.quasi, node); +} + +function TemplateElement(node, parent) { + const isFirst = parent.quasis[0] === node; + const isLast = parent.quasis[parent.quasis.length - 1] === node; + const value = (isFirst ? "`" : "}") + node.value.raw + (isLast ? "`" : "${"); + this.token(value); +} + +function TemplateLiteral(node) { + const quasis = node.quasis; + + for (let i = 0; i < quasis.length; i++) { + this.print(quasis[i], node); + + if (i + 1 < quasis.length) { + this.print(node.expressions[i], node); + } + } +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/types.js b/node_modules/@babel/generator/lib/generators/types.js new file mode 100644 index 00000000..ce8de5f1 --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/types.js @@ -0,0 +1,279 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Identifier = Identifier; +exports.ArgumentPlaceholder = ArgumentPlaceholder; +exports.SpreadElement = exports.RestElement = RestElement; +exports.ObjectPattern = exports.ObjectExpression = ObjectExpression; +exports.ObjectMethod = ObjectMethod; +exports.ObjectProperty = ObjectProperty; +exports.ArrayPattern = exports.ArrayExpression = ArrayExpression; +exports.RecordExpression = RecordExpression; +exports.TupleExpression = TupleExpression; +exports.RegExpLiteral = RegExpLiteral; +exports.BooleanLiteral = BooleanLiteral; +exports.NullLiteral = NullLiteral; +exports.NumericLiteral = NumericLiteral; +exports.StringLiteral = StringLiteral; +exports.BigIntLiteral = BigIntLiteral; +exports.DecimalLiteral = DecimalLiteral; +exports.TopicReference = TopicReference; +exports.PipelineTopicExpression = PipelineTopicExpression; +exports.PipelineBareFunction = PipelineBareFunction; +exports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference; + +var _t = require("@babel/types"); + +var _jsesc = require("jsesc"); + +const { + isAssignmentPattern, + isIdentifier +} = _t; + +function Identifier(node) { + this.exactSource(node.loc, () => { + this.word(node.name); + }); +} + +function ArgumentPlaceholder() { + this.token("?"); +} + +function RestElement(node) { + this.token("..."); + this.print(node.argument, node); +} + +function ObjectExpression(node) { + const props = node.properties; + this.token("{"); + this.printInnerComments(node); + + if (props.length) { + this.space(); + this.printList(props, node, { + indent: true, + statement: true + }); + this.space(); + } + + this.token("}"); +} + +function ObjectMethod(node) { + this.printJoin(node.decorators, node); + + this._methodHead(node); + + this.space(); + this.print(node.body, node); +} + +function ObjectProperty(node) { + this.printJoin(node.decorators, node); + + if (node.computed) { + this.token("["); + this.print(node.key, node); + this.token("]"); + } else { + if (isAssignmentPattern(node.value) && isIdentifier(node.key) && node.key.name === node.value.left.name) { + this.print(node.value, node); + return; + } + + this.print(node.key, node); + + if (node.shorthand && isIdentifier(node.key) && isIdentifier(node.value) && node.key.name === node.value.name) { + return; + } + } + + this.token(":"); + this.space(); + this.print(node.value, node); +} + +function ArrayExpression(node) { + const elems = node.elements; + const len = elems.length; + this.token("["); + this.printInnerComments(node); + + for (let i = 0; i < elems.length; i++) { + const elem = elems[i]; + + if (elem) { + if (i > 0) this.space(); + this.print(elem, node); + if (i < len - 1) this.token(","); + } else { + this.token(","); + } + } + + this.token("]"); +} + +function RecordExpression(node) { + const props = node.properties; + let startToken; + let endToken; + + if (this.format.recordAndTupleSyntaxType === "bar") { + startToken = "{|"; + endToken = "|}"; + } else if (this.format.recordAndTupleSyntaxType === "hash") { + startToken = "#{"; + endToken = "}"; + } else { + throw new Error(`The "recordAndTupleSyntaxType" generator option must be "bar" or "hash" (${JSON.stringify(this.format.recordAndTupleSyntaxType)} received).`); + } + + this.token(startToken); + this.printInnerComments(node); + + if (props.length) { + this.space(); + this.printList(props, node, { + indent: true, + statement: true + }); + this.space(); + } + + this.token(endToken); +} + +function TupleExpression(node) { + const elems = node.elements; + const len = elems.length; + let startToken; + let endToken; + + if (this.format.recordAndTupleSyntaxType === "bar") { + startToken = "[|"; + endToken = "|]"; + } else if (this.format.recordAndTupleSyntaxType === "hash") { + startToken = "#["; + endToken = "]"; + } else { + throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`); + } + + this.token(startToken); + this.printInnerComments(node); + + for (let i = 0; i < elems.length; i++) { + const elem = elems[i]; + + if (elem) { + if (i > 0) this.space(); + this.print(elem, node); + if (i < len - 1) this.token(","); + } + } + + this.token(endToken); +} + +function RegExpLiteral(node) { + this.word(`/${node.pattern}/${node.flags}`); +} + +function BooleanLiteral(node) { + this.word(node.value ? "true" : "false"); +} + +function NullLiteral() { + this.word("null"); +} + +function NumericLiteral(node) { + const raw = this.getPossibleRaw(node); + const opts = this.format.jsescOption; + const value = node.value + ""; + + if (opts.numbers) { + this.number(_jsesc(node.value, opts)); + } else if (raw == null) { + this.number(value); + } else if (this.format.minified) { + this.number(raw.length < value.length ? raw : value); + } else { + this.number(raw); + } +} + +function StringLiteral(node) { + const raw = this.getPossibleRaw(node); + + if (!this.format.minified && raw != null) { + this.token(raw); + return; + } + + const val = _jsesc(node.value, Object.assign(this.format.jsescOption, this.format.jsonCompatibleStrings && { + json: true + })); + + return this.token(val); +} + +function BigIntLiteral(node) { + const raw = this.getPossibleRaw(node); + + if (!this.format.minified && raw != null) { + this.word(raw); + return; + } + + this.word(node.value + "n"); +} + +function DecimalLiteral(node) { + const raw = this.getPossibleRaw(node); + + if (!this.format.minified && raw != null) { + this.word(raw); + return; + } + + this.word(node.value + "m"); +} + +function TopicReference() { + const { + topicToken + } = this.format; + + switch (topicToken) { + case "#": + this.token("#"); + break; + + default: + { + const givenTopicTokenJSON = JSON.stringify(topicToken); + const message = `The "topicToken" generator option must be "#" (${givenTopicTokenJSON} received instead).`; + throw new Error(message); + } + } +} + +function PipelineTopicExpression(node) { + this.print(node.expression, node); +} + +function PipelineBareFunction(node) { + this.print(node.callee, node); +} + +function PipelinePrimaryTopicReference() { + this.token("#"); +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/typescript.js b/node_modules/@babel/generator/lib/generators/typescript.js new file mode 100644 index 00000000..380e40b5 --- /dev/null +++ b/node_modules/@babel/generator/lib/generators/typescript.js @@ -0,0 +1,806 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TSTypeAnnotation = TSTypeAnnotation; +exports.TSTypeParameterDeclaration = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation; +exports.TSTypeParameter = TSTypeParameter; +exports.TSParameterProperty = TSParameterProperty; +exports.TSDeclareFunction = TSDeclareFunction; +exports.TSDeclareMethod = TSDeclareMethod; +exports.TSQualifiedName = TSQualifiedName; +exports.TSCallSignatureDeclaration = TSCallSignatureDeclaration; +exports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration; +exports.TSPropertySignature = TSPropertySignature; +exports.tsPrintPropertyOrMethodName = tsPrintPropertyOrMethodName; +exports.TSMethodSignature = TSMethodSignature; +exports.TSIndexSignature = TSIndexSignature; +exports.TSAnyKeyword = TSAnyKeyword; +exports.TSBigIntKeyword = TSBigIntKeyword; +exports.TSUnknownKeyword = TSUnknownKeyword; +exports.TSNumberKeyword = TSNumberKeyword; +exports.TSObjectKeyword = TSObjectKeyword; +exports.TSBooleanKeyword = TSBooleanKeyword; +exports.TSStringKeyword = TSStringKeyword; +exports.TSSymbolKeyword = TSSymbolKeyword; +exports.TSVoidKeyword = TSVoidKeyword; +exports.TSUndefinedKeyword = TSUndefinedKeyword; +exports.TSNullKeyword = TSNullKeyword; +exports.TSNeverKeyword = TSNeverKeyword; +exports.TSIntrinsicKeyword = TSIntrinsicKeyword; +exports.TSThisType = TSThisType; +exports.TSFunctionType = TSFunctionType; +exports.TSConstructorType = TSConstructorType; +exports.tsPrintFunctionOrConstructorType = tsPrintFunctionOrConstructorType; +exports.TSTypeReference = TSTypeReference; +exports.TSTypePredicate = TSTypePredicate; +exports.TSTypeQuery = TSTypeQuery; +exports.TSTypeLiteral = TSTypeLiteral; +exports.tsPrintTypeLiteralOrInterfaceBody = tsPrintTypeLiteralOrInterfaceBody; +exports.tsPrintBraced = tsPrintBraced; +exports.TSArrayType = TSArrayType; +exports.TSTupleType = TSTupleType; +exports.TSOptionalType = TSOptionalType; +exports.TSRestType = TSRestType; +exports.TSNamedTupleMember = TSNamedTupleMember; +exports.TSUnionType = TSUnionType; +exports.TSIntersectionType = TSIntersectionType; +exports.tsPrintUnionOrIntersectionType = tsPrintUnionOrIntersectionType; +exports.TSConditionalType = TSConditionalType; +exports.TSInferType = TSInferType; +exports.TSParenthesizedType = TSParenthesizedType; +exports.TSTypeOperator = TSTypeOperator; +exports.TSIndexedAccessType = TSIndexedAccessType; +exports.TSMappedType = TSMappedType; +exports.TSLiteralType = TSLiteralType; +exports.TSExpressionWithTypeArguments = TSExpressionWithTypeArguments; +exports.TSInterfaceDeclaration = TSInterfaceDeclaration; +exports.TSInterfaceBody = TSInterfaceBody; +exports.TSTypeAliasDeclaration = TSTypeAliasDeclaration; +exports.TSAsExpression = TSAsExpression; +exports.TSTypeAssertion = TSTypeAssertion; +exports.TSEnumDeclaration = TSEnumDeclaration; +exports.TSEnumMember = TSEnumMember; +exports.TSModuleDeclaration = TSModuleDeclaration; +exports.TSModuleBlock = TSModuleBlock; +exports.TSImportType = TSImportType; +exports.TSImportEqualsDeclaration = TSImportEqualsDeclaration; +exports.TSExternalModuleReference = TSExternalModuleReference; +exports.TSNonNullExpression = TSNonNullExpression; +exports.TSExportAssignment = TSExportAssignment; +exports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration; +exports.tsPrintSignatureDeclarationBase = tsPrintSignatureDeclarationBase; +exports.tsPrintClassMemberModifiers = tsPrintClassMemberModifiers; + +function TSTypeAnnotation(node) { + this.token(":"); + this.space(); + if (node.optional) this.token("?"); + this.print(node.typeAnnotation, node); +} + +function TSTypeParameterInstantiation(node) { + this.token("<"); + this.printList(node.params, node, {}); + this.token(">"); +} + +function TSTypeParameter(node) { + this.word(node.name); + + if (node.constraint) { + this.space(); + this.word("extends"); + this.space(); + this.print(node.constraint, node); + } + + if (node.default) { + this.space(); + this.token("="); + this.space(); + this.print(node.default, node); + } +} + +function TSParameterProperty(node) { + if (node.accessibility) { + this.word(node.accessibility); + this.space(); + } + + if (node.readonly) { + this.word("readonly"); + this.space(); + } + + this._param(node.parameter); +} + +function TSDeclareFunction(node) { + if (node.declare) { + this.word("declare"); + this.space(); + } + + this._functionHead(node); + + this.token(";"); +} + +function TSDeclareMethod(node) { + this._classMethodHead(node); + + this.token(";"); +} + +function TSQualifiedName(node) { + this.print(node.left, node); + this.token("."); + this.print(node.right, node); +} + +function TSCallSignatureDeclaration(node) { + this.tsPrintSignatureDeclarationBase(node); + this.token(";"); +} + +function TSConstructSignatureDeclaration(node) { + this.word("new"); + this.space(); + this.tsPrintSignatureDeclarationBase(node); + this.token(";"); +} + +function TSPropertySignature(node) { + const { + readonly, + initializer + } = node; + + if (readonly) { + this.word("readonly"); + this.space(); + } + + this.tsPrintPropertyOrMethodName(node); + this.print(node.typeAnnotation, node); + + if (initializer) { + this.space(); + this.token("="); + this.space(); + this.print(initializer, node); + } + + this.token(";"); +} + +function tsPrintPropertyOrMethodName(node) { + if (node.computed) { + this.token("["); + } + + this.print(node.key, node); + + if (node.computed) { + this.token("]"); + } + + if (node.optional) { + this.token("?"); + } +} + +function TSMethodSignature(node) { + const { + kind + } = node; + + if (kind === "set" || kind === "get") { + this.word(kind); + this.space(); + } + + this.tsPrintPropertyOrMethodName(node); + this.tsPrintSignatureDeclarationBase(node); + this.token(";"); +} + +function TSIndexSignature(node) { + const { + readonly, + static: isStatic + } = node; + + if (isStatic) { + this.word("static"); + this.space(); + } + + if (readonly) { + this.word("readonly"); + this.space(); + } + + this.token("["); + + this._parameters(node.parameters, node); + + this.token("]"); + this.print(node.typeAnnotation, node); + this.token(";"); +} + +function TSAnyKeyword() { + this.word("any"); +} + +function TSBigIntKeyword() { + this.word("bigint"); +} + +function TSUnknownKeyword() { + this.word("unknown"); +} + +function TSNumberKeyword() { + this.word("number"); +} + +function TSObjectKeyword() { + this.word("object"); +} + +function TSBooleanKeyword() { + this.word("boolean"); +} + +function TSStringKeyword() { + this.word("string"); +} + +function TSSymbolKeyword() { + this.word("symbol"); +} + +function TSVoidKeyword() { + this.word("void"); +} + +function TSUndefinedKeyword() { + this.word("undefined"); +} + +function TSNullKeyword() { + this.word("null"); +} + +function TSNeverKeyword() { + this.word("never"); +} + +function TSIntrinsicKeyword() { + this.word("intrinsic"); +} + +function TSThisType() { + this.word("this"); +} + +function TSFunctionType(node) { + this.tsPrintFunctionOrConstructorType(node); +} + +function TSConstructorType(node) { + if (node.abstract) { + this.word("abstract"); + this.space(); + } + + this.word("new"); + this.space(); + this.tsPrintFunctionOrConstructorType(node); +} + +function tsPrintFunctionOrConstructorType(node) { + const { + typeParameters, + parameters + } = node; + this.print(typeParameters, node); + this.token("("); + + this._parameters(parameters, node); + + this.token(")"); + this.space(); + this.token("=>"); + this.space(); + this.print(node.typeAnnotation.typeAnnotation, node); +} + +function TSTypeReference(node) { + this.print(node.typeName, node); + this.print(node.typeParameters, node); +} + +function TSTypePredicate(node) { + if (node.asserts) { + this.word("asserts"); + this.space(); + } + + this.print(node.parameterName); + + if (node.typeAnnotation) { + this.space(); + this.word("is"); + this.space(); + this.print(node.typeAnnotation.typeAnnotation); + } +} + +function TSTypeQuery(node) { + this.word("typeof"); + this.space(); + this.print(node.exprName); +} + +function TSTypeLiteral(node) { + this.tsPrintTypeLiteralOrInterfaceBody(node.members, node); +} + +function tsPrintTypeLiteralOrInterfaceBody(members, node) { + this.tsPrintBraced(members, node); +} + +function tsPrintBraced(members, node) { + this.token("{"); + + if (members.length) { + this.indent(); + this.newline(); + + for (const member of members) { + this.print(member, node); + this.newline(); + } + + this.dedent(); + this.rightBrace(); + } else { + this.token("}"); + } +} + +function TSArrayType(node) { + this.print(node.elementType, node); + this.token("[]"); +} + +function TSTupleType(node) { + this.token("["); + this.printList(node.elementTypes, node); + this.token("]"); +} + +function TSOptionalType(node) { + this.print(node.typeAnnotation, node); + this.token("?"); +} + +function TSRestType(node) { + this.token("..."); + this.print(node.typeAnnotation, node); +} + +function TSNamedTupleMember(node) { + this.print(node.label, node); + if (node.optional) this.token("?"); + this.token(":"); + this.space(); + this.print(node.elementType, node); +} + +function TSUnionType(node) { + this.tsPrintUnionOrIntersectionType(node, "|"); +} + +function TSIntersectionType(node) { + this.tsPrintUnionOrIntersectionType(node, "&"); +} + +function tsPrintUnionOrIntersectionType(node, sep) { + this.printJoin(node.types, node, { + separator() { + this.space(); + this.token(sep); + this.space(); + } + + }); +} + +function TSConditionalType(node) { + this.print(node.checkType); + this.space(); + this.word("extends"); + this.space(); + this.print(node.extendsType); + this.space(); + this.token("?"); + this.space(); + this.print(node.trueType); + this.space(); + this.token(":"); + this.space(); + this.print(node.falseType); +} + +function TSInferType(node) { + this.token("infer"); + this.space(); + this.print(node.typeParameter); +} + +function TSParenthesizedType(node) { + this.token("("); + this.print(node.typeAnnotation, node); + this.token(")"); +} + +function TSTypeOperator(node) { + this.word(node.operator); + this.space(); + this.print(node.typeAnnotation, node); +} + +function TSIndexedAccessType(node) { + this.print(node.objectType, node); + this.token("["); + this.print(node.indexType, node); + this.token("]"); +} + +function TSMappedType(node) { + const { + nameType, + optional, + readonly, + typeParameter + } = node; + this.token("{"); + this.space(); + + if (readonly) { + tokenIfPlusMinus(this, readonly); + this.word("readonly"); + this.space(); + } + + this.token("["); + this.word(typeParameter.name); + this.space(); + this.word("in"); + this.space(); + this.print(typeParameter.constraint, typeParameter); + + if (nameType) { + this.space(); + this.word("as"); + this.space(); + this.print(nameType, node); + } + + this.token("]"); + + if (optional) { + tokenIfPlusMinus(this, optional); + this.token("?"); + } + + this.token(":"); + this.space(); + this.print(node.typeAnnotation, node); + this.space(); + this.token("}"); +} + +function tokenIfPlusMinus(self, tok) { + if (tok !== true) { + self.token(tok); + } +} + +function TSLiteralType(node) { + this.print(node.literal, node); +} + +function TSExpressionWithTypeArguments(node) { + this.print(node.expression, node); + this.print(node.typeParameters, node); +} + +function TSInterfaceDeclaration(node) { + const { + declare, + id, + typeParameters, + extends: extendz, + body + } = node; + + if (declare) { + this.word("declare"); + this.space(); + } + + this.word("interface"); + this.space(); + this.print(id, node); + this.print(typeParameters, node); + + if (extendz != null && extendz.length) { + this.space(); + this.word("extends"); + this.space(); + this.printList(extendz, node); + } + + this.space(); + this.print(body, node); +} + +function TSInterfaceBody(node) { + this.tsPrintTypeLiteralOrInterfaceBody(node.body, node); +} + +function TSTypeAliasDeclaration(node) { + const { + declare, + id, + typeParameters, + typeAnnotation + } = node; + + if (declare) { + this.word("declare"); + this.space(); + } + + this.word("type"); + this.space(); + this.print(id, node); + this.print(typeParameters, node); + this.space(); + this.token("="); + this.space(); + this.print(typeAnnotation, node); + this.token(";"); +} + +function TSAsExpression(node) { + const { + expression, + typeAnnotation + } = node; + this.print(expression, node); + this.space(); + this.word("as"); + this.space(); + this.print(typeAnnotation, node); +} + +function TSTypeAssertion(node) { + const { + typeAnnotation, + expression + } = node; + this.token("<"); + this.print(typeAnnotation, node); + this.token(">"); + this.space(); + this.print(expression, node); +} + +function TSEnumDeclaration(node) { + const { + declare, + const: isConst, + id, + members + } = node; + + if (declare) { + this.word("declare"); + this.space(); + } + + if (isConst) { + this.word("const"); + this.space(); + } + + this.word("enum"); + this.space(); + this.print(id, node); + this.space(); + this.tsPrintBraced(members, node); +} + +function TSEnumMember(node) { + const { + id, + initializer + } = node; + this.print(id, node); + + if (initializer) { + this.space(); + this.token("="); + this.space(); + this.print(initializer, node); + } + + this.token(","); +} + +function TSModuleDeclaration(node) { + const { + declare, + id + } = node; + + if (declare) { + this.word("declare"); + this.space(); + } + + if (!node.global) { + this.word(id.type === "Identifier" ? "namespace" : "module"); + this.space(); + } + + this.print(id, node); + + if (!node.body) { + this.token(";"); + return; + } + + let body = node.body; + + while (body.type === "TSModuleDeclaration") { + this.token("."); + this.print(body.id, body); + body = body.body; + } + + this.space(); + this.print(body, node); +} + +function TSModuleBlock(node) { + this.tsPrintBraced(node.body, node); +} + +function TSImportType(node) { + const { + argument, + qualifier, + typeParameters + } = node; + this.word("import"); + this.token("("); + this.print(argument, node); + this.token(")"); + + if (qualifier) { + this.token("."); + this.print(qualifier, node); + } + + if (typeParameters) { + this.print(typeParameters, node); + } +} + +function TSImportEqualsDeclaration(node) { + const { + isExport, + id, + moduleReference + } = node; + + if (isExport) { + this.word("export"); + this.space(); + } + + this.word("import"); + this.space(); + this.print(id, node); + this.space(); + this.token("="); + this.space(); + this.print(moduleReference, node); + this.token(";"); +} + +function TSExternalModuleReference(node) { + this.token("require("); + this.print(node.expression, node); + this.token(")"); +} + +function TSNonNullExpression(node) { + this.print(node.expression, node); + this.token("!"); +} + +function TSExportAssignment(node) { + this.word("export"); + this.space(); + this.token("="); + this.space(); + this.print(node.expression, node); + this.token(";"); +} + +function TSNamespaceExportDeclaration(node) { + this.word("export"); + this.space(); + this.word("as"); + this.space(); + this.word("namespace"); + this.space(); + this.print(node.id, node); +} + +function tsPrintSignatureDeclarationBase(node) { + const { + typeParameters, + parameters + } = node; + this.print(typeParameters, node); + this.token("("); + + this._parameters(parameters, node); + + this.token(")"); + this.print(node.typeAnnotation, node); +} + +function tsPrintClassMemberModifiers(node, isField) { + if (isField && node.declare) { + this.word("declare"); + this.space(); + } + + if (node.accessibility) { + this.word(node.accessibility); + this.space(); + } + + if (node.static) { + this.word("static"); + this.space(); + } + + if (node.override) { + this.word("override"); + this.space(); + } + + if (node.abstract) { + this.word("abstract"); + this.space(); + } + + if (isField && node.readonly) { + this.word("readonly"); + this.space(); + } +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/index.js b/node_modules/@babel/generator/lib/index.js new file mode 100644 index 00000000..0f4d1363 --- /dev/null +++ b/node_modules/@babel/generator/lib/index.js @@ -0,0 +1,97 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = generate; +exports.CodeGenerator = void 0; + +var _sourceMap = require("./source-map"); + +var _printer = require("./printer"); + +class Generator extends _printer.default { + constructor(ast, opts = {}, code) { + const format = normalizeOptions(code, opts); + const map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null; + super(format, map); + this.ast = void 0; + this.ast = ast; + } + + generate() { + return super.generate(this.ast); + } + +} + +function normalizeOptions(code, opts) { + const format = { + auxiliaryCommentBefore: opts.auxiliaryCommentBefore, + auxiliaryCommentAfter: opts.auxiliaryCommentAfter, + shouldPrintComment: opts.shouldPrintComment, + retainLines: opts.retainLines, + retainFunctionParens: opts.retainFunctionParens, + comments: opts.comments == null || opts.comments, + compact: opts.compact, + minified: opts.minified, + concise: opts.concise, + indent: { + adjustMultilineComment: true, + style: " ", + base: 0 + }, + decoratorsBeforeExport: !!opts.decoratorsBeforeExport, + jsescOption: Object.assign({ + quotes: "double", + wrap: true, + minimal: false + }, opts.jsescOption), + recordAndTupleSyntaxType: opts.recordAndTupleSyntaxType, + topicToken: opts.topicToken + }; + { + format.jsonCompatibleStrings = opts.jsonCompatibleStrings; + } + + if (format.minified) { + format.compact = true; + + format.shouldPrintComment = format.shouldPrintComment || (() => format.comments); + } else { + format.shouldPrintComment = format.shouldPrintComment || (value => format.comments || value.indexOf("@license") >= 0 || value.indexOf("@preserve") >= 0); + } + + if (format.compact === "auto") { + format.compact = code.length > 500000; + + if (format.compact) { + console.error("[BABEL] Note: The code generator has deoptimised the styling of " + `${opts.filename} as it exceeds the max of ${"500KB"}.`); + } + } + + if (format.compact) { + format.indent.adjustMultilineComment = false; + } + + return format; +} + +class CodeGenerator { + constructor(ast, opts, code) { + this._generator = void 0; + this._generator = new Generator(ast, opts, code); + } + + generate() { + return this._generator.generate(); + } + +} + +exports.CodeGenerator = CodeGenerator; + +function generate(ast, opts, code) { + const gen = new Generator(ast, opts, code); + return gen.generate(); +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/node/index.js b/node_modules/@babel/generator/lib/node/index.js new file mode 100644 index 00000000..892498e8 --- /dev/null +++ b/node_modules/@babel/generator/lib/node/index.js @@ -0,0 +1,111 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.needsWhitespace = needsWhitespace; +exports.needsWhitespaceBefore = needsWhitespaceBefore; +exports.needsWhitespaceAfter = needsWhitespaceAfter; +exports.needsParens = needsParens; + +var whitespace = require("./whitespace"); + +var parens = require("./parentheses"); + +var _t = require("@babel/types"); + +const { + FLIPPED_ALIAS_KEYS, + isCallExpression, + isExpressionStatement, + isMemberExpression, + isNewExpression +} = _t; + +function expandAliases(obj) { + const newObj = {}; + + function add(type, func) { + const fn = newObj[type]; + newObj[type] = fn ? function (node, parent, stack) { + const result = fn(node, parent, stack); + return result == null ? func(node, parent, stack) : result; + } : func; + } + + for (const type of Object.keys(obj)) { + const aliases = FLIPPED_ALIAS_KEYS[type]; + + if (aliases) { + for (const alias of aliases) { + add(alias, obj[type]); + } + } else { + add(type, obj[type]); + } + } + + return newObj; +} + +const expandedParens = expandAliases(parens); +const expandedWhitespaceNodes = expandAliases(whitespace.nodes); +const expandedWhitespaceList = expandAliases(whitespace.list); + +function find(obj, node, parent, printStack) { + const fn = obj[node.type]; + return fn ? fn(node, parent, printStack) : null; +} + +function isOrHasCallExpression(node) { + if (isCallExpression(node)) { + return true; + } + + return isMemberExpression(node) && isOrHasCallExpression(node.object); +} + +function needsWhitespace(node, parent, type) { + if (!node) return 0; + + if (isExpressionStatement(node)) { + node = node.expression; + } + + let linesInfo = find(expandedWhitespaceNodes, node, parent); + + if (!linesInfo) { + const items = find(expandedWhitespaceList, node, parent); + + if (items) { + for (let i = 0; i < items.length; i++) { + linesInfo = needsWhitespace(items[i], node, type); + if (linesInfo) break; + } + } + } + + if (typeof linesInfo === "object" && linesInfo !== null) { + return linesInfo[type] || 0; + } + + return 0; +} + +function needsWhitespaceBefore(node, parent) { + return needsWhitespace(node, parent, "before"); +} + +function needsWhitespaceAfter(node, parent) { + return needsWhitespace(node, parent, "after"); +} + +function needsParens(node, parent, printStack) { + if (!parent) return false; + + if (isNewExpression(parent) && parent.callee === node) { + if (isOrHasCallExpression(node)) return true; + } + + return find(expandedParens, node, parent, printStack); +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/node/parentheses.js b/node_modules/@babel/generator/lib/node/parentheses.js new file mode 100644 index 00000000..9a171302 --- /dev/null +++ b/node_modules/@babel/generator/lib/node/parentheses.js @@ -0,0 +1,342 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.NullableTypeAnnotation = NullableTypeAnnotation; +exports.FunctionTypeAnnotation = FunctionTypeAnnotation; +exports.UpdateExpression = UpdateExpression; +exports.ObjectExpression = ObjectExpression; +exports.DoExpression = DoExpression; +exports.Binary = Binary; +exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; +exports.OptionalIndexedAccessType = OptionalIndexedAccessType; +exports.TSAsExpression = TSAsExpression; +exports.TSTypeAssertion = TSTypeAssertion; +exports.TSIntersectionType = exports.TSUnionType = TSUnionType; +exports.TSInferType = TSInferType; +exports.BinaryExpression = BinaryExpression; +exports.SequenceExpression = SequenceExpression; +exports.AwaitExpression = exports.YieldExpression = YieldExpression; +exports.ClassExpression = ClassExpression; +exports.UnaryLike = UnaryLike; +exports.FunctionExpression = FunctionExpression; +exports.ArrowFunctionExpression = ArrowFunctionExpression; +exports.ConditionalExpression = ConditionalExpression; +exports.OptionalCallExpression = exports.OptionalMemberExpression = OptionalMemberExpression; +exports.AssignmentExpression = AssignmentExpression; +exports.LogicalExpression = LogicalExpression; +exports.Identifier = Identifier; + +var _t = require("@babel/types"); + +const { + isArrayTypeAnnotation, + isArrowFunctionExpression, + isAssignmentExpression, + isAwaitExpression, + isBinary, + isBinaryExpression, + isCallExpression, + isClassDeclaration, + isClassExpression, + isConditional, + isConditionalExpression, + isExportDeclaration, + isExportDefaultDeclaration, + isExpressionStatement, + isFor, + isForInStatement, + isForOfStatement, + isForStatement, + isIfStatement, + isIndexedAccessType, + isIntersectionTypeAnnotation, + isLogicalExpression, + isMemberExpression, + isNewExpression, + isNullableTypeAnnotation, + isObjectPattern, + isOptionalCallExpression, + isOptionalMemberExpression, + isReturnStatement, + isSequenceExpression, + isSwitchStatement, + isTSArrayType, + isTSAsExpression, + isTSIntersectionType, + isTSNonNullExpression, + isTSOptionalType, + isTSRestType, + isTSTypeAssertion, + isTSUnionType, + isTaggedTemplateExpression, + isThrowStatement, + isTypeAnnotation, + isUnaryLike, + isUnionTypeAnnotation, + isVariableDeclarator, + isWhileStatement, + isYieldExpression +} = _t; +const PRECEDENCE = { + "||": 0, + "??": 0, + "&&": 1, + "|": 2, + "^": 3, + "&": 4, + "==": 5, + "===": 5, + "!=": 5, + "!==": 5, + "<": 6, + ">": 6, + "<=": 6, + ">=": 6, + in: 6, + instanceof: 6, + ">>": 7, + "<<": 7, + ">>>": 7, + "+": 8, + "-": 8, + "*": 9, + "/": 9, + "%": 9, + "**": 10 +}; + +const isClassExtendsClause = (node, parent) => (isClassDeclaration(parent) || isClassExpression(parent)) && parent.superClass === node; + +const hasPostfixPart = (node, parent) => (isMemberExpression(parent) || isOptionalMemberExpression(parent)) && parent.object === node || (isCallExpression(parent) || isOptionalCallExpression(parent) || isNewExpression(parent)) && parent.callee === node || isTaggedTemplateExpression(parent) && parent.tag === node || isTSNonNullExpression(parent); + +function NullableTypeAnnotation(node, parent) { + return isArrayTypeAnnotation(parent); +} + +function FunctionTypeAnnotation(node, parent, printStack) { + return isUnionTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isArrayTypeAnnotation(parent) || isTypeAnnotation(parent) && isArrowFunctionExpression(printStack[printStack.length - 3]); +} + +function UpdateExpression(node, parent) { + return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent); +} + +function ObjectExpression(node, parent, printStack) { + return isFirstInContext(printStack, { + expressionStatement: true, + arrowBody: true + }); +} + +function DoExpression(node, parent, printStack) { + return !node.async && isFirstInContext(printStack, { + expressionStatement: true + }); +} + +function Binary(node, parent) { + if (node.operator === "**" && isBinaryExpression(parent, { + operator: "**" + })) { + return parent.left === node; + } + + if (isClassExtendsClause(node, parent)) { + return true; + } + + if (hasPostfixPart(node, parent) || isUnaryLike(parent) || isAwaitExpression(parent)) { + return true; + } + + if (isBinary(parent)) { + const parentOp = parent.operator; + const parentPos = PRECEDENCE[parentOp]; + const nodeOp = node.operator; + const nodePos = PRECEDENCE[nodeOp]; + + if (parentPos === nodePos && parent.right === node && !isLogicalExpression(parent) || parentPos > nodePos) { + return true; + } + } +} + +function UnionTypeAnnotation(node, parent) { + return isArrayTypeAnnotation(parent) || isNullableTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isUnionTypeAnnotation(parent); +} + +function OptionalIndexedAccessType(node, parent) { + return isIndexedAccessType(parent, { + objectType: node + }); +} + +function TSAsExpression() { + return true; +} + +function TSTypeAssertion() { + return true; +} + +function TSUnionType(node, parent) { + return isTSArrayType(parent) || isTSOptionalType(parent) || isTSIntersectionType(parent) || isTSUnionType(parent) || isTSRestType(parent); +} + +function TSInferType(node, parent) { + return isTSArrayType(parent) || isTSOptionalType(parent); +} + +function BinaryExpression(node, parent) { + return node.operator === "in" && (isVariableDeclarator(parent) || isFor(parent)); +} + +function SequenceExpression(node, parent) { + if (isForStatement(parent) || isThrowStatement(parent) || isReturnStatement(parent) || isIfStatement(parent) && parent.test === node || isWhileStatement(parent) && parent.test === node || isForInStatement(parent) && parent.right === node || isSwitchStatement(parent) && parent.discriminant === node || isExpressionStatement(parent) && parent.expression === node) { + return false; + } + + return true; +} + +function YieldExpression(node, parent) { + return isBinary(parent) || isUnaryLike(parent) || hasPostfixPart(node, parent) || isAwaitExpression(parent) && isYieldExpression(node) || isConditionalExpression(parent) && node === parent.test || isClassExtendsClause(node, parent); +} + +function ClassExpression(node, parent, printStack) { + return isFirstInContext(printStack, { + expressionStatement: true, + exportDefault: true + }); +} + +function UnaryLike(node, parent) { + return hasPostfixPart(node, parent) || isBinaryExpression(parent, { + operator: "**", + left: node + }) || isClassExtendsClause(node, parent); +} + +function FunctionExpression(node, parent, printStack) { + return isFirstInContext(printStack, { + expressionStatement: true, + exportDefault: true + }); +} + +function ArrowFunctionExpression(node, parent) { + return isExportDeclaration(parent) || ConditionalExpression(node, parent); +} + +function ConditionalExpression(node, parent) { + if (isUnaryLike(parent) || isBinary(parent) || isConditionalExpression(parent, { + test: node + }) || isAwaitExpression(parent) || isTSTypeAssertion(parent) || isTSAsExpression(parent)) { + return true; + } + + return UnaryLike(node, parent); +} + +function OptionalMemberExpression(node, parent) { + return isCallExpression(parent, { + callee: node + }) || isMemberExpression(parent, { + object: node + }); +} + +function AssignmentExpression(node, parent) { + if (isObjectPattern(node.left)) { + return true; + } else { + return ConditionalExpression(node, parent); + } +} + +function LogicalExpression(node, parent) { + switch (node.operator) { + case "||": + if (!isLogicalExpression(parent)) return false; + return parent.operator === "??" || parent.operator === "&&"; + + case "&&": + return isLogicalExpression(parent, { + operator: "??" + }); + + case "??": + return isLogicalExpression(parent) && parent.operator !== "??"; + } +} + +function Identifier(node, parent, printStack) { + if (node.name === "let") { + const isFollowedByBracket = isMemberExpression(parent, { + object: node, + computed: true + }) || isOptionalMemberExpression(parent, { + object: node, + computed: true, + optional: false + }); + return isFirstInContext(printStack, { + expressionStatement: isFollowedByBracket, + forHead: isFollowedByBracket, + forInHead: isFollowedByBracket, + forOfHead: true + }); + } + + return node.name === "async" && isForOfStatement(parent) && node === parent.left; +} + +function isFirstInContext(printStack, { + expressionStatement = false, + arrowBody = false, + exportDefault = false, + forHead = false, + forInHead = false, + forOfHead = false +}) { + let i = printStack.length - 1; + let node = printStack[i]; + i--; + let parent = printStack[i]; + + while (i >= 0) { + if (expressionStatement && isExpressionStatement(parent, { + expression: node + }) || exportDefault && isExportDefaultDeclaration(parent, { + declaration: node + }) || arrowBody && isArrowFunctionExpression(parent, { + body: node + }) || forHead && isForStatement(parent, { + init: node + }) || forInHead && isForInStatement(parent, { + left: node + }) || forOfHead && isForOfStatement(parent, { + left: node + })) { + return true; + } + + if (hasPostfixPart(node, parent) && !isNewExpression(parent) || isSequenceExpression(parent) && parent.expressions[0] === node || isConditional(parent, { + test: node + }) || isBinary(parent, { + left: node + }) || isAssignmentExpression(parent, { + left: node + })) { + node = parent; + i--; + parent = printStack[i]; + } else { + return false; + } + } + + return false; +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/node/whitespace.js b/node_modules/@babel/generator/lib/node/whitespace.js new file mode 100644 index 00000000..dd149e4e --- /dev/null +++ b/node_modules/@babel/generator/lib/node/whitespace.js @@ -0,0 +1,214 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.list = exports.nodes = void 0; + +var _t = require("@babel/types"); + +const { + FLIPPED_ALIAS_KEYS, + isArrayExpression, + isAssignmentExpression, + isBinary, + isBlockStatement, + isCallExpression, + isFunction, + isIdentifier, + isLiteral, + isMemberExpression, + isObjectExpression, + isOptionalCallExpression, + isOptionalMemberExpression, + isStringLiteral +} = _t; + +function crawl(node, state = {}) { + if (isMemberExpression(node) || isOptionalMemberExpression(node)) { + crawl(node.object, state); + if (node.computed) crawl(node.property, state); + } else if (isBinary(node) || isAssignmentExpression(node)) { + crawl(node.left, state); + crawl(node.right, state); + } else if (isCallExpression(node) || isOptionalCallExpression(node)) { + state.hasCall = true; + crawl(node.callee, state); + } else if (isFunction(node)) { + state.hasFunction = true; + } else if (isIdentifier(node)) { + state.hasHelper = state.hasHelper || isHelper(node.callee); + } + + return state; +} + +function isHelper(node) { + if (isMemberExpression(node)) { + return isHelper(node.object) || isHelper(node.property); + } else if (isIdentifier(node)) { + return node.name === "require" || node.name[0] === "_"; + } else if (isCallExpression(node)) { + return isHelper(node.callee); + } else if (isBinary(node) || isAssignmentExpression(node)) { + return isIdentifier(node.left) && isHelper(node.left) || isHelper(node.right); + } else { + return false; + } +} + +function isType(node) { + return isLiteral(node) || isObjectExpression(node) || isArrayExpression(node) || isIdentifier(node) || isMemberExpression(node); +} + +const nodes = { + AssignmentExpression(node) { + const state = crawl(node.right); + + if (state.hasCall && state.hasHelper || state.hasFunction) { + return { + before: state.hasFunction, + after: true + }; + } + }, + + SwitchCase(node, parent) { + return { + before: !!node.consequent.length || parent.cases[0] === node, + after: !node.consequent.length && parent.cases[parent.cases.length - 1] === node + }; + }, + + LogicalExpression(node) { + if (isFunction(node.left) || isFunction(node.right)) { + return { + after: true + }; + } + }, + + Literal(node) { + if (isStringLiteral(node) && node.value === "use strict") { + return { + after: true + }; + } + }, + + CallExpression(node) { + if (isFunction(node.callee) || isHelper(node)) { + return { + before: true, + after: true + }; + } + }, + + OptionalCallExpression(node) { + if (isFunction(node.callee)) { + return { + before: true, + after: true + }; + } + }, + + VariableDeclaration(node) { + for (let i = 0; i < node.declarations.length; i++) { + const declar = node.declarations[i]; + let enabled = isHelper(declar.id) && !isType(declar.init); + + if (!enabled) { + const state = crawl(declar.init); + enabled = isHelper(declar.init) && state.hasCall || state.hasFunction; + } + + if (enabled) { + return { + before: true, + after: true + }; + } + } + }, + + IfStatement(node) { + if (isBlockStatement(node.consequent)) { + return { + before: true, + after: true + }; + } + } + +}; +exports.nodes = nodes; + +nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function (node, parent) { + if (parent.properties[0] === node) { + return { + before: true + }; + } +}; + +nodes.ObjectTypeCallProperty = function (node, parent) { + var _parent$properties; + + if (parent.callProperties[0] === node && !((_parent$properties = parent.properties) != null && _parent$properties.length)) { + return { + before: true + }; + } +}; + +nodes.ObjectTypeIndexer = function (node, parent) { + var _parent$properties2, _parent$callPropertie; + + if (parent.indexers[0] === node && !((_parent$properties2 = parent.properties) != null && _parent$properties2.length) && !((_parent$callPropertie = parent.callProperties) != null && _parent$callPropertie.length)) { + return { + before: true + }; + } +}; + +nodes.ObjectTypeInternalSlot = function (node, parent) { + var _parent$properties3, _parent$callPropertie2, _parent$indexers; + + if (parent.internalSlots[0] === node && !((_parent$properties3 = parent.properties) != null && _parent$properties3.length) && !((_parent$callPropertie2 = parent.callProperties) != null && _parent$callPropertie2.length) && !((_parent$indexers = parent.indexers) != null && _parent$indexers.length)) { + return { + before: true + }; + } +}; + +const list = { + VariableDeclaration(node) { + return node.declarations.map(decl => decl.init); + }, + + ArrayExpression(node) { + return node.elements; + }, + + ObjectExpression(node) { + return node.properties; + } + +}; +exports.list = list; +[["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function ([type, amounts]) { + if (typeof amounts === "boolean") { + amounts = { + after: amounts, + before: amounts + }; + } + + [type].concat(FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) { + nodes[type] = function () { + return amounts; + }; + }); +}); \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/printer.js b/node_modules/@babel/generator/lib/printer.js new file mode 100644 index 00000000..0decd212 --- /dev/null +++ b/node_modules/@babel/generator/lib/printer.js @@ -0,0 +1,540 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _buffer = require("./buffer"); + +var n = require("./node"); + +var _t = require("@babel/types"); + +var generatorFunctions = require("./generators"); + +const { + isProgram, + isFile, + isEmptyStatement +} = _t; +const SCIENTIFIC_NOTATION = /e/i; +const ZERO_DECIMAL_INTEGER = /\.0+$/; +const NON_DECIMAL_LITERAL = /^0[box]/; +const PURE_ANNOTATION_RE = /^\s*[@#]__PURE__\s*$/; +const { + needsParens, + needsWhitespaceAfter, + needsWhitespaceBefore +} = n; + +class Printer { + constructor(format, map) { + this.inForStatementInitCounter = 0; + this._printStack = []; + this._indent = 0; + this._insideAux = false; + this._parenPushNewlineState = null; + this._noLineTerminator = false; + this._printAuxAfterOnNextUserNode = false; + this._printedComments = new WeakSet(); + this._endsWithInteger = false; + this._endsWithWord = false; + this.format = format; + this._buf = new _buffer.default(map); + } + + generate(ast) { + this.print(ast); + + this._maybeAddAuxComment(); + + return this._buf.get(); + } + + indent() { + if (this.format.compact || this.format.concise) return; + this._indent++; + } + + dedent() { + if (this.format.compact || this.format.concise) return; + this._indent--; + } + + semicolon(force = false) { + this._maybeAddAuxComment(); + + this._append(";", !force); + } + + rightBrace() { + if (this.format.minified) { + this._buf.removeLastSemicolon(); + } + + this.token("}"); + } + + space(force = false) { + if (this.format.compact) return; + + if (force) { + this._space(); + } else if (this._buf.hasContent()) { + const lastCp = this.getLastChar(); + + if (lastCp !== 32 && lastCp !== 10) { + this._space(); + } + } + } + + word(str) { + if (this._endsWithWord || this.endsWith(47) && str.charCodeAt(0) === 47) { + this._space(); + } + + this._maybeAddAuxComment(); + + this._append(str); + + this._endsWithWord = true; + } + + number(str) { + this.word(str); + this._endsWithInteger = Number.isInteger(+str) && !NON_DECIMAL_LITERAL.test(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str.charCodeAt(str.length - 1) !== 46; + } + + token(str) { + const lastChar = this.getLastChar(); + const strFirst = str.charCodeAt(0); + + if (str === "--" && lastChar === 33 || strFirst === 43 && lastChar === 43 || strFirst === 45 && lastChar === 45 || strFirst === 46 && this._endsWithInteger) { + this._space(); + } + + this._maybeAddAuxComment(); + + this._append(str); + } + + newline(i = 1) { + if (this.format.retainLines || this.format.compact) return; + + if (this.format.concise) { + this.space(); + return; + } + + const charBeforeNewline = this.endsWithCharAndNewline(); + if (charBeforeNewline === 10) return; + + if (charBeforeNewline === 123 || charBeforeNewline === 58) { + i--; + } + + if (i <= 0) return; + + for (let j = 0; j < i; j++) { + this._newline(); + } + } + + endsWith(char) { + return this.getLastChar() === char; + } + + getLastChar() { + return this._buf.getLastChar(); + } + + endsWithCharAndNewline() { + return this._buf.endsWithCharAndNewline(); + } + + removeTrailingNewline() { + this._buf.removeTrailingNewline(); + } + + exactSource(loc, cb) { + this._catchUp("start", loc); + + this._buf.exactSource(loc, cb); + } + + source(prop, loc) { + this._catchUp(prop, loc); + + this._buf.source(prop, loc); + } + + withSource(prop, loc, cb) { + this._catchUp(prop, loc); + + this._buf.withSource(prop, loc, cb); + } + + _space() { + this._append(" ", true); + } + + _newline() { + this._append("\n", true); + } + + _append(str, queue = false) { + this._maybeAddParen(str); + + this._maybeIndent(str); + + if (queue) this._buf.queue(str);else this._buf.append(str); + this._endsWithWord = false; + this._endsWithInteger = false; + } + + _maybeIndent(str) { + if (this._indent && this.endsWith(10) && str.charCodeAt(0) !== 10) { + this._buf.queue(this._getIndent()); + } + } + + _maybeAddParen(str) { + const parenPushNewlineState = this._parenPushNewlineState; + if (!parenPushNewlineState) return; + let i; + + for (i = 0; i < str.length && str[i] === " "; i++) continue; + + if (i === str.length) { + return; + } + + const cha = str[i]; + + if (cha !== "\n") { + if (cha !== "/" || i + 1 === str.length) { + this._parenPushNewlineState = null; + return; + } + + const chaPost = str[i + 1]; + + if (chaPost === "*") { + if (PURE_ANNOTATION_RE.test(str.slice(i + 2, str.length - 2))) { + return; + } + } else if (chaPost !== "/") { + this._parenPushNewlineState = null; + return; + } + } + + this.token("("); + this.indent(); + parenPushNewlineState.printed = true; + } + + _catchUp(prop, loc) { + if (!this.format.retainLines) return; + const pos = loc ? loc[prop] : null; + + if ((pos == null ? void 0 : pos.line) != null) { + const count = pos.line - this._buf.getCurrentLine(); + + for (let i = 0; i < count; i++) { + this._newline(); + } + } + } + + _getIndent() { + return this.format.indent.style.repeat(this._indent); + } + + startTerminatorless(isLabel = false) { + if (isLabel) { + this._noLineTerminator = true; + return null; + } else { + return this._parenPushNewlineState = { + printed: false + }; + } + } + + endTerminatorless(state) { + this._noLineTerminator = false; + + if (state != null && state.printed) { + this.dedent(); + this.newline(); + this.token(")"); + } + } + + print(node, parent) { + if (!node) return; + const oldConcise = this.format.concise; + + if (node._compact) { + this.format.concise = true; + } + + const printMethod = this[node.type]; + + if (!printMethod) { + throw new ReferenceError(`unknown node of type ${JSON.stringify(node.type)} with constructor ${JSON.stringify(node == null ? void 0 : node.constructor.name)}`); + } + + this._printStack.push(node); + + const oldInAux = this._insideAux; + this._insideAux = !node.loc; + + this._maybeAddAuxComment(this._insideAux && !oldInAux); + + let shouldPrintParens = needsParens(node, parent, this._printStack); + + if (this.format.retainFunctionParens && node.type === "FunctionExpression" && node.extra && node.extra.parenthesized) { + shouldPrintParens = true; + } + + if (shouldPrintParens) this.token("("); + + this._printLeadingComments(node); + + const loc = isProgram(node) || isFile(node) ? null : node.loc; + this.withSource("start", loc, () => { + printMethod.call(this, node, parent); + }); + + this._printTrailingComments(node); + + if (shouldPrintParens) this.token(")"); + + this._printStack.pop(); + + this.format.concise = oldConcise; + this._insideAux = oldInAux; + } + + _maybeAddAuxComment(enteredPositionlessNode) { + if (enteredPositionlessNode) this._printAuxBeforeComment(); + if (!this._insideAux) this._printAuxAfterComment(); + } + + _printAuxBeforeComment() { + if (this._printAuxAfterOnNextUserNode) return; + this._printAuxAfterOnNextUserNode = true; + const comment = this.format.auxiliaryCommentBefore; + + if (comment) { + this._printComment({ + type: "CommentBlock", + value: comment + }); + } + } + + _printAuxAfterComment() { + if (!this._printAuxAfterOnNextUserNode) return; + this._printAuxAfterOnNextUserNode = false; + const comment = this.format.auxiliaryCommentAfter; + + if (comment) { + this._printComment({ + type: "CommentBlock", + value: comment + }); + } + } + + getPossibleRaw(node) { + const extra = node.extra; + + if (extra && extra.raw != null && extra.rawValue != null && node.value === extra.rawValue) { + return extra.raw; + } + } + + printJoin(nodes, parent, opts = {}) { + if (!(nodes != null && nodes.length)) return; + if (opts.indent) this.indent(); + const newlineOpts = { + addNewlines: opts.addNewlines + }; + + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (!node) continue; + if (opts.statement) this._printNewline(true, node, parent, newlineOpts); + this.print(node, parent); + + if (opts.iterator) { + opts.iterator(node, i); + } + + if (opts.separator && i < nodes.length - 1) { + opts.separator.call(this); + } + + if (opts.statement) this._printNewline(false, node, parent, newlineOpts); + } + + if (opts.indent) this.dedent(); + } + + printAndIndentOnComments(node, parent) { + const indent = node.leadingComments && node.leadingComments.length > 0; + if (indent) this.indent(); + this.print(node, parent); + if (indent) this.dedent(); + } + + printBlock(parent) { + const node = parent.body; + + if (!isEmptyStatement(node)) { + this.space(); + } + + this.print(node, parent); + } + + _printTrailingComments(node) { + this._printComments(this._getComments(false, node)); + } + + _printLeadingComments(node) { + this._printComments(this._getComments(true, node), true); + } + + printInnerComments(node, indent = true) { + var _node$innerComments; + + if (!((_node$innerComments = node.innerComments) != null && _node$innerComments.length)) return; + if (indent) this.indent(); + + this._printComments(node.innerComments); + + if (indent) this.dedent(); + } + + printSequence(nodes, parent, opts = {}) { + opts.statement = true; + return this.printJoin(nodes, parent, opts); + } + + printList(items, parent, opts = {}) { + if (opts.separator == null) { + opts.separator = commaSeparator; + } + + return this.printJoin(items, parent, opts); + } + + _printNewline(leading, node, parent, opts) { + if (this.format.retainLines || this.format.compact) return; + + if (this.format.concise) { + this.space(); + return; + } + + let lines = 0; + + if (this._buf.hasContent()) { + if (!leading) lines++; + if (opts.addNewlines) lines += opts.addNewlines(leading, node) || 0; + const needs = leading ? needsWhitespaceBefore : needsWhitespaceAfter; + if (needs(node, parent)) lines++; + } + + this.newline(Math.min(2, lines)); + } + + _getComments(leading, node) { + return node && (leading ? node.leadingComments : node.trailingComments) || []; + } + + _printComment(comment, skipNewLines) { + if (!this.format.shouldPrintComment(comment.value)) return; + if (comment.ignore) return; + if (this._printedComments.has(comment)) return; + + this._printedComments.add(comment); + + const isBlockComment = comment.type === "CommentBlock"; + const printNewLines = isBlockComment && !skipNewLines && !this._noLineTerminator; + if (printNewLines && this._buf.hasContent()) this.newline(1); + const lastCharCode = this.getLastChar(); + + if (lastCharCode !== 91 && lastCharCode !== 123) { + this.space(); + } + + let val = !isBlockComment && !this._noLineTerminator ? `//${comment.value}\n` : `/*${comment.value}*/`; + + if (isBlockComment && this.format.indent.adjustMultilineComment) { + var _comment$loc; + + const offset = (_comment$loc = comment.loc) == null ? void 0 : _comment$loc.start.column; + + if (offset) { + const newlineRegex = new RegExp("\\n\\s{1," + offset + "}", "g"); + val = val.replace(newlineRegex, "\n"); + } + + const indentSize = Math.max(this._getIndent().length, this.format.retainLines ? 0 : this._buf.getCurrentColumn()); + val = val.replace(/\n(?!$)/g, `\n${" ".repeat(indentSize)}`); + } + + if (this.endsWith(47)) this._space(); + this.withSource("start", comment.loc, () => { + this._append(val); + }); + if (printNewLines) this.newline(1); + } + + _printComments(comments, inlinePureAnnotation) { + if (!(comments != null && comments.length)) return; + + if (inlinePureAnnotation && comments.length === 1 && PURE_ANNOTATION_RE.test(comments[0].value)) { + this._printComment(comments[0], this._buf.hasContent() && !this.endsWith(10)); + } else { + for (const comment of comments) { + this._printComment(comment); + } + } + } + + printAssertions(node) { + var _node$assertions; + + if ((_node$assertions = node.assertions) != null && _node$assertions.length) { + this.space(); + this.word("assert"); + this.space(); + this.token("{"); + this.space(); + this.printList(node.assertions, node); + this.space(); + this.token("}"); + } + } + +} + +Object.assign(Printer.prototype, generatorFunctions); +{ + Printer.prototype.Noop = function Noop() {}; +} +var _default = Printer; +exports.default = _default; + +function commaSeparator() { + this.token(","); + this.space(); +} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/source-map.js b/node_modules/@babel/generator/lib/source-map.js new file mode 100644 index 00000000..99da1def --- /dev/null +++ b/node_modules/@babel/generator/lib/source-map.js @@ -0,0 +1,78 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _sourceMap = require("source-map"); + +class SourceMap { + constructor(opts, code) { + this._cachedMap = void 0; + this._code = void 0; + this._opts = void 0; + this._rawMappings = void 0; + this._lastGenLine = void 0; + this._lastSourceLine = void 0; + this._lastSourceColumn = void 0; + this._cachedMap = null; + this._code = code; + this._opts = opts; + this._rawMappings = []; + } + + get() { + if (!this._cachedMap) { + const map = this._cachedMap = new _sourceMap.SourceMapGenerator({ + sourceRoot: this._opts.sourceRoot + }); + const code = this._code; + + if (typeof code === "string") { + map.setSourceContent(this._opts.sourceFileName.replace(/\\/g, "/"), code); + } else if (typeof code === "object") { + Object.keys(code).forEach(sourceFileName => { + map.setSourceContent(sourceFileName.replace(/\\/g, "/"), code[sourceFileName]); + }); + } + + this._rawMappings.forEach(mapping => map.addMapping(mapping), map); + } + + return this._cachedMap.toJSON(); + } + + getRawMappings() { + return this._rawMappings.slice(); + } + + mark(generatedLine, generatedColumn, line, column, identifierName, filename, force) { + if (this._lastGenLine !== generatedLine && line === null) return; + + if (!force && this._lastGenLine === generatedLine && this._lastSourceLine === line && this._lastSourceColumn === column) { + return; + } + + this._cachedMap = null; + this._lastGenLine = generatedLine; + this._lastSourceLine = line; + this._lastSourceColumn = column; + + this._rawMappings.push({ + name: identifierName || undefined, + generated: { + line: generatedLine, + column: generatedColumn + }, + source: line == null ? undefined : (filename || this._opts.sourceFileName).replace(/\\/g, "/"), + original: line == null ? undefined : { + line: line, + column: column + } + }); + } + +} + +exports.default = SourceMap; \ No newline at end of file diff --git a/node_modules/@babel/generator/package.json b/node_modules/@babel/generator/package.json new file mode 100644 index 00000000..b5c01ed8 --- /dev/null +++ b/node_modules/@babel/generator/package.json @@ -0,0 +1,36 @@ +{ + "name": "@babel/generator", + "version": "7.15.4", + "description": "Turns an AST into code.", + "author": "The Babel Team (https://babel.dev/team)", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-generator" + }, + "homepage": "https://babel.dev/docs/en/next/babel-generator", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20generator%22+is%3Aopen", + "main": "./lib/index.js", + "files": [ + "lib" + ], + "dependencies": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "devDependencies": { + "@babel/helper-fixtures": "7.14.5", + "@babel/parser": "7.15.4", + "@types/jsesc": "^2.5.0", + "@types/source-map": "^0.5.0", + "charcodes": "^0.2.0" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/LICENSE b/node_modules/@babel/helper-compilation-targets/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-compilation-targets/README.md b/node_modules/@babel/helper-compilation-targets/README.md new file mode 100644 index 00000000..af386ab0 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/README.md @@ -0,0 +1,19 @@ +# @babel/helper-compilation-targets + +> Helper functions on Babel compilation targets + +See our website [@babel/helper-compilation-targets](https://babeljs.io/docs/en/babel-helper-compilation-targets) for more information. + +## Install + +Using npm: + +```sh +npm install @babel/helper-compilation-targets +``` + +or using yarn: + +```sh +yarn add @babel/helper-compilation-targets +``` diff --git a/node_modules/@babel/helper-compilation-targets/lib/debug.js b/node_modules/@babel/helper-compilation-targets/lib/debug.js new file mode 100644 index 00000000..4e05fdd5 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/debug.js @@ -0,0 +1,33 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getInclusionReasons = getInclusionReasons; + +var _semver = require("semver"); + +var _pretty = require("./pretty"); + +var _utils = require("./utils"); + +function getInclusionReasons(item, targetVersions, list) { + const minVersions = list[item] || {}; + return Object.keys(targetVersions).reduce((result, env) => { + const minVersion = (0, _utils.getLowestImplementedVersion)(minVersions, env); + const targetVersion = targetVersions[env]; + + if (!minVersion) { + result[env] = (0, _pretty.prettifyVersion)(targetVersion); + } else { + const minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env); + const targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env); + + if (!targetIsUnreleased && (minIsUnreleased || _semver.lt(targetVersion.toString(), (0, _utils.semverify)(minVersion)))) { + result[env] = (0, _pretty.prettifyVersion)(targetVersion); + } + } + + return result; + }, {}); +} \ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/filter-items.js b/node_modules/@babel/helper-compilation-targets/lib/filter-items.js new file mode 100644 index 00000000..12be2e26 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/filter-items.js @@ -0,0 +1,88 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.targetsSupported = targetsSupported; +exports.isRequired = isRequired; +exports.default = filterItems; + +var _semver = require("semver"); + +var _plugins = require("@babel/compat-data/plugins"); + +var _utils = require("./utils"); + +function targetsSupported(target, support) { + const targetEnvironments = Object.keys(target); + + if (targetEnvironments.length === 0) { + return false; + } + + const unsupportedEnvironments = targetEnvironments.filter(environment => { + const lowestImplementedVersion = (0, _utils.getLowestImplementedVersion)(support, environment); + + if (!lowestImplementedVersion) { + return true; + } + + const lowestTargetedVersion = target[environment]; + + if ((0, _utils.isUnreleasedVersion)(lowestTargetedVersion, environment)) { + return false; + } + + if ((0, _utils.isUnreleasedVersion)(lowestImplementedVersion, environment)) { + return true; + } + + if (!_semver.valid(lowestTargetedVersion.toString())) { + throw new Error(`Invalid version passed for target "${environment}": "${lowestTargetedVersion}". ` + "Versions must be in semver format (major.minor.patch)"); + } + + return _semver.gt((0, _utils.semverify)(lowestImplementedVersion), lowestTargetedVersion.toString()); + }); + return unsupportedEnvironments.length === 0; +} + +function isRequired(name, targets, { + compatData = _plugins, + includes, + excludes +} = {}) { + if (excludes != null && excludes.has(name)) return false; + if (includes != null && includes.has(name)) return true; + return !targetsSupported(targets, compatData[name]); +} + +function filterItems(list, includes, excludes, targets, defaultIncludes, defaultExcludes, pluginSyntaxMap) { + const result = new Set(); + const options = { + compatData: list, + includes, + excludes + }; + + for (const item in list) { + if (isRequired(item, targets, options)) { + result.add(item); + } else if (pluginSyntaxMap) { + const shippedProposalsSyntax = pluginSyntaxMap.get(item); + + if (shippedProposalsSyntax) { + result.add(shippedProposalsSyntax); + } + } + } + + if (defaultIncludes) { + defaultIncludes.forEach(item => !excludes.has(item) && result.add(item)); + } + + if (defaultExcludes) { + defaultExcludes.forEach(item => !includes.has(item) && result.delete(item)); + } + + return result; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/index.js b/node_modules/@babel/helper-compilation-targets/lib/index.js new file mode 100644 index 00000000..a13e8fe3 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/index.js @@ -0,0 +1,255 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isBrowsersQueryValid = isBrowsersQueryValid; +exports.default = getTargets; +Object.defineProperty(exports, "unreleasedLabels", { + enumerable: true, + get: function () { + return _targets.unreleasedLabels; + } +}); +Object.defineProperty(exports, "TargetNames", { + enumerable: true, + get: function () { + return _options.TargetNames; + } +}); +Object.defineProperty(exports, "prettifyTargets", { + enumerable: true, + get: function () { + return _pretty.prettifyTargets; + } +}); +Object.defineProperty(exports, "getInclusionReasons", { + enumerable: true, + get: function () { + return _debug.getInclusionReasons; + } +}); +Object.defineProperty(exports, "filterItems", { + enumerable: true, + get: function () { + return _filterItems.default; + } +}); +Object.defineProperty(exports, "isRequired", { + enumerable: true, + get: function () { + return _filterItems.isRequired; + } +}); + +var _browserslist = require("browserslist"); + +var _helperValidatorOption = require("@babel/helper-validator-option"); + +var _nativeModules = require("@babel/compat-data/native-modules"); + +var _utils = require("./utils"); + +var _targets = require("./targets"); + +var _options = require("./options"); + +var _pretty = require("./pretty"); + +var _debug = require("./debug"); + +var _filterItems = require("./filter-items"); + +const ESM_SUPPORT = _nativeModules["es6.module"]; +const v = new _helperValidatorOption.OptionValidator("@babel/helper-compilation-targets"); + +function validateTargetNames(targets) { + const validTargets = Object.keys(_options.TargetNames); + + for (const target of Object.keys(targets)) { + if (!(target in _options.TargetNames)) { + throw new Error(v.formatMessage(`'${target}' is not a valid target +- Did you mean '${(0, _helperValidatorOption.findSuggestion)(target, validTargets)}'?`)); + } + } + + return targets; +} + +function isBrowsersQueryValid(browsers) { + return typeof browsers === "string" || Array.isArray(browsers) && browsers.every(b => typeof b === "string"); +} + +function validateBrowsers(browsers) { + v.invariant(browsers === undefined || isBrowsersQueryValid(browsers), `'${String(browsers)}' is not a valid browserslist query`); + return browsers; +} + +function getLowestVersions(browsers) { + return browsers.reduce((all, browser) => { + const [browserName, browserVersion] = browser.split(" "); + const normalizedBrowserName = _targets.browserNameMap[browserName]; + + if (!normalizedBrowserName) { + return all; + } + + try { + const splitVersion = browserVersion.split("-")[0].toLowerCase(); + const isSplitUnreleased = (0, _utils.isUnreleasedVersion)(splitVersion, browserName); + + if (!all[normalizedBrowserName]) { + all[normalizedBrowserName] = isSplitUnreleased ? splitVersion : (0, _utils.semverify)(splitVersion); + return all; + } + + const version = all[normalizedBrowserName]; + const isUnreleased = (0, _utils.isUnreleasedVersion)(version, browserName); + + if (isUnreleased && isSplitUnreleased) { + all[normalizedBrowserName] = (0, _utils.getLowestUnreleased)(version, splitVersion, browserName); + } else if (isUnreleased) { + all[normalizedBrowserName] = (0, _utils.semverify)(splitVersion); + } else if (!isUnreleased && !isSplitUnreleased) { + const parsedBrowserVersion = (0, _utils.semverify)(splitVersion); + all[normalizedBrowserName] = (0, _utils.semverMin)(version, parsedBrowserVersion); + } + } catch (e) {} + + return all; + }, {}); +} + +function outputDecimalWarning(decimalTargets) { + if (!decimalTargets.length) { + return; + } + + console.warn("Warning, the following targets are using a decimal version:\n"); + decimalTargets.forEach(({ + target, + value + }) => console.warn(` ${target}: ${value}`)); + console.warn(` +We recommend using a string for minor/patch versions to avoid numbers like 6.10 +getting parsed as 6.1, which can lead to unexpected behavior. +`); +} + +function semverifyTarget(target, value) { + try { + return (0, _utils.semverify)(value); + } catch (error) { + throw new Error(v.formatMessage(`'${value}' is not a valid value for 'targets.${target}'.`)); + } +} + +const targetParserMap = { + __default(target, value) { + const version = (0, _utils.isUnreleasedVersion)(value, target) ? value.toLowerCase() : semverifyTarget(target, value); + return [target, version]; + }, + + node(target, value) { + const parsed = value === true || value === "current" ? process.versions.node : semverifyTarget(target, value); + return [target, parsed]; + } + +}; + +function generateTargets(inputTargets) { + const input = Object.assign({}, inputTargets); + delete input.esmodules; + delete input.browsers; + return input; +} + +function resolveTargets(queries, env) { + const resolved = _browserslist(queries, { + mobileToDesktop: true, + env + }); + + return getLowestVersions(resolved); +} + +function getTargets(inputTargets = {}, options = {}) { + var _browsers; + + let { + browsers, + esmodules + } = inputTargets; + const { + configPath = "." + } = options; + validateBrowsers(browsers); + const input = generateTargets(inputTargets); + let targets = validateTargetNames(input); + const shouldParseBrowsers = !!browsers; + const hasTargets = shouldParseBrowsers || Object.keys(targets).length > 0; + const shouldSearchForConfig = !options.ignoreBrowserslistConfig && !hasTargets; + + if (!browsers && shouldSearchForConfig) { + browsers = _browserslist.loadConfig({ + config: options.configFile, + path: configPath, + env: options.browserslistEnv + }); + + if (browsers == null) { + { + browsers = []; + } + } + } + + if (esmodules && (esmodules !== "intersect" || !((_browsers = browsers) != null && _browsers.length))) { + browsers = Object.keys(ESM_SUPPORT).map(browser => `${browser} >= ${ESM_SUPPORT[browser]}`).join(", "); + esmodules = false; + } + + if (browsers) { + const queryBrowsers = resolveTargets(browsers, options.browserslistEnv); + + if (esmodules === "intersect") { + for (const browser of Object.keys(queryBrowsers)) { + const version = queryBrowsers[browser]; + + if (ESM_SUPPORT[browser]) { + queryBrowsers[browser] = (0, _utils.getHighestUnreleased)(version, (0, _utils.semverify)(ESM_SUPPORT[browser]), browser); + } else { + delete queryBrowsers[browser]; + } + } + } + + targets = Object.assign(queryBrowsers, targets); + } + + const result = {}; + const decimalWarnings = []; + + for (const target of Object.keys(targets).sort()) { + var _targetParserMap$targ; + + const value = targets[target]; + + if (typeof value === "number" && value % 1 !== 0) { + decimalWarnings.push({ + target, + value + }); + } + + const parser = (_targetParserMap$targ = targetParserMap[target]) != null ? _targetParserMap$targ : targetParserMap.__default; + const [parsedTarget, parsedValue] = parser(target, value); + + if (parsedValue) { + result[parsedTarget] = parsedValue; + } + } + + outputDecimalWarning(decimalWarnings); + return result; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/options.js b/node_modules/@babel/helper-compilation-targets/lib/options.js new file mode 100644 index 00000000..cbf4de04 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/options.js @@ -0,0 +1,21 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TargetNames = void 0; +const TargetNames = { + node: "node", + chrome: "chrome", + opera: "opera", + edge: "edge", + firefox: "firefox", + safari: "safari", + ie: "ie", + ios: "ios", + android: "android", + electron: "electron", + samsung: "samsung", + rhino: "rhino" +}; +exports.TargetNames = TargetNames; \ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/pretty.js b/node_modules/@babel/helper-compilation-targets/lib/pretty.js new file mode 100644 index 00000000..0dfd9208 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/pretty.js @@ -0,0 +1,47 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.prettifyVersion = prettifyVersion; +exports.prettifyTargets = prettifyTargets; + +var _semver = require("semver"); + +var _targets = require("./targets"); + +function prettifyVersion(version) { + if (typeof version !== "string") { + return version; + } + + const parts = [_semver.major(version)]; + + const minor = _semver.minor(version); + + const patch = _semver.patch(version); + + if (minor || patch) { + parts.push(minor); + } + + if (patch) { + parts.push(patch); + } + + return parts.join("."); +} + +function prettifyTargets(targets) { + return Object.keys(targets).reduce((results, target) => { + let value = targets[target]; + const unreleasedLabel = _targets.unreleasedLabels[target]; + + if (typeof value === "string" && unreleasedLabel !== value) { + value = prettifyVersion(value); + } + + results[target] = value; + return results; + }, {}); +} \ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/targets.js b/node_modules/@babel/helper-compilation-targets/lib/targets.js new file mode 100644 index 00000000..9cd9e544 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/targets.js @@ -0,0 +1,27 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.browserNameMap = exports.unreleasedLabels = void 0; +const unreleasedLabels = { + safari: "tp" +}; +exports.unreleasedLabels = unreleasedLabels; +const browserNameMap = { + and_chr: "chrome", + and_ff: "firefox", + android: "android", + chrome: "chrome", + edge: "edge", + firefox: "firefox", + ie: "ie", + ie_mob: "ie", + ios_saf: "ios", + node: "node", + op_mob: "opera", + opera: "opera", + safari: "safari", + samsung: "samsung" +}; +exports.browserNameMap = browserNameMap; \ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/types.js b/node_modules/@babel/helper-compilation-targets/lib/types.js new file mode 100644 index 00000000..e69de29b diff --git a/node_modules/@babel/helper-compilation-targets/lib/utils.js b/node_modules/@babel/helper-compilation-targets/lib/utils.js new file mode 100644 index 00000000..262ef442 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/utils.js @@ -0,0 +1,69 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.semverMin = semverMin; +exports.semverify = semverify; +exports.isUnreleasedVersion = isUnreleasedVersion; +exports.getLowestUnreleased = getLowestUnreleased; +exports.getHighestUnreleased = getHighestUnreleased; +exports.getLowestImplementedVersion = getLowestImplementedVersion; + +var _semver = require("semver"); + +var _helperValidatorOption = require("@babel/helper-validator-option"); + +var _targets = require("./targets"); + +const versionRegExp = /^(\d+|\d+.\d+)$/; +const v = new _helperValidatorOption.OptionValidator("@babel/helper-compilation-targets"); + +function semverMin(first, second) { + return first && _semver.lt(first, second) ? first : second; +} + +function semverify(version) { + if (typeof version === "string" && _semver.valid(version)) { + return version; + } + + v.invariant(typeof version === "number" || typeof version === "string" && versionRegExp.test(version), `'${version}' is not a valid version`); + const split = version.toString().split("."); + + while (split.length < 3) { + split.push("0"); + } + + return split.join("."); +} + +function isUnreleasedVersion(version, env) { + const unreleasedLabel = _targets.unreleasedLabels[env]; + return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase(); +} + +function getLowestUnreleased(a, b, env) { + const unreleasedLabel = _targets.unreleasedLabels[env]; + const hasUnreleased = [a, b].some(item => item === unreleasedLabel); + + if (hasUnreleased) { + return a === hasUnreleased ? b : a || b; + } + + return semverMin(a, b); +} + +function getHighestUnreleased(a, b, env) { + return getLowestUnreleased(a, b, env) === a ? b : a; +} + +function getLowestImplementedVersion(plugin, environment) { + const result = plugin[environment]; + + if (!result && environment === "android") { + return plugin.chrome; + } + + return result; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/package.json b/node_modules/@babel/helper-compilation-targets/package.json new file mode 100644 index 00000000..368163a0 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/package.json @@ -0,0 +1,40 @@ +{ + "name": "@babel/helper-compilation-targets", + "version": "7.15.4", + "author": "The Babel Team (https://babel.dev/team)", + "license": "MIT", + "description": "Helper functions on Babel compilation targets", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-compilation-targets" + }, + "main": "./lib/index.js", + "exports": { + ".": "./lib/index.js" + }, + "publishConfig": { + "access": "public" + }, + "keywords": [ + "babel", + "babel-plugin" + ], + "dependencies": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + }, + "devDependencies": { + "@babel/core": "7.15.4", + "@babel/helper-plugin-test-runner": "7.14.5", + "@types/semver": "^5.5.0" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/helper-function-name/LICENSE b/node_modules/@babel/helper-function-name/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-function-name/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-function-name/README.md b/node_modules/@babel/helper-function-name/README.md new file mode 100644 index 00000000..36a65931 --- /dev/null +++ b/node_modules/@babel/helper-function-name/README.md @@ -0,0 +1,19 @@ +# @babel/helper-function-name + +> Helper function to change the property 'name' of every function + +See our website [@babel/helper-function-name](https://babeljs.io/docs/en/babel-helper-function-name) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-function-name +``` + +or using yarn: + +```sh +yarn add @babel/helper-function-name --dev +``` diff --git a/node_modules/@babel/helper-function-name/lib/index.js b/node_modules/@babel/helper-function-name/lib/index.js new file mode 100644 index 00000000..59e88e9b --- /dev/null +++ b/node_modules/@babel/helper-function-name/lib/index.js @@ -0,0 +1,188 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _helperGetFunctionArity = require("@babel/helper-get-function-arity"); + +var _template = require("@babel/template"); + +var _t = require("@babel/types"); + +const { + NOT_LOCAL_BINDING, + cloneNode, + identifier, + isAssignmentExpression, + isFunction, + isIdentifier, + isLiteral, + isNullLiteral, + isObjectMethod, + isObjectProperty, + isRegExpLiteral, + isTemplateLiteral, + isVariableDeclarator, + toBindingIdentifierName +} = _t; +const buildPropertyMethodAssignmentWrapper = (0, _template.default)(` + (function (FUNCTION_KEY) { + function FUNCTION_ID() { + return FUNCTION_KEY.apply(this, arguments); + } + + FUNCTION_ID.toString = function () { + return FUNCTION_KEY.toString(); + } + + return FUNCTION_ID; + })(FUNCTION) +`); +const buildGeneratorPropertyMethodAssignmentWrapper = (0, _template.default)(` + (function (FUNCTION_KEY) { + function* FUNCTION_ID() { + return yield* FUNCTION_KEY.apply(this, arguments); + } + + FUNCTION_ID.toString = function () { + return FUNCTION_KEY.toString(); + }; + + return FUNCTION_ID; + })(FUNCTION) +`); +const visitor = { + "ReferencedIdentifier|BindingIdentifier"(path, state) { + if (path.node.name !== state.name) return; + const localDeclar = path.scope.getBindingIdentifier(state.name); + if (localDeclar !== state.outerDeclar) return; + state.selfReference = true; + path.stop(); + } + +}; + +function getNameFromLiteralId(id) { + if (isNullLiteral(id)) { + return "null"; + } + + if (isRegExpLiteral(id)) { + return `_${id.pattern}_${id.flags}`; + } + + if (isTemplateLiteral(id)) { + return id.quasis.map(quasi => quasi.value.raw).join(""); + } + + if (id.value !== undefined) { + return id.value + ""; + } + + return ""; +} + +function wrap(state, method, id, scope) { + if (state.selfReference) { + if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) { + scope.rename(id.name); + } else { + if (!isFunction(method)) return; + let build = buildPropertyMethodAssignmentWrapper; + + if (method.generator) { + build = buildGeneratorPropertyMethodAssignmentWrapper; + } + + const template = build({ + FUNCTION: method, + FUNCTION_ID: id, + FUNCTION_KEY: scope.generateUidIdentifier(id.name) + }).expression; + const params = template.callee.body.body[0].params; + + for (let i = 0, len = (0, _helperGetFunctionArity.default)(method); i < len; i++) { + params.push(scope.generateUidIdentifier("x")); + } + + return template; + } + } + + method.id = id; + scope.getProgramParent().references[id.name] = true; +} + +function visit(node, name, scope) { + const state = { + selfAssignment: false, + selfReference: false, + outerDeclar: scope.getBindingIdentifier(name), + references: [], + name: name + }; + const binding = scope.getOwnBinding(name); + + if (binding) { + if (binding.kind === "param") { + state.selfReference = true; + } else {} + } else if (state.outerDeclar || scope.hasGlobal(name)) { + scope.traverse(node, visitor, state); + } + + return state; +} + +function _default({ + node, + parent, + scope, + id +}, localBinding = false) { + if (node.id) return; + + if ((isObjectProperty(parent) || isObjectMethod(parent, { + kind: "method" + })) && (!parent.computed || isLiteral(parent.key))) { + id = parent.key; + } else if (isVariableDeclarator(parent)) { + id = parent.id; + + if (isIdentifier(id) && !localBinding) { + const binding = scope.parent.getBinding(id.name); + + if (binding && binding.constant && scope.getBinding(id.name) === binding) { + node.id = cloneNode(id); + node.id[NOT_LOCAL_BINDING] = true; + return; + } + } + } else if (isAssignmentExpression(parent, { + operator: "=" + })) { + id = parent.left; + } else if (!id) { + return; + } + + let name; + + if (id && isLiteral(id)) { + name = getNameFromLiteralId(id); + } else if (id && isIdentifier(id)) { + name = id.name; + } + + if (name === undefined) { + return; + } + + name = toBindingIdentifierName(name); + id = identifier(name); + id[NOT_LOCAL_BINDING] = true; + const state = visit(node, name, scope); + return wrap(state, node, id, scope) || node; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-function-name/package.json b/node_modules/@babel/helper-function-name/package.json new file mode 100644 index 00000000..68734a59 --- /dev/null +++ b/node_modules/@babel/helper-function-name/package.json @@ -0,0 +1,25 @@ +{ + "name": "@babel/helper-function-name", + "version": "7.15.4", + "description": "Helper function to change the property 'name' of every function", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-function-name" + }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-function-name", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/node_modules/@babel/helper-get-function-arity/LICENSE b/node_modules/@babel/helper-get-function-arity/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-get-function-arity/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-get-function-arity/README.md b/node_modules/@babel/helper-get-function-arity/README.md new file mode 100644 index 00000000..8fa48c13 --- /dev/null +++ b/node_modules/@babel/helper-get-function-arity/README.md @@ -0,0 +1,19 @@ +# @babel/helper-get-function-arity + +> Helper function to get function arity + +See our website [@babel/helper-get-function-arity](https://babeljs.io/docs/en/babel-helper-get-function-arity) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-get-function-arity +``` + +or using yarn: + +```sh +yarn add @babel/helper-get-function-arity --dev +``` diff --git a/node_modules/@babel/helper-get-function-arity/lib/index.js b/node_modules/@babel/helper-get-function-arity/lib/index.js new file mode 100644 index 00000000..61e22edd --- /dev/null +++ b/node_modules/@babel/helper-get-function-arity/lib/index.js @@ -0,0 +1,27 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _t = require("@babel/types"); + +const { + isAssignmentPattern, + isRestElement +} = _t; + +function _default(node) { + const params = node.params; + + for (let i = 0; i < params.length; i++) { + const param = params[i]; + + if (isAssignmentPattern(param) || isRestElement(param)) { + return i; + } + } + + return params.length; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-get-function-arity/package.json b/node_modules/@babel/helper-get-function-arity/package.json new file mode 100644 index 00000000..648e8276 --- /dev/null +++ b/node_modules/@babel/helper-get-function-arity/package.json @@ -0,0 +1,23 @@ +{ + "name": "@babel/helper-get-function-arity", + "version": "7.15.4", + "description": "Helper function to get function arity", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-get-function-arity" + }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-get-function-arity", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/node_modules/@babel/helper-hoist-variables/LICENSE b/node_modules/@babel/helper-hoist-variables/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-hoist-variables/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-hoist-variables/README.md b/node_modules/@babel/helper-hoist-variables/README.md new file mode 100644 index 00000000..d3eb8fc4 --- /dev/null +++ b/node_modules/@babel/helper-hoist-variables/README.md @@ -0,0 +1,19 @@ +# @babel/helper-hoist-variables + +> Helper function to hoist variables + +See our website [@babel/helper-hoist-variables](https://babeljs.io/docs/en/babel-helper-hoist-variables) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-hoist-variables +``` + +or using yarn: + +```sh +yarn add @babel/helper-hoist-variables --dev +``` diff --git a/node_modules/@babel/helper-hoist-variables/lib/index.js b/node_modules/@babel/helper-hoist-variables/lib/index.js new file mode 100644 index 00000000..31fb8470 --- /dev/null +++ b/node_modules/@babel/helper-hoist-variables/lib/index.js @@ -0,0 +1,58 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = hoistVariables; + +var _t = require("@babel/types"); + +const { + assignmentExpression, + expressionStatement, + identifier +} = _t; +const visitor = { + Scope(path, state) { + if (state.kind === "let") path.skip(); + }, + + FunctionParent(path) { + path.skip(); + }, + + VariableDeclaration(path, state) { + if (state.kind && path.node.kind !== state.kind) return; + const nodes = []; + const declarations = path.get("declarations"); + let firstId; + + for (const declar of declarations) { + firstId = declar.node.id; + + if (declar.node.init) { + nodes.push(expressionStatement(assignmentExpression("=", declar.node.id, declar.node.init))); + } + + for (const name of Object.keys(declar.getBindingIdentifiers())) { + state.emit(identifier(name), name, declar.node.init !== null); + } + } + + if (path.parentPath.isFor({ + left: path.node + })) { + path.replaceWith(firstId); + } else { + path.replaceWithMultiple(nodes); + } + } + +}; + +function hoistVariables(path, emit, kind = "var") { + path.traverse(visitor, { + kind, + emit + }); +} \ No newline at end of file diff --git a/node_modules/@babel/helper-hoist-variables/package.json b/node_modules/@babel/helper-hoist-variables/package.json new file mode 100644 index 00000000..7621f99a --- /dev/null +++ b/node_modules/@babel/helper-hoist-variables/package.json @@ -0,0 +1,27 @@ +{ + "name": "@babel/helper-hoist-variables", + "version": "7.15.4", + "description": "Helper function to hoist variables", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-hoist-variables" + }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-hoist-variables", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "TODO": "The @babel/traverse dependency is only needed for the NodePath TS type. We can consider exporting it from @babel/core.", + "devDependencies": { + "@babel/traverse": "7.15.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/node_modules/@babel/helper-member-expression-to-functions/LICENSE b/node_modules/@babel/helper-member-expression-to-functions/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-member-expression-to-functions/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-member-expression-to-functions/README.md b/node_modules/@babel/helper-member-expression-to-functions/README.md new file mode 100644 index 00000000..01c551d6 --- /dev/null +++ b/node_modules/@babel/helper-member-expression-to-functions/README.md @@ -0,0 +1,19 @@ +# @babel/helper-member-expression-to-functions + +> Helper function to replace certain member expressions with function calls + +See our website [@babel/helper-member-expression-to-functions](https://babeljs.io/docs/en/babel-helper-member-expression-to-functions) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-member-expression-to-functions +``` + +or using yarn: + +```sh +yarn add @babel/helper-member-expression-to-functions --dev +``` diff --git a/node_modules/@babel/helper-member-expression-to-functions/lib/index.js b/node_modules/@babel/helper-member-expression-to-functions/lib/index.js new file mode 100644 index 00000000..564a056d --- /dev/null +++ b/node_modules/@babel/helper-member-expression-to-functions/lib/index.js @@ -0,0 +1,453 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var _t = require('@babel/types'); + +function _interopNamespace(e) { + if (e && e.__esModule) return e; + var n = Object.create(null); + if (e) { + Object.keys(e).forEach(function (k) { + if (k !== 'default') { + var d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: function () { + return e[k]; + } + }); + } + }); + } + n['default'] = e; + return Object.freeze(n); +} + +var _t__namespace = /*#__PURE__*/_interopNamespace(_t); + +function willPathCastToBoolean(path) { + const maybeWrapped = path; + const { + node, + parentPath + } = maybeWrapped; + + if (parentPath.isLogicalExpression()) { + const { + operator, + right + } = parentPath.node; + + if (operator === "&&" || operator === "||" || operator === "??" && node === right) { + return willPathCastToBoolean(parentPath); + } + } + + if (parentPath.isSequenceExpression()) { + const { + expressions + } = parentPath.node; + + if (expressions[expressions.length - 1] === node) { + return willPathCastToBoolean(parentPath); + } else { + return true; + } + } + + return parentPath.isConditional({ + test: node + }) || parentPath.isUnaryExpression({ + operator: "!" + }) || parentPath.isLoop({ + test: node + }); +} + +const { + LOGICAL_OPERATORS, + arrowFunctionExpression, + assignmentExpression, + binaryExpression, + booleanLiteral, + callExpression, + cloneNode, + conditionalExpression, + identifier, + isMemberExpression, + isOptionalCallExpression, + isOptionalMemberExpression, + isUpdateExpression, + logicalExpression, + memberExpression, + nullLiteral, + numericLiteral, + optionalCallExpression, + optionalMemberExpression, + sequenceExpression, + unaryExpression +} = _t__namespace; + +class AssignmentMemoiser { + constructor() { + this._map = void 0; + this._map = new WeakMap(); + } + + has(key) { + return this._map.has(key); + } + + get(key) { + if (!this.has(key)) return; + + const record = this._map.get(key); + + const { + value + } = record; + record.count--; + + if (record.count === 0) { + return assignmentExpression("=", value, key); + } + + return value; + } + + set(key, value, count) { + return this._map.set(key, { + count, + value + }); + } + +} + +function toNonOptional(path, base) { + const { + node + } = path; + + if (isOptionalMemberExpression(node)) { + return memberExpression(base, node.property, node.computed); + } + + if (path.isOptionalCallExpression()) { + const callee = path.get("callee"); + + if (path.node.optional && callee.isOptionalMemberExpression()) { + const { + object + } = callee.node; + const context = path.scope.maybeGenerateMemoised(object) || object; + callee.get("object").replaceWith(assignmentExpression("=", context, object)); + return callExpression(memberExpression(base, identifier("call")), [context, ...path.node.arguments]); + } + + return callExpression(base, path.node.arguments); + } + + return path.node; +} + +function isInDetachedTree(path) { + while (path) { + if (path.isProgram()) break; + const { + parentPath, + container, + listKey + } = path; + const parentNode = parentPath.node; + + if (listKey) { + if (container !== parentNode[listKey]) return true; + } else { + if (container !== parentNode) return true; + } + + path = parentPath; + } + + return false; +} + +const handle = { + memoise() {}, + + handle(member, noDocumentAll) { + const { + node, + parent, + parentPath, + scope + } = member; + + if (member.isOptionalMemberExpression()) { + if (isInDetachedTree(member)) return; + const endPath = member.find(({ + node, + parent + }) => { + if (isOptionalMemberExpression(parent)) { + return parent.optional || parent.object !== node; + } + + if (isOptionalCallExpression(parent)) { + return node !== member.node && parent.optional || parent.callee !== node; + } + + return true; + }); + + if (scope.path.isPattern()) { + endPath.replaceWith(callExpression(arrowFunctionExpression([], endPath.node), [])); + return; + } + + const willEndPathCastToBoolean = willPathCastToBoolean(endPath); + const rootParentPath = endPath.parentPath; + + if (rootParentPath.isUpdateExpression({ + argument: node + }) || rootParentPath.isAssignmentExpression({ + left: node + })) { + throw member.buildCodeFrameError(`can't handle assignment`); + } + + const isDeleteOperation = rootParentPath.isUnaryExpression({ + operator: "delete" + }); + + if (isDeleteOperation && endPath.isOptionalMemberExpression() && endPath.get("property").isPrivateName()) { + throw member.buildCodeFrameError(`can't delete a private class element`); + } + + let startingOptional = member; + + for (;;) { + if (startingOptional.isOptionalMemberExpression()) { + if (startingOptional.node.optional) break; + startingOptional = startingOptional.get("object"); + continue; + } else if (startingOptional.isOptionalCallExpression()) { + if (startingOptional.node.optional) break; + startingOptional = startingOptional.get("callee"); + continue; + } + + throw new Error(`Internal error: unexpected ${startingOptional.node.type}`); + } + + const startingProp = startingOptional.isOptionalMemberExpression() ? "object" : "callee"; + const startingNode = startingOptional.node[startingProp]; + const baseNeedsMemoised = scope.maybeGenerateMemoised(startingNode); + const baseRef = baseNeedsMemoised != null ? baseNeedsMemoised : startingNode; + const parentIsOptionalCall = parentPath.isOptionalCallExpression({ + callee: node + }); + + const isOptionalCall = parent => parentIsOptionalCall; + + const parentIsCall = parentPath.isCallExpression({ + callee: node + }); + startingOptional.replaceWith(toNonOptional(startingOptional, baseRef)); + + if (isOptionalCall()) { + if (parent.optional) { + parentPath.replaceWith(this.optionalCall(member, parent.arguments)); + } else { + parentPath.replaceWith(this.call(member, parent.arguments)); + } + } else if (parentIsCall) { + member.replaceWith(this.boundGet(member)); + } else { + member.replaceWith(this.get(member)); + } + + let regular = member.node; + + for (let current = member; current !== endPath;) { + const parentPath = current.parentPath; + + if (parentPath === endPath && isOptionalCall() && parent.optional) { + regular = parentPath.node; + break; + } + + regular = toNonOptional(parentPath, regular); + current = parentPath; + } + + let context; + const endParentPath = endPath.parentPath; + + if (isMemberExpression(regular) && endParentPath.isOptionalCallExpression({ + callee: endPath.node, + optional: true + })) { + const { + object + } = regular; + context = member.scope.maybeGenerateMemoised(object); + + if (context) { + regular.object = assignmentExpression("=", context, object); + } + } + + let replacementPath = endPath; + + if (isDeleteOperation) { + replacementPath = endParentPath; + regular = endParentPath.node; + } + + const baseMemoised = baseNeedsMemoised ? assignmentExpression("=", cloneNode(baseRef), cloneNode(startingNode)) : cloneNode(baseRef); + + if (willEndPathCastToBoolean) { + let nonNullishCheck; + + if (noDocumentAll) { + nonNullishCheck = binaryExpression("!=", baseMemoised, nullLiteral()); + } else { + nonNullishCheck = logicalExpression("&&", binaryExpression("!==", baseMemoised, nullLiteral()), binaryExpression("!==", cloneNode(baseRef), scope.buildUndefinedNode())); + } + + replacementPath.replaceWith(logicalExpression("&&", nonNullishCheck, regular)); + } else { + let nullishCheck; + + if (noDocumentAll) { + nullishCheck = binaryExpression("==", baseMemoised, nullLiteral()); + } else { + nullishCheck = logicalExpression("||", binaryExpression("===", baseMemoised, nullLiteral()), binaryExpression("===", cloneNode(baseRef), scope.buildUndefinedNode())); + } + + replacementPath.replaceWith(conditionalExpression(nullishCheck, isDeleteOperation ? booleanLiteral(true) : scope.buildUndefinedNode(), regular)); + } + + if (context) { + const endParent = endParentPath.node; + endParentPath.replaceWith(optionalCallExpression(optionalMemberExpression(endParent.callee, identifier("call"), false, true), [cloneNode(context), ...endParent.arguments], false)); + } + + return; + } + + if (isUpdateExpression(parent, { + argument: node + })) { + if (this.simpleSet) { + member.replaceWith(this.simpleSet(member)); + return; + } + + const { + operator, + prefix + } = parent; + this.memoise(member, 2); + const value = binaryExpression(operator[0], unaryExpression("+", this.get(member)), numericLiteral(1)); + + if (prefix) { + parentPath.replaceWith(this.set(member, value)); + } else { + const { + scope + } = member; + const ref = scope.generateUidIdentifierBasedOnNode(node); + scope.push({ + id: ref + }); + value.left = assignmentExpression("=", cloneNode(ref), value.left); + parentPath.replaceWith(sequenceExpression([this.set(member, value), cloneNode(ref)])); + } + + return; + } + + if (parentPath.isAssignmentExpression({ + left: node + })) { + if (this.simpleSet) { + member.replaceWith(this.simpleSet(member)); + return; + } + + const { + operator, + right: value + } = parentPath.node; + + if (operator === "=") { + parentPath.replaceWith(this.set(member, value)); + } else { + const operatorTrunc = operator.slice(0, -1); + + if (LOGICAL_OPERATORS.includes(operatorTrunc)) { + this.memoise(member, 1); + parentPath.replaceWith(logicalExpression(operatorTrunc, this.get(member), this.set(member, value))); + } else { + this.memoise(member, 2); + parentPath.replaceWith(this.set(member, binaryExpression(operatorTrunc, this.get(member), value))); + } + } + + return; + } + + if (parentPath.isCallExpression({ + callee: node + })) { + parentPath.replaceWith(this.call(member, parentPath.node.arguments)); + return; + } + + if (parentPath.isOptionalCallExpression({ + callee: node + })) { + if (scope.path.isPattern()) { + parentPath.replaceWith(callExpression(arrowFunctionExpression([], parentPath.node), [])); + return; + } + + parentPath.replaceWith(this.optionalCall(member, parentPath.node.arguments)); + return; + } + + if (parentPath.isForXStatement({ + left: node + }) || parentPath.isObjectProperty({ + value: node + }) && parentPath.parentPath.isObjectPattern() || parentPath.isAssignmentPattern({ + left: node + }) && parentPath.parentPath.isObjectProperty({ + value: parent + }) && parentPath.parentPath.parentPath.isObjectPattern() || parentPath.isArrayPattern() || parentPath.isAssignmentPattern({ + left: node + }) && parentPath.parentPath.isArrayPattern() || parentPath.isRestElement()) { + member.replaceWith(this.destructureSet(member)); + return; + } + + if (parentPath.isTaggedTemplateExpression()) { + member.replaceWith(this.boundGet(member)); + } else { + member.replaceWith(this.get(member)); + } + } + +}; +function memberExpressionToFunctions(path, visitor, state) { + path.traverse(visitor, Object.assign({}, handle, state, { + memoiser: new AssignmentMemoiser() + })); +} + +exports.default = memberExpressionToFunctions; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@babel/helper-member-expression-to-functions/lib/index.js.map b/node_modules/@babel/helper-member-expression-to-functions/lib/index.js.map new file mode 100644 index 00000000..6f05e3c7 --- /dev/null +++ b/node_modules/@babel/helper-member-expression-to-functions/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../src/util.ts","../src/index.ts"],"sourcesContent":["import type { NodePath } from \"@babel/traverse\";\n\n/**\n * Test if a NodePath will be cast to boolean when evaluated.\n *\n * @example\n * // returns true\n * const nodePathAQDotB = NodePath(\"if (a?.#b) {}\").get(\"test\"); // a?.#b\n * willPathCastToBoolean(nodePathAQDotB)\n * @example\n * // returns false\n * willPathCastToBoolean(NodePath(\"a?.#b\"))\n * @todo Respect transparent expression wrappers\n * @see {@link packages/babel-plugin-proposal-optional-chaining/src/util.js}\n * @param {NodePath} path\n * @returns {boolean}\n */\nexport function willPathCastToBoolean(path: NodePath): boolean {\n const maybeWrapped = path;\n const { node, parentPath } = maybeWrapped;\n if (parentPath.isLogicalExpression()) {\n const { operator, right } = parentPath.node;\n if (\n operator === \"&&\" ||\n operator === \"||\" ||\n (operator === \"??\" && node === right)\n ) {\n return willPathCastToBoolean(parentPath);\n }\n }\n if (parentPath.isSequenceExpression()) {\n const { expressions } = parentPath.node;\n if (expressions[expressions.length - 1] === node) {\n return willPathCastToBoolean(parentPath);\n } else {\n // if it is in the middle of a sequence expression, we don't\n // care the return value so just cast to boolean for smaller\n // output\n return true;\n }\n }\n return (\n parentPath.isConditional({ test: node }) ||\n parentPath.isUnaryExpression({ operator: \"!\" }) ||\n parentPath.isLoop({ test: node })\n );\n}\n","import type { NodePath, Visitor } from \"@babel/traverse\";\nimport {\n LOGICAL_OPERATORS,\n arrowFunctionExpression,\n assignmentExpression,\n binaryExpression,\n booleanLiteral,\n callExpression,\n cloneNode,\n conditionalExpression,\n identifier,\n isMemberExpression,\n isOptionalCallExpression,\n isOptionalMemberExpression,\n isUpdateExpression,\n logicalExpression,\n memberExpression,\n nullLiteral,\n numericLiteral,\n optionalCallExpression,\n optionalMemberExpression,\n sequenceExpression,\n unaryExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { willPathCastToBoolean } from \"./util\";\n\nclass AssignmentMemoiser {\n private _map: WeakMap;\n constructor() {\n this._map = new WeakMap();\n }\n\n has(key: t.Expression) {\n return this._map.has(key);\n }\n\n get(key: t.Expression) {\n if (!this.has(key)) return;\n\n const record = this._map.get(key);\n const { value } = record;\n\n record.count--;\n if (record.count === 0) {\n // The `count` access is the outermost function call (hopefully), so it\n // does the assignment.\n return assignmentExpression(\"=\", value, key);\n }\n return value;\n }\n\n set(key: t.Expression, value: t.LVal, count: number) {\n return this._map.set(key, { count, value });\n }\n}\n\nfunction toNonOptional(\n path: NodePath,\n base: t.Expression,\n): t.Expression {\n const { node } = path;\n if (isOptionalMemberExpression(node)) {\n return memberExpression(base, node.property, node.computed);\n }\n\n if (path.isOptionalCallExpression()) {\n const callee = path.get(\"callee\");\n if (path.node.optional && callee.isOptionalMemberExpression()) {\n const { object } = callee.node;\n const context = path.scope.maybeGenerateMemoised(object) || object;\n callee\n .get(\"object\")\n .replaceWith(assignmentExpression(\"=\", context as t.LVal, object));\n\n return callExpression(memberExpression(base, identifier(\"call\")), [\n context,\n ...path.node.arguments,\n ]);\n }\n\n return callExpression(base, path.node.arguments);\n }\n\n return path.node;\n}\n\n// Determines if the current path is in a detached tree. This can happen when\n// we are iterating on a path, and replace an ancestor with a new node. Babel\n// doesn't always stop traversing the old node tree, and that can cause\n// inconsistencies.\nfunction isInDetachedTree(path: NodePath) {\n while (path) {\n if (path.isProgram()) break;\n\n const { parentPath, container, listKey } = path;\n const parentNode = parentPath.node;\n if (listKey) {\n if (container !== parentNode[listKey]) return true;\n } else {\n if (container !== parentNode) return true;\n }\n\n path = parentPath;\n }\n\n return false;\n}\n\ntype Member = NodePath;\n\nconst handle = {\n memoise() {\n // noop.\n },\n\n handle(this: HandlerState, member: Member, noDocumentAll: boolean) {\n const { node, parent, parentPath, scope } = member;\n\n if (member.isOptionalMemberExpression()) {\n // Transforming optional chaining requires we replace ancestors.\n if (isInDetachedTree(member)) return;\n\n // We're looking for the end of _this_ optional chain, which is actually\n // the \"rightmost\" property access of the chain. This is because\n // everything up to that property access is \"optional\".\n //\n // Let's take the case of `FOO?.BAR.baz?.qux`, with `FOO?.BAR` being our\n // member. The \"end\" to most users would be `qux` property access.\n // Everything up to it could be skipped if it `FOO` were nullish. But\n // actually, we can consider the `baz` access to be the end. So we're\n // looking for the nearest optional chain that is `optional: true`.\n const endPath = member.find(({ node, parent }) => {\n if (isOptionalMemberExpression(parent)) {\n // We need to check `parent.object` since we could be inside the\n // computed expression of a `bad?.[FOO?.BAR]`. In this case, the\n // endPath is the `FOO?.BAR` member itself.\n return parent.optional || parent.object !== node;\n }\n if (isOptionalCallExpression(parent)) {\n // Checking `parent.callee` since we could be in the arguments, eg\n // `bad?.(FOO?.BAR)`.\n // Also skip `FOO?.BAR` in `FOO?.BAR?.()` since we need to transform the optional call to ensure proper this\n return (\n // In FOO?.#BAR?.(), endPath points the optional call expression so we skip FOO?.#BAR\n (node !== member.node && parent.optional) || parent.callee !== node\n );\n }\n return true;\n }) as NodePath;\n\n // Replace `function (a, x = a.b?.#c) {}` to `function (a, x = (() => a.b?.#c)() ){}`\n // so the temporary variable can be injected in correct scope\n // This can be further optimized to avoid unecessary IIFE\n if (scope.path.isPattern()) {\n endPath.replaceWith(\n // The injected member will be queued and eventually transformed when visited\n callExpression(arrowFunctionExpression([], endPath.node), []),\n );\n return;\n }\n\n const willEndPathCastToBoolean = willPathCastToBoolean(endPath);\n\n const rootParentPath = endPath.parentPath;\n if (\n rootParentPath.isUpdateExpression({ argument: node }) ||\n rootParentPath.isAssignmentExpression({ left: node })\n ) {\n throw member.buildCodeFrameError(`can't handle assignment`);\n }\n const isDeleteOperation = rootParentPath.isUnaryExpression({\n operator: \"delete\",\n });\n if (\n isDeleteOperation &&\n endPath.isOptionalMemberExpression() &&\n endPath.get(\"property\").isPrivateName()\n ) {\n // @babel/parser will throw error on `delete obj?.#x`.\n // This error serves as fallback when `delete obj?.#x` is constructed from babel types\n throw member.buildCodeFrameError(\n `can't delete a private class element`,\n );\n }\n\n // Now, we're looking for the start of this optional chain, which is\n // optional to the left of this member.\n //\n // Let's take the case of `foo?.bar?.baz.QUX?.BAM`, with `QUX?.BAM` being\n // our member. The \"start\" to most users would be `foo` object access.\n // But actually, we can consider the `bar` access to be the start. So\n // we're looking for the nearest optional chain that is `optional: true`,\n // which is guaranteed to be somewhere in the object/callee tree.\n let startingOptional: NodePath = member;\n for (;;) {\n if (startingOptional.isOptionalMemberExpression()) {\n if (startingOptional.node.optional) break;\n startingOptional = startingOptional.get(\"object\");\n continue;\n } else if (startingOptional.isOptionalCallExpression()) {\n if (startingOptional.node.optional) break;\n startingOptional = startingOptional.get(\"callee\");\n continue;\n }\n // prevent infinite loop: unreachable if the AST is well-formed\n throw new Error(\n `Internal error: unexpected ${startingOptional.node.type}`,\n );\n }\n\n const startingProp = startingOptional.isOptionalMemberExpression()\n ? \"object\"\n : \"callee\";\n const startingNode = startingOptional.node[startingProp];\n const baseNeedsMemoised = scope.maybeGenerateMemoised(startingNode);\n const baseRef = baseNeedsMemoised ?? startingNode;\n\n // Compute parentIsOptionalCall before `startingOptional` is replaced\n // as `node` may refer to `startingOptional.node` before replaced.\n const parentIsOptionalCall = parentPath.isOptionalCallExpression({\n callee: node,\n });\n // here we use a function to wrap `parentIsOptionalCall` to get type\n // for parent, do not use it anywhere else\n // See https://github.com/microsoft/TypeScript/issues/10421\n const isOptionalCall = (\n parent: t.Node,\n ): parent is t.OptionalCallExpression => parentIsOptionalCall;\n // if parentIsCall is true, it implies that node.extra.parenthesized is always true\n const parentIsCall = parentPath.isCallExpression({ callee: node });\n startingOptional.replaceWith(toNonOptional(startingOptional, baseRef));\n if (isOptionalCall(parent)) {\n if (parent.optional) {\n parentPath.replaceWith(this.optionalCall(member, parent.arguments));\n } else {\n parentPath.replaceWith(this.call(member, parent.arguments));\n }\n } else if (parentIsCall) {\n // `(a?.#b)()` to `(a == null ? void 0 : a.#b.bind(a))()`\n member.replaceWith(this.boundGet(member));\n } else {\n member.replaceWith(this.get(member));\n }\n\n let regular: t.Expression = member.node;\n for (let current: NodePath = member; current !== endPath; ) {\n const parentPath = current.parentPath as NodePath;\n // skip transforming `Foo.#BAR?.call(FOO)`\n if (\n parentPath === endPath &&\n isOptionalCall(parent) &&\n parent.optional\n ) {\n regular = parentPath.node;\n break;\n }\n regular = toNonOptional(parentPath, regular);\n current = parentPath;\n }\n\n let context: t.Identifier;\n const endParentPath = endPath.parentPath as NodePath;\n if (\n isMemberExpression(regular) &&\n endParentPath.isOptionalCallExpression({\n callee: endPath.node,\n optional: true,\n })\n ) {\n const { object } = regular;\n context = member.scope.maybeGenerateMemoised(object);\n if (context) {\n regular.object = assignmentExpression(\"=\", context, object);\n }\n }\n\n let replacementPath: NodePath = endPath;\n if (isDeleteOperation) {\n replacementPath = endParentPath;\n regular = endParentPath.node;\n }\n\n const baseMemoised = baseNeedsMemoised\n ? assignmentExpression(\"=\", cloneNode(baseRef), cloneNode(startingNode))\n : cloneNode(baseRef);\n\n if (willEndPathCastToBoolean) {\n let nonNullishCheck;\n if (noDocumentAll) {\n nonNullishCheck = binaryExpression(\"!=\", baseMemoised, nullLiteral());\n } else {\n nonNullishCheck = logicalExpression(\n \"&&\",\n binaryExpression(\"!==\", baseMemoised, nullLiteral()),\n binaryExpression(\n \"!==\",\n cloneNode(baseRef),\n scope.buildUndefinedNode(),\n ),\n );\n }\n replacementPath.replaceWith(\n logicalExpression(\"&&\", nonNullishCheck, regular),\n );\n } else {\n let nullishCheck;\n if (noDocumentAll) {\n nullishCheck = binaryExpression(\"==\", baseMemoised, nullLiteral());\n } else {\n nullishCheck = logicalExpression(\n \"||\",\n binaryExpression(\"===\", baseMemoised, nullLiteral()),\n binaryExpression(\n \"===\",\n cloneNode(baseRef),\n scope.buildUndefinedNode(),\n ),\n );\n }\n\n replacementPath.replaceWith(\n conditionalExpression(\n nullishCheck,\n isDeleteOperation\n ? booleanLiteral(true)\n : scope.buildUndefinedNode(),\n regular,\n ),\n );\n }\n\n // context and isDeleteOperation can not be both truthy\n if (context) {\n const endParent = endParentPath.node as t.OptionalCallExpression;\n endParentPath.replaceWith(\n optionalCallExpression(\n optionalMemberExpression(\n endParent.callee,\n identifier(\"call\"),\n false,\n true,\n ),\n [cloneNode(context), ...endParent.arguments],\n false,\n ),\n );\n }\n\n return;\n }\n\n // MEMBER++ -> _set(MEMBER, (_ref = (+_get(MEMBER))) + 1), _ref\n // ++MEMBER -> _set(MEMBER, (+_get(MEMBER)) + 1)\n if (isUpdateExpression(parent, { argument: node })) {\n if (this.simpleSet) {\n member.replaceWith(this.simpleSet(member));\n return;\n }\n\n const { operator, prefix } = parent;\n\n // Give the state handler a chance to memoise the member, since we'll\n // reference it twice. The second access (the set) should do the memo\n // assignment.\n this.memoise(member, 2);\n\n const value = binaryExpression(\n operator[0] as \"+\" | \"-\",\n unaryExpression(\"+\", this.get(member)),\n numericLiteral(1),\n );\n\n if (prefix) {\n parentPath.replaceWith(this.set(member, value));\n } else {\n const { scope } = member;\n const ref = scope.generateUidIdentifierBasedOnNode(node);\n scope.push({ id: ref });\n\n value.left = assignmentExpression(\n \"=\",\n cloneNode(ref),\n // @ts-expect-error todo(flow->ts) value.left is possibly PrivateName, which is not usable here\n value.left,\n );\n\n parentPath.replaceWith(\n sequenceExpression([this.set(member, value), cloneNode(ref)]),\n );\n }\n return;\n }\n\n // MEMBER = VALUE -> _set(MEMBER, VALUE)\n // MEMBER += VALUE -> _set(MEMBER, _get(MEMBER) + VALUE)\n // MEMBER ??= VALUE -> _get(MEMBER) ?? _set(MEMBER, VALUE)\n if (parentPath.isAssignmentExpression({ left: node })) {\n if (this.simpleSet) {\n member.replaceWith(this.simpleSet(member));\n return;\n }\n\n const { operator, right: value } = parentPath.node;\n\n if (operator === \"=\") {\n parentPath.replaceWith(this.set(member, value));\n } else {\n const operatorTrunc = operator.slice(0, -1);\n if (LOGICAL_OPERATORS.includes(operatorTrunc)) {\n // Give the state handler a chance to memoise the member, since we'll\n // reference it twice. The first access (the get) should do the memo\n // assignment.\n this.memoise(member, 1);\n parentPath.replaceWith(\n logicalExpression(\n operatorTrunc as t.LogicalExpression[\"operator\"],\n this.get(member),\n this.set(member, value),\n ),\n );\n } else {\n // Here, the second access (the set) is evaluated first.\n this.memoise(member, 2);\n parentPath.replaceWith(\n this.set(\n member,\n binaryExpression(\n operatorTrunc as t.BinaryExpression[\"operator\"],\n this.get(member),\n value,\n ),\n ),\n );\n }\n }\n return;\n }\n\n // MEMBER(ARGS) -> _call(MEMBER, ARGS)\n if (parentPath.isCallExpression({ callee: node })) {\n parentPath.replaceWith(this.call(member, parentPath.node.arguments));\n return;\n }\n\n // MEMBER?.(ARGS) -> _optionalCall(MEMBER, ARGS)\n if (parentPath.isOptionalCallExpression({ callee: node })) {\n // Replace `function (a, x = a.b.#c?.()) {}` to `function (a, x = (() => a.b.#c?.())() ){}`\n // so the temporary variable can be injected in correct scope\n // This can be further optimized to avoid unecessary IIFE\n if (scope.path.isPattern()) {\n parentPath.replaceWith(\n // The injected member will be queued and eventually transformed when visited\n callExpression(arrowFunctionExpression([], parentPath.node), []),\n );\n return;\n }\n parentPath.replaceWith(\n this.optionalCall(member, parentPath.node.arguments),\n );\n return;\n }\n\n // for (MEMBER of ARR)\n // for (MEMBER in ARR)\n // { KEY: MEMBER } = OBJ -> { KEY: _destructureSet(MEMBER) } = OBJ\n // { KEY: MEMBER = _VALUE } = OBJ -> { KEY: _destructureSet(MEMBER) = _VALUE } = OBJ\n // {...MEMBER} -> {..._destructureSet(MEMBER)}\n //\n // [MEMBER] = ARR -> [_destructureSet(MEMBER)] = ARR\n // [MEMBER = _VALUE] = ARR -> [_destructureSet(MEMBER) = _VALUE] = ARR\n // [...MEMBER] -> [..._destructureSet(MEMBER)]\n if (\n // for (MEMBER of ARR)\n // for (MEMBER in ARR)\n parentPath.isForXStatement({ left: node }) ||\n // { KEY: MEMBER } = OBJ\n (parentPath.isObjectProperty({ value: node }) &&\n parentPath.parentPath.isObjectPattern()) ||\n // { KEY: MEMBER = _VALUE } = OBJ\n (parentPath.isAssignmentPattern({ left: node }) &&\n parentPath.parentPath.isObjectProperty({ value: parent }) &&\n parentPath.parentPath.parentPath.isObjectPattern()) ||\n // [MEMBER] = ARR\n parentPath.isArrayPattern() ||\n // [MEMBER = _VALUE] = ARR\n (parentPath.isAssignmentPattern({ left: node }) &&\n parentPath.parentPath.isArrayPattern()) ||\n // {...MEMBER}\n // [...MEMBER]\n parentPath.isRestElement()\n ) {\n member.replaceWith(this.destructureSet(member));\n return;\n }\n\n if (parentPath.isTaggedTemplateExpression()) {\n // MEMBER -> _get(MEMBER).bind(this)\n member.replaceWith(this.boundGet(member));\n } else {\n // MEMBER -> _get(MEMBER)\n member.replaceWith(this.get(member));\n }\n },\n};\n\nexport interface Handler {\n memoise?(\n this: HandlerState & State,\n member: Member,\n count: number,\n ): void;\n destructureSet(\n this: HandlerState & State,\n member: Member,\n ): t.Expression;\n boundGet(this: HandlerState & State, member: Member): t.Expression;\n simpleSet?(this: HandlerState & State, member: Member): t.Expression;\n get(this: HandlerState & State, member: Member): t.Expression;\n set(\n this: HandlerState & State,\n member: Member,\n value: t.Expression,\n ): t.Expression;\n call(\n this: HandlerState & State,\n member: Member,\n args: t.CallExpression[\"arguments\"],\n ): t.Expression;\n optionalCall(\n this: HandlerState & State,\n member: Member,\n args: t.OptionalCallExpression[\"arguments\"],\n ): t.Expression;\n}\n\nexport interface HandlerState extends Handler {\n handle(\n this: HandlerState & State,\n member: Member,\n noDocumentAll: boolean,\n ): void;\n memoiser: AssignmentMemoiser;\n}\n\n// We do not provide a default traversal visitor\n// Instead, caller passes one, and must call `state.handle` on the members\n// it wishes to be transformed.\n// Additionally, the caller must pass in a state object with at least\n// get, set, and call methods.\n// Optionally, a memoise method may be defined on the state, which will be\n// called when the member is a self-referential update.\nexport default function memberExpressionToFunctions(\n path: NodePath,\n visitor: Visitor>,\n state: Handler & CustomState,\n) {\n path.traverse(visitor, {\n ...handle,\n ...state,\n memoiser: new AssignmentMemoiser(),\n });\n}\n"],"names":["willPathCastToBoolean","path","maybeWrapped","node","parentPath","isLogicalExpression","operator","right","isSequenceExpression","expressions","length","isConditional","test","isUnaryExpression","isLoop","LOGICAL_OPERATORS","arrowFunctionExpression","assignmentExpression","binaryExpression","booleanLiteral","callExpression","cloneNode","conditionalExpression","identifier","isMemberExpression","isOptionalCallExpression","isOptionalMemberExpression","isUpdateExpression","logicalExpression","memberExpression","nullLiteral","numericLiteral","optionalCallExpression","optionalMemberExpression","sequenceExpression","unaryExpression","AssignmentMemoiser","constructor","_map","WeakMap","has","key","get","record","value","count","set","toNonOptional","base","property","computed","callee","optional","object","context","scope","maybeGenerateMemoised","replaceWith","arguments","isInDetachedTree","isProgram","container","listKey","parentNode","handle","memoise","member","noDocumentAll","parent","endPath","find","isPattern","willEndPathCastToBoolean","rootParentPath","argument","isAssignmentExpression","left","buildCodeFrameError","isDeleteOperation","isPrivateName","startingOptional","Error","type","startingProp","startingNode","baseNeedsMemoised","baseRef","parentIsOptionalCall","isOptionalCall","parentIsCall","isCallExpression","optionalCall","call","boundGet","regular","current","endParentPath","replacementPath","baseMemoised","nonNullishCheck","buildUndefinedNode","nullishCheck","endParent","simpleSet","prefix","ref","generateUidIdentifierBasedOnNode","push","id","operatorTrunc","slice","includes","isForXStatement","isObjectProperty","isObjectPattern","isAssignmentPattern","isArrayPattern","isRestElement","destructureSet","isTaggedTemplateExpression","memberExpressionToFunctions","visitor","state","traverse","memoiser"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBO,SAASA,qBAAT,CAA+BC,IAA/B,EAAwD;AAC7D,QAAMC,YAAY,GAAGD,IAArB;AACA,QAAM;AAAEE,IAAAA,IAAF;AAAQC,IAAAA;AAAR,MAAuBF,YAA7B;;AACA,MAAIE,UAAU,CAACC,mBAAX,EAAJ,EAAsC;AACpC,UAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAAsBH,UAAU,CAACD,IAAvC;;AACA,QACEG,QAAQ,KAAK,IAAb,IACAA,QAAQ,KAAK,IADb,IAECA,QAAQ,KAAK,IAAb,IAAqBH,IAAI,KAAKI,KAHjC,EAIE;AACA,aAAOP,qBAAqB,CAACI,UAAD,CAA5B;AACD;AACF;;AACD,MAAIA,UAAU,CAACI,oBAAX,EAAJ,EAAuC;AACrC,UAAM;AAAEC,MAAAA;AAAF,QAAkBL,UAAU,CAACD,IAAnC;;AACA,QAAIM,WAAW,CAACA,WAAW,CAACC,MAAZ,GAAqB,CAAtB,CAAX,KAAwCP,IAA5C,EAAkD;AAChD,aAAOH,qBAAqB,CAACI,UAAD,CAA5B;AACD,KAFD,MAEO;AAIL,aAAO,IAAP;AACD;AACF;;AACD,SACEA,UAAU,CAACO,aAAX,CAAyB;AAAEC,IAAAA,IAAI,EAAET;AAAR,GAAzB,KACAC,UAAU,CAACS,iBAAX,CAA6B;AAAEP,IAAAA,QAAQ,EAAE;AAAZ,GAA7B,CADA,IAEAF,UAAU,CAACU,MAAX,CAAkB;AAAEF,IAAAA,IAAI,EAAET;AAAR,GAAlB,CAHF;AAKD;;;AC5CCY,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;;;AAKF,MAAMC,kBAAN,CAAyB;AAEvBC,EAAAA,WAAW,GAAG;AAAA,SADNC,IACM;AACZ,SAAKA,IAAL,GAAY,IAAIC,OAAJ,EAAZ;AACD;;AAEDC,EAAAA,GAAG,CAACC,GAAD,EAAoB;AACrB,WAAO,KAAKH,IAAL,CAAUE,GAAV,CAAcC,GAAd,CAAP;AACD;;AAEDC,EAAAA,GAAG,CAACD,GAAD,EAAoB;AACrB,QAAI,CAAC,KAAKD,GAAL,CAASC,GAAT,CAAL,EAAoB;;AAEpB,UAAME,MAAM,GAAG,KAAKL,IAAL,CAAUI,GAAV,CAAcD,GAAd,CAAf;;AACA,UAAM;AAAEG,MAAAA;AAAF,QAAYD,MAAlB;AAEAA,IAAAA,MAAM,CAACE,KAAP;;AACA,QAAIF,MAAM,CAACE,KAAP,KAAiB,CAArB,EAAwB;AAGtB,aAAO5B,oBAAoB,CAAC,GAAD,EAAM2B,KAAN,EAAaH,GAAb,CAA3B;AACD;;AACD,WAAOG,KAAP;AACD;;AAEDE,EAAAA,GAAG,CAACL,GAAD,EAAoBG,KAApB,EAAmCC,KAAnC,EAAkD;AACnD,WAAO,KAAKP,IAAL,CAAUQ,GAAV,CAAcL,GAAd,EAAmB;AAAEI,MAAAA,KAAF;AAASD,MAAAA;AAAT,KAAnB,CAAP;AACD;;AA3BsB;;AA8BzB,SAASG,aAAT,CACE9C,IADF,EAEE+C,IAFF,EAGgB;AACd,QAAM;AAAE7C,IAAAA;AAAF,MAAWF,IAAjB;;AACA,MAAIyB,0BAA0B,CAACvB,IAAD,CAA9B,EAAsC;AACpC,WAAO0B,gBAAgB,CAACmB,IAAD,EAAO7C,IAAI,CAAC8C,QAAZ,EAAsB9C,IAAI,CAAC+C,QAA3B,CAAvB;AACD;;AAED,MAAIjD,IAAI,CAACwB,wBAAL,EAAJ,EAAqC;AACnC,UAAM0B,MAAM,GAAGlD,IAAI,CAACyC,GAAL,CAAS,QAAT,CAAf;;AACA,QAAIzC,IAAI,CAACE,IAAL,CAAUiD,QAAV,IAAsBD,MAAM,CAACzB,0BAAP,EAA1B,EAA+D;AAC7D,YAAM;AAAE2B,QAAAA;AAAF,UAAaF,MAAM,CAAChD,IAA1B;AACA,YAAMmD,OAAO,GAAGrD,IAAI,CAACsD,KAAL,CAAWC,qBAAX,CAAiCH,MAAjC,KAA4CA,MAA5D;AACAF,MAAAA,MAAM,CACHT,GADH,CACO,QADP,EAEGe,WAFH,CAEexC,oBAAoB,CAAC,GAAD,EAAMqC,OAAN,EAAyBD,MAAzB,CAFnC;AAIA,aAAOjC,cAAc,CAACS,gBAAgB,CAACmB,IAAD,EAAOzB,UAAU,CAAC,MAAD,CAAjB,CAAjB,EAA6C,CAChE+B,OADgE,EAEhE,GAAGrD,IAAI,CAACE,IAAL,CAAUuD,SAFmD,CAA7C,CAArB;AAID;;AAED,WAAOtC,cAAc,CAAC4B,IAAD,EAAO/C,IAAI,CAACE,IAAL,CAAUuD,SAAjB,CAArB;AACD;;AAED,SAAOzD,IAAI,CAACE,IAAZ;AACD;;AAMD,SAASwD,gBAAT,CAA0B1D,IAA1B,EAA0C;AACxC,SAAOA,IAAP,EAAa;AACX,QAAIA,IAAI,CAAC2D,SAAL,EAAJ,EAAsB;AAEtB,UAAM;AAAExD,MAAAA,UAAF;AAAcyD,MAAAA,SAAd;AAAyBC,MAAAA;AAAzB,QAAqC7D,IAA3C;AACA,UAAM8D,UAAU,GAAG3D,UAAU,CAACD,IAA9B;;AACA,QAAI2D,OAAJ,EAAa;AACX,UAAID,SAAS,KAAKE,UAAU,CAACD,OAAD,CAA5B,EAAuC,OAAO,IAAP;AACxC,KAFD,MAEO;AACL,UAAID,SAAS,KAAKE,UAAlB,EAA8B,OAAO,IAAP;AAC/B;;AAED9D,IAAAA,IAAI,GAAGG,UAAP;AACD;;AAED,SAAO,KAAP;AACD;;AAID,MAAM4D,MAAM,GAAG;AACbC,EAAAA,OAAO,GAAG,EADG;;AAKbD,EAAAA,MAAM,CAAqBE,MAArB,EAAqCC,aAArC,EAA6D;AACjE,UAAM;AAAEhE,MAAAA,IAAF;AAAQiE,MAAAA,MAAR;AAAgBhE,MAAAA,UAAhB;AAA4BmD,MAAAA;AAA5B,QAAsCW,MAA5C;;AAEA,QAAIA,MAAM,CAACxC,0BAAP,EAAJ,EAAyC;AAEvC,UAAIiC,gBAAgB,CAACO,MAAD,CAApB,EAA8B;AAW9B,YAAMG,OAAO,GAAGH,MAAM,CAACI,IAAP,CAAY,CAAC;AAAEnE,QAAAA,IAAF;AAAQiE,QAAAA;AAAR,OAAD,KAAsB;AAChD,YAAI1C,0BAA0B,CAAC0C,MAAD,CAA9B,EAAwC;AAItC,iBAAOA,MAAM,CAAChB,QAAP,IAAmBgB,MAAM,CAACf,MAAP,KAAkBlD,IAA5C;AACD;;AACD,YAAIsB,wBAAwB,CAAC2C,MAAD,CAA5B,EAAsC;AAIpC,iBAEGjE,IAAI,KAAK+D,MAAM,CAAC/D,IAAhB,IAAwBiE,MAAM,CAAChB,QAAhC,IAA6CgB,MAAM,CAACjB,MAAP,KAAkBhD,IAFjE;AAID;;AACD,eAAO,IAAP;AACD,OAjBe,CAAhB;;AAsBA,UAAIoD,KAAK,CAACtD,IAAN,CAAWsE,SAAX,EAAJ,EAA4B;AAC1BF,QAAAA,OAAO,CAACZ,WAAR,CAEErC,cAAc,CAACJ,uBAAuB,CAAC,EAAD,EAAKqD,OAAO,CAAClE,IAAb,CAAxB,EAA4C,EAA5C,CAFhB;AAIA;AACD;;AAED,YAAMqE,wBAAwB,GAAGxE,qBAAqB,CAACqE,OAAD,CAAtD;AAEA,YAAMI,cAAc,GAAGJ,OAAO,CAACjE,UAA/B;;AACA,UACEqE,cAAc,CAAC9C,kBAAf,CAAkC;AAAE+C,QAAAA,QAAQ,EAAEvE;AAAZ,OAAlC,KACAsE,cAAc,CAACE,sBAAf,CAAsC;AAAEC,QAAAA,IAAI,EAAEzE;AAAR,OAAtC,CAFF,EAGE;AACA,cAAM+D,MAAM,CAACW,mBAAP,CAA4B,yBAA5B,CAAN;AACD;;AACD,YAAMC,iBAAiB,GAAGL,cAAc,CAAC5D,iBAAf,CAAiC;AACzDP,QAAAA,QAAQ,EAAE;AAD+C,OAAjC,CAA1B;;AAGA,UACEwE,iBAAiB,IACjBT,OAAO,CAAC3C,0BAAR,EADA,IAEA2C,OAAO,CAAC3B,GAAR,CAAY,UAAZ,EAAwBqC,aAAxB,EAHF,EAIE;AAGA,cAAMb,MAAM,CAACW,mBAAP,CACH,sCADG,CAAN;AAGD;;AAUD,UAAIG,gBAAwC,GAAGd,MAA/C;;AACA,eAAS;AACP,YAAIc,gBAAgB,CAACtD,0BAAjB,EAAJ,EAAmD;AACjD,cAAIsD,gBAAgB,CAAC7E,IAAjB,CAAsBiD,QAA1B,EAAoC;AACpC4B,UAAAA,gBAAgB,GAAGA,gBAAgB,CAACtC,GAAjB,CAAqB,QAArB,CAAnB;AACA;AACD,SAJD,MAIO,IAAIsC,gBAAgB,CAACvD,wBAAjB,EAAJ,EAAiD;AACtD,cAAIuD,gBAAgB,CAAC7E,IAAjB,CAAsBiD,QAA1B,EAAoC;AACpC4B,UAAAA,gBAAgB,GAAGA,gBAAgB,CAACtC,GAAjB,CAAqB,QAArB,CAAnB;AACA;AACD;;AAED,cAAM,IAAIuC,KAAJ,CACH,8BAA6BD,gBAAgB,CAAC7E,IAAjB,CAAsB+E,IAAK,EADrD,CAAN;AAGD;;AAED,YAAMC,YAAY,GAAGH,gBAAgB,CAACtD,0BAAjB,KACjB,QADiB,GAEjB,QAFJ;AAGA,YAAM0D,YAAY,GAAGJ,gBAAgB,CAAC7E,IAAjB,CAAsBgF,YAAtB,CAArB;AACA,YAAME,iBAAiB,GAAG9B,KAAK,CAACC,qBAAN,CAA4B4B,YAA5B,CAA1B;AACA,YAAME,OAAO,GAAGD,iBAAH,WAAGA,iBAAH,GAAwBD,YAArC;AAIA,YAAMG,oBAAoB,GAAGnF,UAAU,CAACqB,wBAAX,CAAoC;AAC/D0B,QAAAA,MAAM,EAAEhD;AADuD,OAApC,CAA7B;;AAMA,YAAMqF,cAAc,GAClBpB,MADqB,IAEkBmB,oBAFzC;;AAIA,YAAME,YAAY,GAAGrF,UAAU,CAACsF,gBAAX,CAA4B;AAAEvC,QAAAA,MAAM,EAAEhD;AAAV,OAA5B,CAArB;AACA6E,MAAAA,gBAAgB,CAACvB,WAAjB,CAA6BV,aAAa,CAACiC,gBAAD,EAAmBM,OAAnB,CAA1C;;AACA,UAAIE,cAAc,CAAA,CAAlB,EAA4B;AAC1B,YAAIpB,MAAM,CAAChB,QAAX,EAAqB;AACnBhD,UAAAA,UAAU,CAACqD,WAAX,CAAuB,KAAKkC,YAAL,CAAkBzB,MAAlB,EAA0BE,MAAM,CAACV,SAAjC,CAAvB;AACD,SAFD,MAEO;AACLtD,UAAAA,UAAU,CAACqD,WAAX,CAAuB,KAAKmC,IAAL,CAAU1B,MAAV,EAAkBE,MAAM,CAACV,SAAzB,CAAvB;AACD;AACF,OAND,MAMO,IAAI+B,YAAJ,EAAkB;AAEvBvB,QAAAA,MAAM,CAACT,WAAP,CAAmB,KAAKoC,QAAL,CAAc3B,MAAd,CAAnB;AACD,OAHM,MAGA;AACLA,QAAAA,MAAM,CAACT,WAAP,CAAmB,KAAKf,GAAL,CAASwB,MAAT,CAAnB;AACD;;AAED,UAAI4B,OAAqB,GAAG5B,MAAM,CAAC/D,IAAnC;;AACA,WAAK,IAAI4F,OAAiB,GAAG7B,MAA7B,EAAqC6B,OAAO,KAAK1B,OAAjD,GAA4D;AAC1D,cAAMjE,UAAU,GAAG2F,OAAO,CAAC3F,UAA3B;;AAEA,YACEA,UAAU,KAAKiE,OAAf,IACAmB,cAAc,CAAA,CADd,IAEApB,MAAM,CAAChB,QAHT,EAIE;AACA0C,UAAAA,OAAO,GAAG1F,UAAU,CAACD,IAArB;AACA;AACD;;AACD2F,QAAAA,OAAO,GAAG/C,aAAa,CAAC3C,UAAD,EAAa0F,OAAb,CAAvB;AACAC,QAAAA,OAAO,GAAG3F,UAAV;AACD;;AAED,UAAIkD,OAAJ;AACA,YAAM0C,aAAa,GAAG3B,OAAO,CAACjE,UAA9B;;AACA,UACEoB,kBAAkB,CAACsE,OAAD,CAAlB,IACAE,aAAa,CAACvE,wBAAd,CAAuC;AACrC0B,QAAAA,MAAM,EAAEkB,OAAO,CAAClE,IADqB;AAErCiD,QAAAA,QAAQ,EAAE;AAF2B,OAAvC,CAFF,EAME;AACA,cAAM;AAAEC,UAAAA;AAAF,YAAayC,OAAnB;AACAxC,QAAAA,OAAO,GAAGY,MAAM,CAACX,KAAP,CAAaC,qBAAb,CAAmCH,MAAnC,CAAV;;AACA,YAAIC,OAAJ,EAAa;AACXwC,UAAAA,OAAO,CAACzC,MAAR,GAAiBpC,oBAAoB,CAAC,GAAD,EAAMqC,OAAN,EAAeD,MAAf,CAArC;AACD;AACF;;AAED,UAAI4C,eAAyB,GAAG5B,OAAhC;;AACA,UAAIS,iBAAJ,EAAuB;AACrBmB,QAAAA,eAAe,GAAGD,aAAlB;AACAF,QAAAA,OAAO,GAAGE,aAAa,CAAC7F,IAAxB;AACD;;AAED,YAAM+F,YAAY,GAAGb,iBAAiB,GAClCpE,oBAAoB,CAAC,GAAD,EAAMI,SAAS,CAACiE,OAAD,CAAf,EAA0BjE,SAAS,CAAC+D,YAAD,CAAnC,CADc,GAElC/D,SAAS,CAACiE,OAAD,CAFb;;AAIA,UAAId,wBAAJ,EAA8B;AAC5B,YAAI2B,eAAJ;;AACA,YAAIhC,aAAJ,EAAmB;AACjBgC,UAAAA,eAAe,GAAGjF,gBAAgB,CAAC,IAAD,EAAOgF,YAAP,EAAqBpE,WAAW,EAAhC,CAAlC;AACD,SAFD,MAEO;AACLqE,UAAAA,eAAe,GAAGvE,iBAAiB,CACjC,IADiC,EAEjCV,gBAAgB,CAAC,KAAD,EAAQgF,YAAR,EAAsBpE,WAAW,EAAjC,CAFiB,EAGjCZ,gBAAgB,CACd,KADc,EAEdG,SAAS,CAACiE,OAAD,CAFK,EAGd/B,KAAK,CAAC6C,kBAAN,EAHc,CAHiB,CAAnC;AASD;;AACDH,QAAAA,eAAe,CAACxC,WAAhB,CACE7B,iBAAiB,CAAC,IAAD,EAAOuE,eAAP,EAAwBL,OAAxB,CADnB;AAGD,OAlBD,MAkBO;AACL,YAAIO,YAAJ;;AACA,YAAIlC,aAAJ,EAAmB;AACjBkC,UAAAA,YAAY,GAAGnF,gBAAgB,CAAC,IAAD,EAAOgF,YAAP,EAAqBpE,WAAW,EAAhC,CAA/B;AACD,SAFD,MAEO;AACLuE,UAAAA,YAAY,GAAGzE,iBAAiB,CAC9B,IAD8B,EAE9BV,gBAAgB,CAAC,KAAD,EAAQgF,YAAR,EAAsBpE,WAAW,EAAjC,CAFc,EAG9BZ,gBAAgB,CACd,KADc,EAEdG,SAAS,CAACiE,OAAD,CAFK,EAGd/B,KAAK,CAAC6C,kBAAN,EAHc,CAHc,CAAhC;AASD;;AAEDH,QAAAA,eAAe,CAACxC,WAAhB,CACEnC,qBAAqB,CACnB+E,YADmB,EAEnBvB,iBAAiB,GACb3D,cAAc,CAAC,IAAD,CADD,GAEboC,KAAK,CAAC6C,kBAAN,EAJe,EAKnBN,OALmB,CADvB;AASD;;AAGD,UAAIxC,OAAJ,EAAa;AACX,cAAMgD,SAAS,GAAGN,aAAa,CAAC7F,IAAhC;AACA6F,QAAAA,aAAa,CAACvC,WAAd,CACEzB,sBAAsB,CACpBC,wBAAwB,CACtBqE,SAAS,CAACnD,MADY,EAEtB5B,UAAU,CAAC,MAAD,CAFY,EAGtB,KAHsB,EAItB,IAJsB,CADJ,EAOpB,CAACF,SAAS,CAACiC,OAAD,CAAV,EAAqB,GAAGgD,SAAS,CAAC5C,SAAlC,CAPoB,EAQpB,KARoB,CADxB;AAYD;;AAED;AACD;;AAID,QAAI/B,kBAAkB,CAACyC,MAAD,EAAS;AAAEM,MAAAA,QAAQ,EAAEvE;AAAZ,KAAT,CAAtB,EAAoD;AAClD,UAAI,KAAKoG,SAAT,EAAoB;AAClBrC,QAAAA,MAAM,CAACT,WAAP,CAAmB,KAAK8C,SAAL,CAAerC,MAAf,CAAnB;AACA;AACD;;AAED,YAAM;AAAE5D,QAAAA,QAAF;AAAYkG,QAAAA;AAAZ,UAAuBpC,MAA7B;AAKA,WAAKH,OAAL,CAAaC,MAAb,EAAqB,CAArB;AAEA,YAAMtB,KAAK,GAAG1B,gBAAgB,CAC5BZ,QAAQ,CAAC,CAAD,CADoB,EAE5B6B,eAAe,CAAC,GAAD,EAAM,KAAKO,GAAL,CAASwB,MAAT,CAAN,CAFa,EAG5BnC,cAAc,CAAC,CAAD,CAHc,CAA9B;;AAMA,UAAIyE,MAAJ,EAAY;AACVpG,QAAAA,UAAU,CAACqD,WAAX,CAAuB,KAAKX,GAAL,CAASoB,MAAT,EAAiBtB,KAAjB,CAAvB;AACD,OAFD,MAEO;AACL,cAAM;AAAEW,UAAAA;AAAF,YAAYW,MAAlB;AACA,cAAMuC,GAAG,GAAGlD,KAAK,CAACmD,gCAAN,CAAuCvG,IAAvC,CAAZ;AACAoD,QAAAA,KAAK,CAACoD,IAAN,CAAW;AAAEC,UAAAA,EAAE,EAAEH;AAAN,SAAX;AAEA7D,QAAAA,KAAK,CAACgC,IAAN,GAAa3D,oBAAoB,CAC/B,GAD+B,EAE/BI,SAAS,CAACoF,GAAD,CAFsB,EAI/B7D,KAAK,CAACgC,IAJyB,CAAjC;AAOAxE,QAAAA,UAAU,CAACqD,WAAX,CACEvB,kBAAkB,CAAC,CAAC,KAAKY,GAAL,CAASoB,MAAT,EAAiBtB,KAAjB,CAAD,EAA0BvB,SAAS,CAACoF,GAAD,CAAnC,CAAD,CADpB;AAGD;;AACD;AACD;;AAKD,QAAIrG,UAAU,CAACuE,sBAAX,CAAkC;AAAEC,MAAAA,IAAI,EAAEzE;AAAR,KAAlC,CAAJ,EAAuD;AACrD,UAAI,KAAKoG,SAAT,EAAoB;AAClBrC,QAAAA,MAAM,CAACT,WAAP,CAAmB,KAAK8C,SAAL,CAAerC,MAAf,CAAnB;AACA;AACD;;AAED,YAAM;AAAE5D,QAAAA,QAAF;AAAYC,QAAAA,KAAK,EAAEqC;AAAnB,UAA6BxC,UAAU,CAACD,IAA9C;;AAEA,UAAIG,QAAQ,KAAK,GAAjB,EAAsB;AACpBF,QAAAA,UAAU,CAACqD,WAAX,CAAuB,KAAKX,GAAL,CAASoB,MAAT,EAAiBtB,KAAjB,CAAvB;AACD,OAFD,MAEO;AACL,cAAMiE,aAAa,GAAGvG,QAAQ,CAACwG,KAAT,CAAe,CAAf,EAAkB,CAAC,CAAnB,CAAtB;;AACA,YAAI/F,iBAAiB,CAACgG,QAAlB,CAA2BF,aAA3B,CAAJ,EAA+C;AAI7C,eAAK5C,OAAL,CAAaC,MAAb,EAAqB,CAArB;AACA9D,UAAAA,UAAU,CAACqD,WAAX,CACE7B,iBAAiB,CACfiF,aADe,EAEf,KAAKnE,GAAL,CAASwB,MAAT,CAFe,EAGf,KAAKpB,GAAL,CAASoB,MAAT,EAAiBtB,KAAjB,CAHe,CADnB;AAOD,SAZD,MAYO;AAEL,eAAKqB,OAAL,CAAaC,MAAb,EAAqB,CAArB;AACA9D,UAAAA,UAAU,CAACqD,WAAX,CACE,KAAKX,GAAL,CACEoB,MADF,EAEEhD,gBAAgB,CACd2F,aADc,EAEd,KAAKnE,GAAL,CAASwB,MAAT,CAFc,EAGdtB,KAHc,CAFlB,CADF;AAUD;AACF;;AACD;AACD;;AAGD,QAAIxC,UAAU,CAACsF,gBAAX,CAA4B;AAAEvC,MAAAA,MAAM,EAAEhD;AAAV,KAA5B,CAAJ,EAAmD;AACjDC,MAAAA,UAAU,CAACqD,WAAX,CAAuB,KAAKmC,IAAL,CAAU1B,MAAV,EAAkB9D,UAAU,CAACD,IAAX,CAAgBuD,SAAlC,CAAvB;AACA;AACD;;AAGD,QAAItD,UAAU,CAACqB,wBAAX,CAAoC;AAAE0B,MAAAA,MAAM,EAAEhD;AAAV,KAApC,CAAJ,EAA2D;AAIzD,UAAIoD,KAAK,CAACtD,IAAN,CAAWsE,SAAX,EAAJ,EAA4B;AAC1BnE,QAAAA,UAAU,CAACqD,WAAX,CAEErC,cAAc,CAACJ,uBAAuB,CAAC,EAAD,EAAKZ,UAAU,CAACD,IAAhB,CAAxB,EAA+C,EAA/C,CAFhB;AAIA;AACD;;AACDC,MAAAA,UAAU,CAACqD,WAAX,CACE,KAAKkC,YAAL,CAAkBzB,MAAlB,EAA0B9D,UAAU,CAACD,IAAX,CAAgBuD,SAA1C,CADF;AAGA;AACD;;AAWD,QAGEtD,UAAU,CAAC4G,eAAX,CAA2B;AAAEpC,MAAAA,IAAI,EAAEzE;AAAR,KAA3B,KAECC,UAAU,CAAC6G,gBAAX,CAA4B;AAAErE,MAAAA,KAAK,EAAEzC;AAAT,KAA5B,KACCC,UAAU,CAACA,UAAX,CAAsB8G,eAAtB,EAHF,IAKC9G,UAAU,CAAC+G,mBAAX,CAA+B;AAAEvC,MAAAA,IAAI,EAAEzE;AAAR,KAA/B,KACCC,UAAU,CAACA,UAAX,CAAsB6G,gBAAtB,CAAuC;AAAErE,MAAAA,KAAK,EAAEwB;AAAT,KAAvC,CADD,IAEChE,UAAU,CAACA,UAAX,CAAsBA,UAAtB,CAAiC8G,eAAjC,EAPF,IASA9G,UAAU,CAACgH,cAAX,EATA,IAWChH,UAAU,CAAC+G,mBAAX,CAA+B;AAAEvC,MAAAA,IAAI,EAAEzE;AAAR,KAA/B,KACCC,UAAU,CAACA,UAAX,CAAsBgH,cAAtB,EAZF,IAeAhH,UAAU,CAACiH,aAAX,EAlBF,EAmBE;AACAnD,MAAAA,MAAM,CAACT,WAAP,CAAmB,KAAK6D,cAAL,CAAoBpD,MAApB,CAAnB;AACA;AACD;;AAED,QAAI9D,UAAU,CAACmH,0BAAX,EAAJ,EAA6C;AAE3CrD,MAAAA,MAAM,CAACT,WAAP,CAAmB,KAAKoC,QAAL,CAAc3B,MAAd,CAAnB;AACD,KAHD,MAGO;AAELA,MAAAA,MAAM,CAACT,WAAP,CAAmB,KAAKf,GAAL,CAASwB,MAAT,CAAnB;AACD;AACF;;AAxYY,CAAf;AAybe,SAASsD,2BAAT,CACbvH,IADa,EAEbwH,OAFa,EAGbC,KAHa,EAIb;AACAzH,EAAAA,IAAI,CAAC0H,QAAL,CAAcF,OAAd,oBACKzD,MADL,EAEK0D,KAFL;AAGEE,IAAAA,QAAQ,EAAE,IAAIxF,kBAAJ;AAHZ;AAKD;;;;"} \ No newline at end of file diff --git a/node_modules/@babel/helper-member-expression-to-functions/package.json b/node_modules/@babel/helper-member-expression-to-functions/package.json new file mode 100644 index 00000000..99139b2a --- /dev/null +++ b/node_modules/@babel/helper-member-expression-to-functions/package.json @@ -0,0 +1,26 @@ +{ + "name": "@babel/helper-member-expression-to-functions", + "version": "7.15.4", + "description": "Helper function to replace certain member expressions with function calls", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-member-expression-to-functions" + }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-member-expression-to-functions", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "author": "The Babel Team (https://babel.dev/team)", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "devDependencies": { + "@babel/traverse": "7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-imports/LICENSE b/node_modules/@babel/helper-module-imports/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-module-imports/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-module-imports/README.md b/node_modules/@babel/helper-module-imports/README.md new file mode 100644 index 00000000..dfc0bb88 --- /dev/null +++ b/node_modules/@babel/helper-module-imports/README.md @@ -0,0 +1,19 @@ +# @babel/helper-module-imports + +> Babel helper functions for inserting module loads + +See our website [@babel/helper-module-imports](https://babeljs.io/docs/en/babel-helper-module-imports) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-module-imports +``` + +or using yarn: + +```sh +yarn add @babel/helper-module-imports --dev +``` diff --git a/node_modules/@babel/helper-module-imports/lib/import-builder.js b/node_modules/@babel/helper-module-imports/lib/import-builder.js new file mode 100644 index 00000000..8a1800e6 --- /dev/null +++ b/node_modules/@babel/helper-module-imports/lib/import-builder.js @@ -0,0 +1,162 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _assert = require("assert"); + +var _t = require("@babel/types"); + +const { + callExpression, + cloneNode, + expressionStatement, + identifier, + importDeclaration, + importDefaultSpecifier, + importNamespaceSpecifier, + importSpecifier, + memberExpression, + stringLiteral, + variableDeclaration, + variableDeclarator +} = _t; + +class ImportBuilder { + constructor(importedSource, scope, hub) { + this._statements = []; + this._resultName = null; + this._scope = null; + this._hub = null; + this._importedSource = void 0; + this._scope = scope; + this._hub = hub; + this._importedSource = importedSource; + } + + done() { + return { + statements: this._statements, + resultName: this._resultName + }; + } + + import() { + this._statements.push(importDeclaration([], stringLiteral(this._importedSource))); + + return this; + } + + require() { + this._statements.push(expressionStatement(callExpression(identifier("require"), [stringLiteral(this._importedSource)]))); + + return this; + } + + namespace(name = "namespace") { + const local = this._scope.generateUidIdentifier(name); + + const statement = this._statements[this._statements.length - 1]; + + _assert(statement.type === "ImportDeclaration"); + + _assert(statement.specifiers.length === 0); + + statement.specifiers = [importNamespaceSpecifier(local)]; + this._resultName = cloneNode(local); + return this; + } + + default(name) { + name = this._scope.generateUidIdentifier(name); + const statement = this._statements[this._statements.length - 1]; + + _assert(statement.type === "ImportDeclaration"); + + _assert(statement.specifiers.length === 0); + + statement.specifiers = [importDefaultSpecifier(name)]; + this._resultName = cloneNode(name); + return this; + } + + named(name, importName) { + if (importName === "default") return this.default(name); + name = this._scope.generateUidIdentifier(name); + const statement = this._statements[this._statements.length - 1]; + + _assert(statement.type === "ImportDeclaration"); + + _assert(statement.specifiers.length === 0); + + statement.specifiers = [importSpecifier(name, identifier(importName))]; + this._resultName = cloneNode(name); + return this; + } + + var(name) { + name = this._scope.generateUidIdentifier(name); + let statement = this._statements[this._statements.length - 1]; + + if (statement.type !== "ExpressionStatement") { + _assert(this._resultName); + + statement = expressionStatement(this._resultName); + + this._statements.push(statement); + } + + this._statements[this._statements.length - 1] = variableDeclaration("var", [variableDeclarator(name, statement.expression)]); + this._resultName = cloneNode(name); + return this; + } + + defaultInterop() { + return this._interop(this._hub.addHelper("interopRequireDefault")); + } + + wildcardInterop() { + return this._interop(this._hub.addHelper("interopRequireWildcard")); + } + + _interop(callee) { + const statement = this._statements[this._statements.length - 1]; + + if (statement.type === "ExpressionStatement") { + statement.expression = callExpression(callee, [statement.expression]); + } else if (statement.type === "VariableDeclaration") { + _assert(statement.declarations.length === 1); + + statement.declarations[0].init = callExpression(callee, [statement.declarations[0].init]); + } else { + _assert.fail("Unexpected type."); + } + + return this; + } + + prop(name) { + const statement = this._statements[this._statements.length - 1]; + + if (statement.type === "ExpressionStatement") { + statement.expression = memberExpression(statement.expression, identifier(name)); + } else if (statement.type === "VariableDeclaration") { + _assert(statement.declarations.length === 1); + + statement.declarations[0].init = memberExpression(statement.declarations[0].init, identifier(name)); + } else { + _assert.fail("Unexpected type:" + statement.type); + } + + return this; + } + + read(name) { + this._resultName = memberExpression(this._resultName, identifier(name)); + } + +} + +exports.default = ImportBuilder; \ No newline at end of file diff --git a/node_modules/@babel/helper-module-imports/lib/import-injector.js b/node_modules/@babel/helper-module-imports/lib/import-injector.js new file mode 100644 index 00000000..adb9627e --- /dev/null +++ b/node_modules/@babel/helper-module-imports/lib/import-injector.js @@ -0,0 +1,290 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _assert = require("assert"); + +var _t = require("@babel/types"); + +var _importBuilder = require("./import-builder"); + +var _isModule = require("./is-module"); + +const { + numericLiteral, + sequenceExpression +} = _t; + +class ImportInjector { + constructor(path, importedSource, opts) { + this._defaultOpts = { + importedSource: null, + importedType: "commonjs", + importedInterop: "babel", + importingInterop: "babel", + ensureLiveReference: false, + ensureNoContext: false, + importPosition: "before" + }; + const programPath = path.find(p => p.isProgram()); + this._programPath = programPath; + this._programScope = programPath.scope; + this._hub = programPath.hub; + this._defaultOpts = this._applyDefaults(importedSource, opts, true); + } + + addDefault(importedSourceIn, opts) { + return this.addNamed("default", importedSourceIn, opts); + } + + addNamed(importName, importedSourceIn, opts) { + _assert(typeof importName === "string"); + + return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName); + } + + addNamespace(importedSourceIn, opts) { + return this._generateImport(this._applyDefaults(importedSourceIn, opts), null); + } + + addSideEffect(importedSourceIn, opts) { + return this._generateImport(this._applyDefaults(importedSourceIn, opts), false); + } + + _applyDefaults(importedSource, opts, isInit = false) { + const optsList = []; + + if (typeof importedSource === "string") { + optsList.push({ + importedSource + }); + optsList.push(opts); + } else { + _assert(!opts, "Unexpected secondary arguments."); + + optsList.push(importedSource); + } + + const newOpts = Object.assign({}, this._defaultOpts); + + for (const opts of optsList) { + if (!opts) continue; + Object.keys(newOpts).forEach(key => { + if (opts[key] !== undefined) newOpts[key] = opts[key]; + }); + + if (!isInit) { + if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint; + if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist; + } + } + + return newOpts; + } + + _generateImport(opts, importName) { + const isDefault = importName === "default"; + const isNamed = !!importName && !isDefault; + const isNamespace = importName === null; + const { + importedSource, + importedType, + importedInterop, + importingInterop, + ensureLiveReference, + ensureNoContext, + nameHint, + importPosition, + blockHoist + } = opts; + let name = nameHint || importName; + const isMod = (0, _isModule.default)(this._programPath); + const isModuleForNode = isMod && importingInterop === "node"; + const isModuleForBabel = isMod && importingInterop === "babel"; + + if (importPosition === "after" && !isMod) { + throw new Error(`"importPosition": "after" is only supported in modules`); + } + + const builder = new _importBuilder.default(importedSource, this._programScope, this._hub); + + if (importedType === "es6") { + if (!isModuleForNode && !isModuleForBabel) { + throw new Error("Cannot import an ES6 module from CommonJS"); + } + + builder.import(); + + if (isNamespace) { + builder.namespace(nameHint || importedSource); + } else if (isDefault || isNamed) { + builder.named(name, importName); + } + } else if (importedType !== "commonjs") { + throw new Error(`Unexpected interopType "${importedType}"`); + } else if (importedInterop === "babel") { + if (isModuleForNode) { + name = name !== "default" ? name : importedSource; + const es6Default = `${importedSource}$es6Default`; + builder.import(); + + if (isNamespace) { + builder.default(es6Default).var(name || importedSource).wildcardInterop(); + } else if (isDefault) { + if (ensureLiveReference) { + builder.default(es6Default).var(name || importedSource).defaultInterop().read("default"); + } else { + builder.default(es6Default).var(name).defaultInterop().prop(importName); + } + } else if (isNamed) { + builder.default(es6Default).read(importName); + } + } else if (isModuleForBabel) { + builder.import(); + + if (isNamespace) { + builder.namespace(name || importedSource); + } else if (isDefault || isNamed) { + builder.named(name, importName); + } + } else { + builder.require(); + + if (isNamespace) { + builder.var(name || importedSource).wildcardInterop(); + } else if ((isDefault || isNamed) && ensureLiveReference) { + if (isDefault) { + name = name !== "default" ? name : importedSource; + builder.var(name).read(importName); + builder.defaultInterop(); + } else { + builder.var(importedSource).read(importName); + } + } else if (isDefault) { + builder.var(name).defaultInterop().prop(importName); + } else if (isNamed) { + builder.var(name).prop(importName); + } + } + } else if (importedInterop === "compiled") { + if (isModuleForNode) { + builder.import(); + + if (isNamespace) { + builder.default(name || importedSource); + } else if (isDefault || isNamed) { + builder.default(importedSource).read(name); + } + } else if (isModuleForBabel) { + builder.import(); + + if (isNamespace) { + builder.namespace(name || importedSource); + } else if (isDefault || isNamed) { + builder.named(name, importName); + } + } else { + builder.require(); + + if (isNamespace) { + builder.var(name || importedSource); + } else if (isDefault || isNamed) { + if (ensureLiveReference) { + builder.var(importedSource).read(name); + } else { + builder.prop(importName).var(name); + } + } + } + } else if (importedInterop === "uncompiled") { + if (isDefault && ensureLiveReference) { + throw new Error("No live reference for commonjs default"); + } + + if (isModuleForNode) { + builder.import(); + + if (isNamespace) { + builder.default(name || importedSource); + } else if (isDefault) { + builder.default(name); + } else if (isNamed) { + builder.default(importedSource).read(name); + } + } else if (isModuleForBabel) { + builder.import(); + + if (isNamespace) { + builder.default(name || importedSource); + } else if (isDefault) { + builder.default(name); + } else if (isNamed) { + builder.named(name, importName); + } + } else { + builder.require(); + + if (isNamespace) { + builder.var(name || importedSource); + } else if (isDefault) { + builder.var(name); + } else if (isNamed) { + if (ensureLiveReference) { + builder.var(importedSource).read(name); + } else { + builder.var(name).prop(importName); + } + } + } + } else { + throw new Error(`Unknown importedInterop "${importedInterop}".`); + } + + const { + statements, + resultName + } = builder.done(); + + this._insertStatements(statements, importPosition, blockHoist); + + if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") { + return sequenceExpression([numericLiteral(0), resultName]); + } + + return resultName; + } + + _insertStatements(statements, importPosition = "before", blockHoist = 3) { + const body = this._programPath.get("body"); + + if (importPosition === "after") { + for (let i = body.length - 1; i >= 0; i--) { + if (body[i].isImportDeclaration()) { + body[i].insertAfter(statements); + return; + } + } + } else { + statements.forEach(node => { + node._blockHoist = blockHoist; + }); + const targetPath = body.find(p => { + const val = p.node._blockHoist; + return Number.isFinite(val) && val < 4; + }); + + if (targetPath) { + targetPath.insertBefore(statements); + return; + } + } + + this._programPath.unshiftContainer("body", statements); + } + +} + +exports.default = ImportInjector; \ No newline at end of file diff --git a/node_modules/@babel/helper-module-imports/lib/index.js b/node_modules/@babel/helper-module-imports/lib/index.js new file mode 100644 index 00000000..62202946 --- /dev/null +++ b/node_modules/@babel/helper-module-imports/lib/index.js @@ -0,0 +1,41 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.addDefault = addDefault; +exports.addNamed = addNamed; +exports.addNamespace = addNamespace; +exports.addSideEffect = addSideEffect; +Object.defineProperty(exports, "ImportInjector", { + enumerable: true, + get: function () { + return _importInjector.default; + } +}); +Object.defineProperty(exports, "isModule", { + enumerable: true, + get: function () { + return _isModule.default; + } +}); + +var _importInjector = require("./import-injector"); + +var _isModule = require("./is-module"); + +function addDefault(path, importedSource, opts) { + return new _importInjector.default(path).addDefault(importedSource, opts); +} + +function addNamed(path, name, importedSource, opts) { + return new _importInjector.default(path).addNamed(name, importedSource, opts); +} + +function addNamespace(path, importedSource, opts) { + return new _importInjector.default(path).addNamespace(importedSource, opts); +} + +function addSideEffect(path, importedSource, opts) { + return new _importInjector.default(path).addSideEffect(importedSource, opts); +} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-imports/lib/is-module.js b/node_modules/@babel/helper-module-imports/lib/is-module.js new file mode 100644 index 00000000..ad9e3995 --- /dev/null +++ b/node_modules/@babel/helper-module-imports/lib/is-module.js @@ -0,0 +1,18 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isModule; + +function isModule(path) { + const { + sourceType + } = path.node; + + if (sourceType !== "module" && sourceType !== "script") { + throw path.buildCodeFrameError(`Unknown sourceType "${sourceType}", cannot transform.`); + } + + return path.node.sourceType === "module"; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-imports/package.json b/node_modules/@babel/helper-module-imports/package.json new file mode 100644 index 00000000..7ad591e7 --- /dev/null +++ b/node_modules/@babel/helper-module-imports/package.json @@ -0,0 +1,27 @@ +{ + "name": "@babel/helper-module-imports", + "version": "7.15.4", + "description": "Babel helper functions for inserting module loads", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-helper-module-imports", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-module-imports" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "devDependencies": { + "@babel/core": "7.15.4", + "@babel/traverse": "7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/LICENSE b/node_modules/@babel/helper-module-transforms/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-module-transforms/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-module-transforms/README.md b/node_modules/@babel/helper-module-transforms/README.md new file mode 100644 index 00000000..243ce295 --- /dev/null +++ b/node_modules/@babel/helper-module-transforms/README.md @@ -0,0 +1,19 @@ +# @babel/helper-module-transforms + +> Babel helper functions for implementing ES6 module transformations + +See our website [@babel/helper-module-transforms](https://babeljs.io/docs/en/babel-helper-module-transforms) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-module-transforms +``` + +or using yarn: + +```sh +yarn add @babel/helper-module-transforms --dev +``` diff --git a/node_modules/@babel/helper-module-transforms/lib/get-module-name.js b/node_modules/@babel/helper-module-transforms/lib/get-module-name.js new file mode 100644 index 00000000..87c2b835 --- /dev/null +++ b/node_modules/@babel/helper-module-transforms/lib/get-module-name.js @@ -0,0 +1,54 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getModuleName; +{ + const originalGetModuleName = getModuleName; + + exports.default = getModuleName = function getModuleName(rootOpts, pluginOpts) { + var _pluginOpts$moduleId, _pluginOpts$moduleIds, _pluginOpts$getModule, _pluginOpts$moduleRoo; + + return originalGetModuleName(rootOpts, { + moduleId: (_pluginOpts$moduleId = pluginOpts.moduleId) != null ? _pluginOpts$moduleId : rootOpts.moduleId, + moduleIds: (_pluginOpts$moduleIds = pluginOpts.moduleIds) != null ? _pluginOpts$moduleIds : rootOpts.moduleIds, + getModuleId: (_pluginOpts$getModule = pluginOpts.getModuleId) != null ? _pluginOpts$getModule : rootOpts.getModuleId, + moduleRoot: (_pluginOpts$moduleRoo = pluginOpts.moduleRoot) != null ? _pluginOpts$moduleRoo : rootOpts.moduleRoot + }); + }; +} + +function getModuleName(rootOpts, pluginOpts) { + const { + filename, + filenameRelative = filename, + sourceRoot = pluginOpts.moduleRoot + } = rootOpts; + const { + moduleId, + moduleIds = !!moduleId, + getModuleId, + moduleRoot = sourceRoot + } = pluginOpts; + if (!moduleIds) return null; + + if (moduleId != null && !getModuleId) { + return moduleId; + } + + let moduleName = moduleRoot != null ? moduleRoot + "/" : ""; + + if (filenameRelative) { + const sourceRootReplacer = sourceRoot != null ? new RegExp("^" + sourceRoot + "/?") : ""; + moduleName += filenameRelative.replace(sourceRootReplacer, "").replace(/\.(\w*?)$/, ""); + } + + moduleName = moduleName.replace(/\\/g, "/"); + + if (getModuleId) { + return getModuleId(moduleName) || moduleName; + } else { + return moduleName; + } +} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/lib/index.js b/node_modules/@babel/helper-module-transforms/lib/index.js new file mode 100644 index 00000000..798a7a19 --- /dev/null +++ b/node_modules/@babel/helper-module-transforms/lib/index.js @@ -0,0 +1,392 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.rewriteModuleStatementsAndPrepareHeader = rewriteModuleStatementsAndPrepareHeader; +exports.ensureStatementsHoisted = ensureStatementsHoisted; +exports.wrapInterop = wrapInterop; +exports.buildNamespaceInitStatements = buildNamespaceInitStatements; +Object.defineProperty(exports, "isModule", { + enumerable: true, + get: function () { + return _helperModuleImports.isModule; + } +}); +Object.defineProperty(exports, "rewriteThis", { + enumerable: true, + get: function () { + return _rewriteThis.default; + } +}); +Object.defineProperty(exports, "hasExports", { + enumerable: true, + get: function () { + return _normalizeAndLoadMetadata.hasExports; + } +}); +Object.defineProperty(exports, "isSideEffectImport", { + enumerable: true, + get: function () { + return _normalizeAndLoadMetadata.isSideEffectImport; + } +}); +Object.defineProperty(exports, "getModuleName", { + enumerable: true, + get: function () { + return _getModuleName.default; + } +}); + +var _assert = require("assert"); + +var _t = require("@babel/types"); + +var _template = require("@babel/template"); + +var _helperModuleImports = require("@babel/helper-module-imports"); + +var _rewriteThis = require("./rewrite-this"); + +var _rewriteLiveReferences = require("./rewrite-live-references"); + +var _normalizeAndLoadMetadata = require("./normalize-and-load-metadata"); + +var _getModuleName = require("./get-module-name"); + +const { + booleanLiteral, + callExpression, + cloneNode, + directive, + directiveLiteral, + expressionStatement, + identifier, + isIdentifier, + memberExpression, + stringLiteral, + valueToNode, + variableDeclaration, + variableDeclarator +} = _t; + +function rewriteModuleStatementsAndPrepareHeader(path, { + loose, + exportName, + strict, + allowTopLevelThis, + strictMode, + noInterop, + importInterop = noInterop ? "none" : "babel", + lazy, + esNamespaceOnly, + constantReexports = loose, + enumerableModuleMeta = loose, + noIncompleteNsImportDetection +}) { + (0, _normalizeAndLoadMetadata.validateImportInteropOption)(importInterop); + + _assert((0, _helperModuleImports.isModule)(path), "Cannot process module statements in a script"); + + path.node.sourceType = "script"; + const meta = (0, _normalizeAndLoadMetadata.default)(path, exportName, { + importInterop, + initializeReexports: constantReexports, + lazy, + esNamespaceOnly + }); + + if (!allowTopLevelThis) { + (0, _rewriteThis.default)(path); + } + + (0, _rewriteLiveReferences.default)(path, meta); + + if (strictMode !== false) { + const hasStrict = path.node.directives.some(directive => { + return directive.value.value === "use strict"; + }); + + if (!hasStrict) { + path.unshiftContainer("directives", directive(directiveLiteral("use strict"))); + } + } + + const headers = []; + + if ((0, _normalizeAndLoadMetadata.hasExports)(meta) && !strict) { + headers.push(buildESModuleHeader(meta, enumerableModuleMeta)); + } + + const nameList = buildExportNameListDeclaration(path, meta); + + if (nameList) { + meta.exportNameListName = nameList.name; + headers.push(nameList.statement); + } + + headers.push(...buildExportInitializationStatements(path, meta, constantReexports, noIncompleteNsImportDetection)); + return { + meta, + headers + }; +} + +function ensureStatementsHoisted(statements) { + statements.forEach(header => { + header._blockHoist = 3; + }); +} + +function wrapInterop(programPath, expr, type) { + if (type === "none") { + return null; + } + + if (type === "node-namespace") { + return callExpression(programPath.hub.addHelper("interopRequireWildcard"), [expr, booleanLiteral(true)]); + } else if (type === "node-default") { + return null; + } + + let helper; + + if (type === "default") { + helper = "interopRequireDefault"; + } else if (type === "namespace") { + helper = "interopRequireWildcard"; + } else { + throw new Error(`Unknown interop: ${type}`); + } + + return callExpression(programPath.hub.addHelper(helper), [expr]); +} + +function buildNamespaceInitStatements(metadata, sourceMetadata, constantReexports = false) { + const statements = []; + let srcNamespace = identifier(sourceMetadata.name); + if (sourceMetadata.lazy) srcNamespace = callExpression(srcNamespace, []); + + for (const localName of sourceMetadata.importsNamespace) { + if (localName === sourceMetadata.name) continue; + statements.push(_template.default.statement`var NAME = SOURCE;`({ + NAME: localName, + SOURCE: cloneNode(srcNamespace) + })); + } + + if (constantReexports) { + statements.push(...buildReexportsFromMeta(metadata, sourceMetadata, true)); + } + + for (const exportName of sourceMetadata.reexportNamespace) { + statements.push((sourceMetadata.lazy ? _template.default.statement` + Object.defineProperty(EXPORTS, "NAME", { + enumerable: true, + get: function() { + return NAMESPACE; + } + }); + ` : _template.default.statement`EXPORTS.NAME = NAMESPACE;`)({ + EXPORTS: metadata.exportName, + NAME: exportName, + NAMESPACE: cloneNode(srcNamespace) + })); + } + + if (sourceMetadata.reexportAll) { + const statement = buildNamespaceReexport(metadata, cloneNode(srcNamespace), constantReexports); + statement.loc = sourceMetadata.reexportAll.loc; + statements.push(statement); + } + + return statements; +} + +const ReexportTemplate = { + constant: _template.default.statement`EXPORTS.EXPORT_NAME = NAMESPACE_IMPORT;`, + constantComputed: _template.default.statement`EXPORTS["EXPORT_NAME"] = NAMESPACE_IMPORT;`, + spec: (0, _template.default)` + Object.defineProperty(EXPORTS, "EXPORT_NAME", { + enumerable: true, + get: function() { + return NAMESPACE_IMPORT; + }, + }); + ` +}; + +const buildReexportsFromMeta = (meta, metadata, constantReexports) => { + const namespace = metadata.lazy ? callExpression(identifier(metadata.name), []) : identifier(metadata.name); + const { + stringSpecifiers + } = meta; + return Array.from(metadata.reexports, ([exportName, importName]) => { + let NAMESPACE_IMPORT = cloneNode(namespace); + + if (importName === "default" && metadata.interop === "node-default") {} else if (stringSpecifiers.has(importName)) { + NAMESPACE_IMPORT = memberExpression(NAMESPACE_IMPORT, stringLiteral(importName), true); + } else { + NAMESPACE_IMPORT = memberExpression(NAMESPACE_IMPORT, identifier(importName)); + } + + const astNodes = { + EXPORTS: meta.exportName, + EXPORT_NAME: exportName, + NAMESPACE_IMPORT + }; + + if (constantReexports || isIdentifier(NAMESPACE_IMPORT)) { + if (stringSpecifiers.has(exportName)) { + return ReexportTemplate.constantComputed(astNodes); + } else { + return ReexportTemplate.constant(astNodes); + } + } else { + return ReexportTemplate.spec(astNodes); + } + }); +}; + +function buildESModuleHeader(metadata, enumerableModuleMeta = false) { + return (enumerableModuleMeta ? _template.default.statement` + EXPORTS.__esModule = true; + ` : _template.default.statement` + Object.defineProperty(EXPORTS, "__esModule", { + value: true, + }); + `)({ + EXPORTS: metadata.exportName + }); +} + +function buildNamespaceReexport(metadata, namespace, constantReexports) { + return (constantReexports ? _template.default.statement` + Object.keys(NAMESPACE).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + VERIFY_NAME_LIST; + if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return; + + EXPORTS[key] = NAMESPACE[key]; + }); + ` : _template.default.statement` + Object.keys(NAMESPACE).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + VERIFY_NAME_LIST; + if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return; + + Object.defineProperty(EXPORTS, key, { + enumerable: true, + get: function() { + return NAMESPACE[key]; + }, + }); + }); + `)({ + NAMESPACE: namespace, + EXPORTS: metadata.exportName, + VERIFY_NAME_LIST: metadata.exportNameListName ? (0, _template.default)` + if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return; + `({ + EXPORTS_LIST: metadata.exportNameListName + }) : null + }); +} + +function buildExportNameListDeclaration(programPath, metadata) { + const exportedVars = Object.create(null); + + for (const data of metadata.local.values()) { + for (const name of data.names) { + exportedVars[name] = true; + } + } + + let hasReexport = false; + + for (const data of metadata.source.values()) { + for (const exportName of data.reexports.keys()) { + exportedVars[exportName] = true; + } + + for (const exportName of data.reexportNamespace) { + exportedVars[exportName] = true; + } + + hasReexport = hasReexport || !!data.reexportAll; + } + + if (!hasReexport || Object.keys(exportedVars).length === 0) return null; + const name = programPath.scope.generateUidIdentifier("exportNames"); + delete exportedVars.default; + return { + name: name.name, + statement: variableDeclaration("var", [variableDeclarator(name, valueToNode(exportedVars))]) + }; +} + +function buildExportInitializationStatements(programPath, metadata, constantReexports = false, noIncompleteNsImportDetection = false) { + const initStatements = []; + const exportNames = []; + + for (const [localName, data] of metadata.local) { + if (data.kind === "import") {} else if (data.kind === "hoisted") { + initStatements.push(buildInitStatement(metadata, data.names, identifier(localName))); + } else { + exportNames.push(...data.names); + } + } + + for (const data of metadata.source.values()) { + if (!constantReexports) { + initStatements.push(...buildReexportsFromMeta(metadata, data, false)); + } + + for (const exportName of data.reexportNamespace) { + exportNames.push(exportName); + } + } + + if (!noIncompleteNsImportDetection) { + initStatements.push(...chunk(exportNames, 100).map(members => { + return buildInitStatement(metadata, members, programPath.scope.buildUndefinedNode()); + })); + } + + return initStatements; +} + +const InitTemplate = { + computed: _template.default.expression`EXPORTS["NAME"] = VALUE`, + default: _template.default.expression`EXPORTS.NAME = VALUE` +}; + +function buildInitStatement(metadata, exportNames, initExpr) { + const { + stringSpecifiers, + exportName: EXPORTS + } = metadata; + return expressionStatement(exportNames.reduce((acc, exportName) => { + const params = { + EXPORTS, + NAME: exportName, + VALUE: acc + }; + + if (stringSpecifiers.has(exportName)) { + return InitTemplate.computed(params); + } else { + return InitTemplate.default(params); + } + }, initExpr)); +} + +function chunk(array, size) { + const chunks = []; + + for (let i = 0; i < array.length; i += size) { + chunks.push(array.slice(i, i + size)); + } + + return chunks; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js b/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js new file mode 100644 index 00000000..5688183e --- /dev/null +++ b/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js @@ -0,0 +1,398 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.hasExports = hasExports; +exports.isSideEffectImport = isSideEffectImport; +exports.validateImportInteropOption = validateImportInteropOption; +exports.default = normalizeModuleAndLoadMetadata; + +var _path = require("path"); + +var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); + +var _helperSplitExportDeclaration = require("@babel/helper-split-export-declaration"); + +function hasExports(metadata) { + return metadata.hasExports; +} + +function isSideEffectImport(source) { + return source.imports.size === 0 && source.importsNamespace.size === 0 && source.reexports.size === 0 && source.reexportNamespace.size === 0 && !source.reexportAll; +} + +function validateImportInteropOption(importInterop) { + if (typeof importInterop !== "function" && importInterop !== "none" && importInterop !== "babel" && importInterop !== "node") { + throw new Error(`.importInterop must be one of "none", "babel", "node", or a function returning one of those values (received ${importInterop}).`); + } + + return importInterop; +} + +function resolveImportInterop(importInterop, source) { + if (typeof importInterop === "function") { + return validateImportInteropOption(importInterop(source)); + } + + return importInterop; +} + +function normalizeModuleAndLoadMetadata(programPath, exportName, { + importInterop, + initializeReexports = false, + lazy = false, + esNamespaceOnly = false +}) { + if (!exportName) { + exportName = programPath.scope.generateUidIdentifier("exports").name; + } + + const stringSpecifiers = new Set(); + nameAnonymousExports(programPath); + const { + local, + source, + hasExports + } = getModuleMetadata(programPath, { + initializeReexports, + lazy + }, stringSpecifiers); + removeModuleDeclarations(programPath); + + for (const [, metadata] of source) { + if (metadata.importsNamespace.size > 0) { + metadata.name = metadata.importsNamespace.values().next().value; + } + + const resolvedInterop = resolveImportInterop(importInterop, metadata.source); + + if (resolvedInterop === "none") { + metadata.interop = "none"; + } else if (resolvedInterop === "node" && metadata.interop === "namespace") { + metadata.interop = "node-namespace"; + } else if (resolvedInterop === "node" && metadata.interop === "default") { + metadata.interop = "node-default"; + } else if (esNamespaceOnly && metadata.interop === "namespace") { + metadata.interop = "default"; + } + } + + return { + exportName, + exportNameListName: null, + hasExports, + local, + source, + stringSpecifiers + }; +} + +function getExportSpecifierName(path, stringSpecifiers) { + if (path.isIdentifier()) { + return path.node.name; + } else if (path.isStringLiteral()) { + const stringValue = path.node.value; + + if (!(0, _helperValidatorIdentifier.isIdentifierName)(stringValue)) { + stringSpecifiers.add(stringValue); + } + + return stringValue; + } else { + throw new Error(`Expected export specifier to be either Identifier or StringLiteral, got ${path.node.type}`); + } +} + +function assertExportSpecifier(path) { + if (path.isExportSpecifier()) { + return; + } else if (path.isExportNamespaceSpecifier()) { + throw path.buildCodeFrameError("Export namespace should be first transformed by `@babel/plugin-proposal-export-namespace-from`."); + } else { + throw path.buildCodeFrameError("Unexpected export specifier type"); + } +} + +function getModuleMetadata(programPath, { + lazy, + initializeReexports +}, stringSpecifiers) { + const localData = getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers); + const sourceData = new Map(); + + const getData = sourceNode => { + const source = sourceNode.value; + let data = sourceData.get(source); + + if (!data) { + data = { + name: programPath.scope.generateUidIdentifier((0, _path.basename)(source, (0, _path.extname)(source))).name, + interop: "none", + loc: null, + imports: new Map(), + importsNamespace: new Set(), + reexports: new Map(), + reexportNamespace: new Set(), + reexportAll: null, + lazy: false, + source + }; + sourceData.set(source, data); + } + + return data; + }; + + let hasExports = false; + programPath.get("body").forEach(child => { + if (child.isImportDeclaration()) { + const data = getData(child.node.source); + if (!data.loc) data.loc = child.node.loc; + child.get("specifiers").forEach(spec => { + if (spec.isImportDefaultSpecifier()) { + const localName = spec.get("local").node.name; + data.imports.set(localName, "default"); + const reexport = localData.get(localName); + + if (reexport) { + localData.delete(localName); + reexport.names.forEach(name => { + data.reexports.set(name, "default"); + }); + } + } else if (spec.isImportNamespaceSpecifier()) { + const localName = spec.get("local").node.name; + data.importsNamespace.add(localName); + const reexport = localData.get(localName); + + if (reexport) { + localData.delete(localName); + reexport.names.forEach(name => { + data.reexportNamespace.add(name); + }); + } + } else if (spec.isImportSpecifier()) { + const importName = getExportSpecifierName(spec.get("imported"), stringSpecifiers); + const localName = spec.get("local").node.name; + data.imports.set(localName, importName); + const reexport = localData.get(localName); + + if (reexport) { + localData.delete(localName); + reexport.names.forEach(name => { + data.reexports.set(name, importName); + }); + } + } + }); + } else if (child.isExportAllDeclaration()) { + hasExports = true; + const data = getData(child.node.source); + if (!data.loc) data.loc = child.node.loc; + data.reexportAll = { + loc: child.node.loc + }; + } else if (child.isExportNamedDeclaration() && child.node.source) { + hasExports = true; + const data = getData(child.node.source); + if (!data.loc) data.loc = child.node.loc; + child.get("specifiers").forEach(spec => { + assertExportSpecifier(spec); + const importName = getExportSpecifierName(spec.get("local"), stringSpecifiers); + const exportName = getExportSpecifierName(spec.get("exported"), stringSpecifiers); + data.reexports.set(exportName, importName); + + if (exportName === "__esModule") { + throw spec.get("exported").buildCodeFrameError('Illegal export "__esModule".'); + } + }); + } else if (child.isExportNamedDeclaration() || child.isExportDefaultDeclaration()) { + hasExports = true; + } + }); + + for (const metadata of sourceData.values()) { + let needsDefault = false; + let needsNamed = false; + + if (metadata.importsNamespace.size > 0) { + needsDefault = true; + needsNamed = true; + } + + if (metadata.reexportAll) { + needsNamed = true; + } + + for (const importName of metadata.imports.values()) { + if (importName === "default") needsDefault = true;else needsNamed = true; + } + + for (const importName of metadata.reexports.values()) { + if (importName === "default") needsDefault = true;else needsNamed = true; + } + + if (needsDefault && needsNamed) { + metadata.interop = "namespace"; + } else if (needsDefault) { + metadata.interop = "default"; + } + } + + for (const [source, metadata] of sourceData) { + if (lazy !== false && !(isSideEffectImport(metadata) || metadata.reexportAll)) { + if (lazy === true) { + metadata.lazy = !/\./.test(source); + } else if (Array.isArray(lazy)) { + metadata.lazy = lazy.indexOf(source) !== -1; + } else if (typeof lazy === "function") { + metadata.lazy = lazy(source); + } else { + throw new Error(`.lazy must be a boolean, string array, or function`); + } + } + } + + return { + hasExports, + local: localData, + source: sourceData + }; +} + +function getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers) { + const bindingKindLookup = new Map(); + programPath.get("body").forEach(child => { + let kind; + + if (child.isImportDeclaration()) { + kind = "import"; + } else { + if (child.isExportDefaultDeclaration()) child = child.get("declaration"); + + if (child.isExportNamedDeclaration()) { + if (child.node.declaration) { + child = child.get("declaration"); + } else if (initializeReexports && child.node.source && child.get("source").isStringLiteral()) { + child.get("specifiers").forEach(spec => { + assertExportSpecifier(spec); + bindingKindLookup.set(spec.get("local").node.name, "block"); + }); + return; + } + } + + if (child.isFunctionDeclaration()) { + kind = "hoisted"; + } else if (child.isClassDeclaration()) { + kind = "block"; + } else if (child.isVariableDeclaration({ + kind: "var" + })) { + kind = "var"; + } else if (child.isVariableDeclaration()) { + kind = "block"; + } else { + return; + } + } + + Object.keys(child.getOuterBindingIdentifiers()).forEach(name => { + bindingKindLookup.set(name, kind); + }); + }); + const localMetadata = new Map(); + + const getLocalMetadata = idPath => { + const localName = idPath.node.name; + let metadata = localMetadata.get(localName); + + if (!metadata) { + const kind = bindingKindLookup.get(localName); + + if (kind === undefined) { + throw idPath.buildCodeFrameError(`Exporting local "${localName}", which is not declared.`); + } + + metadata = { + names: [], + kind + }; + localMetadata.set(localName, metadata); + } + + return metadata; + }; + + programPath.get("body").forEach(child => { + if (child.isExportNamedDeclaration() && (initializeReexports || !child.node.source)) { + if (child.node.declaration) { + const declaration = child.get("declaration"); + const ids = declaration.getOuterBindingIdentifierPaths(); + Object.keys(ids).forEach(name => { + if (name === "__esModule") { + throw declaration.buildCodeFrameError('Illegal export "__esModule".'); + } + + getLocalMetadata(ids[name]).names.push(name); + }); + } else { + child.get("specifiers").forEach(spec => { + const local = spec.get("local"); + const exported = spec.get("exported"); + const localMetadata = getLocalMetadata(local); + const exportName = getExportSpecifierName(exported, stringSpecifiers); + + if (exportName === "__esModule") { + throw exported.buildCodeFrameError('Illegal export "__esModule".'); + } + + localMetadata.names.push(exportName); + }); + } + } else if (child.isExportDefaultDeclaration()) { + const declaration = child.get("declaration"); + + if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) { + getLocalMetadata(declaration.get("id")).names.push("default"); + } else { + throw declaration.buildCodeFrameError("Unexpected default expression export."); + } + } + }); + return localMetadata; +} + +function nameAnonymousExports(programPath) { + programPath.get("body").forEach(child => { + if (!child.isExportDefaultDeclaration()) return; + (0, _helperSplitExportDeclaration.default)(child); + }); +} + +function removeModuleDeclarations(programPath) { + programPath.get("body").forEach(child => { + if (child.isImportDeclaration()) { + child.remove(); + } else if (child.isExportNamedDeclaration()) { + if (child.node.declaration) { + child.node.declaration._blockHoist = child.node._blockHoist; + child.replaceWith(child.node.declaration); + } else { + child.remove(); + } + } else if (child.isExportDefaultDeclaration()) { + const declaration = child.get("declaration"); + + if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) { + declaration._blockHoist = child.node._blockHoist; + child.replaceWith(declaration); + } else { + throw declaration.buildCodeFrameError("Unexpected default expression export."); + } + } else if (child.isExportAllDeclaration()) { + child.remove(); + } + }); +} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js b/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js new file mode 100644 index 00000000..8173fd57 --- /dev/null +++ b/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js @@ -0,0 +1,360 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = rewriteLiveReferences; + +var _assert = require("assert"); + +var _t = require("@babel/types"); + +var _template = require("@babel/template"); + +var _helperSimpleAccess = require("@babel/helper-simple-access"); + +const { + assignmentExpression, + callExpression, + cloneNode, + expressionStatement, + getOuterBindingIdentifiers, + identifier, + isMemberExpression, + isVariableDeclaration, + jsxIdentifier, + jsxMemberExpression, + memberExpression, + numericLiteral, + sequenceExpression, + stringLiteral, + variableDeclaration, + variableDeclarator +} = _t; + +function isInType(path) { + do { + switch (path.parent.type) { + case "TSTypeAnnotation": + case "TSTypeAliasDeclaration": + case "TSTypeReference": + case "TypeAnnotation": + case "TypeAlias": + return true; + + case "ExportSpecifier": + return path.parentPath.parent.exportKind === "type"; + + default: + if (path.parentPath.isStatement() || path.parentPath.isExpression()) { + return false; + } + + } + } while (path = path.parentPath); +} + +function rewriteLiveReferences(programPath, metadata) { + const imported = new Map(); + const exported = new Map(); + + const requeueInParent = path => { + programPath.requeue(path); + }; + + for (const [source, data] of metadata.source) { + for (const [localName, importName] of data.imports) { + imported.set(localName, [source, importName, null]); + } + + for (const localName of data.importsNamespace) { + imported.set(localName, [source, null, localName]); + } + } + + for (const [local, data] of metadata.local) { + let exportMeta = exported.get(local); + + if (!exportMeta) { + exportMeta = []; + exported.set(local, exportMeta); + } + + exportMeta.push(...data.names); + } + + const rewriteBindingInitVisitorState = { + metadata, + requeueInParent, + scope: programPath.scope, + exported + }; + programPath.traverse(rewriteBindingInitVisitor, rewriteBindingInitVisitorState); + (0, _helperSimpleAccess.default)(programPath, new Set([...Array.from(imported.keys()), ...Array.from(exported.keys())])); + const rewriteReferencesVisitorState = { + seen: new WeakSet(), + metadata, + requeueInParent, + scope: programPath.scope, + imported, + exported, + buildImportReference: ([source, importName, localName], identNode) => { + const meta = metadata.source.get(source); + + if (localName) { + if (meta.lazy) identNode = callExpression(identNode, []); + return identNode; + } + + let namespace = identifier(meta.name); + if (meta.lazy) namespace = callExpression(namespace, []); + + if (importName === "default" && meta.interop === "node-default") { + return namespace; + } + + const computed = metadata.stringSpecifiers.has(importName); + return memberExpression(namespace, computed ? stringLiteral(importName) : identifier(importName), computed); + } + }; + programPath.traverse(rewriteReferencesVisitor, rewriteReferencesVisitorState); +} + +const rewriteBindingInitVisitor = { + Scope(path) { + path.skip(); + }, + + ClassDeclaration(path) { + const { + requeueInParent, + exported, + metadata + } = this; + const { + id + } = path.node; + if (!id) throw new Error("Expected class to have a name"); + const localName = id.name; + const exportNames = exported.get(localName) || []; + + if (exportNames.length > 0) { + const statement = expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, identifier(localName))); + statement._blockHoist = path.node._blockHoist; + requeueInParent(path.insertAfter(statement)[0]); + } + }, + + VariableDeclaration(path) { + const { + requeueInParent, + exported, + metadata + } = this; + Object.keys(path.getOuterBindingIdentifiers()).forEach(localName => { + const exportNames = exported.get(localName) || []; + + if (exportNames.length > 0) { + const statement = expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, identifier(localName))); + statement._blockHoist = path.node._blockHoist; + requeueInParent(path.insertAfter(statement)[0]); + } + }); + } + +}; + +const buildBindingExportAssignmentExpression = (metadata, exportNames, localExpr) => { + return (exportNames || []).reduce((expr, exportName) => { + const { + stringSpecifiers + } = metadata; + const computed = stringSpecifiers.has(exportName); + return assignmentExpression("=", memberExpression(identifier(metadata.exportName), computed ? stringLiteral(exportName) : identifier(exportName), computed), expr); + }, localExpr); +}; + +const buildImportThrow = localName => { + return _template.default.expression.ast` + (function() { + throw new Error('"' + '${localName}' + '" is read-only.'); + })() + `; +}; + +const rewriteReferencesVisitor = { + ReferencedIdentifier(path) { + const { + seen, + buildImportReference, + scope, + imported, + requeueInParent + } = this; + if (seen.has(path.node)) return; + seen.add(path.node); + const localName = path.node.name; + const importData = imported.get(localName); + + if (importData) { + if (isInType(path)) { + throw path.buildCodeFrameError(`Cannot transform the imported binding "${localName}" since it's also used in a type annotation. ` + `Please strip type annotations using @babel/preset-typescript or @babel/preset-flow.`); + } + + const localBinding = path.scope.getBinding(localName); + const rootBinding = scope.getBinding(localName); + if (rootBinding !== localBinding) return; + const ref = buildImportReference(importData, path.node); + ref.loc = path.node.loc; + + if ((path.parentPath.isCallExpression({ + callee: path.node + }) || path.parentPath.isOptionalCallExpression({ + callee: path.node + }) || path.parentPath.isTaggedTemplateExpression({ + tag: path.node + })) && isMemberExpression(ref)) { + path.replaceWith(sequenceExpression([numericLiteral(0), ref])); + } else if (path.isJSXIdentifier() && isMemberExpression(ref)) { + const { + object, + property + } = ref; + path.replaceWith(jsxMemberExpression(jsxIdentifier(object.name), jsxIdentifier(property.name))); + } else { + path.replaceWith(ref); + } + + requeueInParent(path); + path.skip(); + } + }, + + AssignmentExpression: { + exit(path) { + const { + scope, + seen, + imported, + exported, + requeueInParent, + buildImportReference + } = this; + if (seen.has(path.node)) return; + seen.add(path.node); + const left = path.get("left"); + if (left.isMemberExpression()) return; + + if (left.isIdentifier()) { + const localName = left.node.name; + + if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { + return; + } + + const exportedNames = exported.get(localName); + const importData = imported.get(localName); + + if ((exportedNames == null ? void 0 : exportedNames.length) > 0 || importData) { + _assert(path.node.operator === "=", "Path was not simplified"); + + const assignment = path.node; + + if (importData) { + assignment.left = buildImportReference(importData, assignment.left); + assignment.right = sequenceExpression([assignment.right, buildImportThrow(localName)]); + } + + path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, assignment)); + requeueInParent(path); + } + } else { + const ids = left.getOuterBindingIdentifiers(); + const programScopeIds = Object.keys(ids).filter(localName => scope.getBinding(localName) === path.scope.getBinding(localName)); + const id = programScopeIds.find(localName => imported.has(localName)); + + if (id) { + path.node.right = sequenceExpression([path.node.right, buildImportThrow(id)]); + } + + const items = []; + programScopeIds.forEach(localName => { + const exportedNames = exported.get(localName) || []; + + if (exportedNames.length > 0) { + items.push(buildBindingExportAssignmentExpression(this.metadata, exportedNames, identifier(localName))); + } + }); + + if (items.length > 0) { + let node = sequenceExpression(items); + + if (path.parentPath.isExpressionStatement()) { + node = expressionStatement(node); + node._blockHoist = path.parentPath.node._blockHoist; + } + + const statement = path.insertAfter(node)[0]; + requeueInParent(statement); + } + } + } + + }, + + "ForOfStatement|ForInStatement"(path) { + const { + scope, + node + } = path; + const { + left + } = node; + const { + exported, + imported, + scope: programScope + } = this; + + if (!isVariableDeclaration(left)) { + let didTransformExport = false, + importConstViolationName; + const loopBodyScope = path.get("body").scope; + + for (const name of Object.keys(getOuterBindingIdentifiers(left))) { + if (programScope.getBinding(name) === scope.getBinding(name)) { + if (exported.has(name)) { + didTransformExport = true; + + if (loopBodyScope.hasOwnBinding(name)) { + loopBodyScope.rename(name); + } + } + + if (imported.has(name) && !importConstViolationName) { + importConstViolationName = name; + } + } + } + + if (!didTransformExport && !importConstViolationName) { + return; + } + + path.ensureBlock(); + const bodyPath = path.get("body"); + const newLoopId = scope.generateUidIdentifierBasedOnNode(left); + path.get("left").replaceWith(variableDeclaration("let", [variableDeclarator(cloneNode(newLoopId))])); + scope.registerDeclaration(path.get("left")); + + if (didTransformExport) { + bodyPath.unshiftContainer("body", expressionStatement(assignmentExpression("=", left, newLoopId))); + } + + if (importConstViolationName) { + bodyPath.unshiftContainer("body", expressionStatement(buildImportThrow(importConstViolationName))); + } + } + } + +}; \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js b/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js new file mode 100644 index 00000000..0f32b201 --- /dev/null +++ b/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js @@ -0,0 +1,30 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = rewriteThis; + +var _helperReplaceSupers = require("@babel/helper-replace-supers"); + +var _traverse = require("@babel/traverse"); + +var _t = require("@babel/types"); + +const { + numericLiteral, + unaryExpression +} = _t; + +function rewriteThis(programPath) { + (0, _traverse.default)(programPath.node, Object.assign({}, rewriteThisVisitor, { + noScope: true + })); +} + +const rewriteThisVisitor = _traverse.default.visitors.merge([_helperReplaceSupers.environmentVisitor, { + ThisExpression(path) { + path.replaceWith(unaryExpression("void", numericLiteral(0), true)); + } + +}]); \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/package.json b/node_modules/@babel/helper-module-transforms/package.json new file mode 100644 index 00000000..294f36a7 --- /dev/null +++ b/node_modules/@babel/helper-module-transforms/package.json @@ -0,0 +1,30 @@ +{ + "name": "@babel/helper-module-transforms", + "version": "7.15.7", + "description": "Babel helper functions for implementing ES6 module transformations", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-helper-module-transforms", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-module-transforms" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/helper-optimise-call-expression/LICENSE b/node_modules/@babel/helper-optimise-call-expression/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-optimise-call-expression/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-optimise-call-expression/README.md b/node_modules/@babel/helper-optimise-call-expression/README.md new file mode 100644 index 00000000..3fdbc9bf --- /dev/null +++ b/node_modules/@babel/helper-optimise-call-expression/README.md @@ -0,0 +1,19 @@ +# @babel/helper-optimise-call-expression + +> Helper function to optimise call expression + +See our website [@babel/helper-optimise-call-expression](https://babeljs.io/docs/en/babel-helper-optimise-call-expression) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-optimise-call-expression +``` + +or using yarn: + +```sh +yarn add @babel/helper-optimise-call-expression --dev +``` diff --git a/node_modules/@babel/helper-optimise-call-expression/lib/index.js b/node_modules/@babel/helper-optimise-call-expression/lib/index.js new file mode 100644 index 00000000..c5a27e1e --- /dev/null +++ b/node_modules/@babel/helper-optimise-call-expression/lib/index.js @@ -0,0 +1,36 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = optimiseCallExpression; + +var _t = require("@babel/types"); + +const { + callExpression, + identifier, + isIdentifier, + isSpreadElement, + memberExpression, + optionalCallExpression, + optionalMemberExpression +} = _t; + +function optimiseCallExpression(callee, thisNode, args, optional) { + if (args.length === 1 && isSpreadElement(args[0]) && isIdentifier(args[0].argument, { + name: "arguments" + })) { + if (optional) { + return optionalCallExpression(optionalMemberExpression(callee, identifier("apply"), false, true), [thisNode, args[0].argument], false); + } + + return callExpression(memberExpression(callee, identifier("apply")), [thisNode, args[0].argument]); + } else { + if (optional) { + return optionalCallExpression(optionalMemberExpression(callee, identifier("call"), false, true), [thisNode, ...args], false); + } + + return callExpression(memberExpression(callee, identifier("call")), [thisNode, ...args]); + } +} \ No newline at end of file diff --git a/node_modules/@babel/helper-optimise-call-expression/package.json b/node_modules/@babel/helper-optimise-call-expression/package.json new file mode 100644 index 00000000..258c8f4d --- /dev/null +++ b/node_modules/@babel/helper-optimise-call-expression/package.json @@ -0,0 +1,27 @@ +{ + "name": "@babel/helper-optimise-call-expression", + "version": "7.15.4", + "description": "Helper function to optimise call expression", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-optimise-call-expression" + }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-optimise-call-expression", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "devDependencies": { + "@babel/generator": "7.15.4", + "@babel/parser": "7.15.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/node_modules/@babel/helper-replace-supers/LICENSE b/node_modules/@babel/helper-replace-supers/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-replace-supers/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-replace-supers/README.md b/node_modules/@babel/helper-replace-supers/README.md new file mode 100644 index 00000000..774e0fa4 --- /dev/null +++ b/node_modules/@babel/helper-replace-supers/README.md @@ -0,0 +1,19 @@ +# @babel/helper-replace-supers + +> Helper function to replace supers + +See our website [@babel/helper-replace-supers](https://babeljs.io/docs/en/babel-helper-replace-supers) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-replace-supers +``` + +or using yarn: + +```sh +yarn add @babel/helper-replace-supers --dev +``` diff --git a/node_modules/@babel/helper-replace-supers/lib/index.js b/node_modules/@babel/helper-replace-supers/lib/index.js new file mode 100644 index 00000000..d18b8183 --- /dev/null +++ b/node_modules/@babel/helper-replace-supers/lib/index.js @@ -0,0 +1,293 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.skipAllButComputedKey = skipAllButComputedKey; +exports.default = exports.environmentVisitor = void 0; + +var _traverse = require("@babel/traverse"); + +var _helperMemberExpressionToFunctions = require("@babel/helper-member-expression-to-functions"); + +var _helperOptimiseCallExpression = require("@babel/helper-optimise-call-expression"); + +var _t = require("@babel/types"); + +const { + VISITOR_KEYS, + assignmentExpression, + booleanLiteral, + callExpression, + cloneNode, + identifier, + memberExpression, + sequenceExpression, + staticBlock, + stringLiteral, + thisExpression +} = _t; + +function getPrototypeOfExpression(objectRef, isStatic, file, isPrivateMethod) { + objectRef = cloneNode(objectRef); + const targetRef = isStatic || isPrivateMethod ? objectRef : memberExpression(objectRef, identifier("prototype")); + return callExpression(file.addHelper("getPrototypeOf"), [targetRef]); +} + +function skipAllButComputedKey(path) { + if (!path.node.computed) { + path.skip(); + return; + } + + const keys = VISITOR_KEYS[path.type]; + + for (const key of keys) { + if (key !== "key") path.skipKey(key); + } +} + +const environmentVisitor = { + [`${staticBlock ? "StaticBlock|" : ""}ClassPrivateProperty|TypeAnnotation`](path) { + path.skip(); + }, + + Function(path) { + if (path.isMethod()) return; + if (path.isArrowFunctionExpression()) return; + path.skip(); + }, + + "Method|ClassProperty"(path) { + skipAllButComputedKey(path); + } + +}; +exports.environmentVisitor = environmentVisitor; + +const visitor = _traverse.default.visitors.merge([environmentVisitor, { + Super(path, state) { + const { + node, + parentPath + } = path; + if (!parentPath.isMemberExpression({ + object: node + })) return; + state.handle(parentPath); + } + +}]); + +const unshadowSuperBindingVisitor = _traverse.default.visitors.merge([environmentVisitor, { + Scopable(path, { + refName + }) { + const binding = path.scope.getOwnBinding(refName); + + if (binding && binding.identifier.name === refName) { + path.scope.rename(refName); + } + } + +}]); + +const specHandlers = { + memoise(superMember, count) { + const { + scope, + node + } = superMember; + const { + computed, + property + } = node; + + if (!computed) { + return; + } + + const memo = scope.maybeGenerateMemoised(property); + + if (!memo) { + return; + } + + this.memoiser.set(property, memo, count); + }, + + prop(superMember) { + const { + computed, + property + } = superMember.node; + + if (this.memoiser.has(property)) { + return cloneNode(this.memoiser.get(property)); + } + + if (computed) { + return cloneNode(property); + } + + return stringLiteral(property.name); + }, + + get(superMember) { + return this._get(superMember, this._getThisRefs()); + }, + + _get(superMember, thisRefs) { + const proto = getPrototypeOfExpression(this.getObjectRef(), this.isStatic, this.file, this.isPrivateMethod); + return callExpression(this.file.addHelper("get"), [thisRefs.memo ? sequenceExpression([thisRefs.memo, proto]) : proto, this.prop(superMember), thisRefs.this]); + }, + + _getThisRefs() { + if (!this.isDerivedConstructor) { + return { + this: thisExpression() + }; + } + + const thisRef = this.scope.generateDeclaredUidIdentifier("thisSuper"); + return { + memo: assignmentExpression("=", thisRef, thisExpression()), + this: cloneNode(thisRef) + }; + }, + + set(superMember, value) { + const thisRefs = this._getThisRefs(); + + const proto = getPrototypeOfExpression(this.getObjectRef(), this.isStatic, this.file, this.isPrivateMethod); + return callExpression(this.file.addHelper("set"), [thisRefs.memo ? sequenceExpression([thisRefs.memo, proto]) : proto, this.prop(superMember), value, thisRefs.this, booleanLiteral(superMember.isInStrictMode())]); + }, + + destructureSet(superMember) { + throw superMember.buildCodeFrameError(`Destructuring to a super field is not supported yet.`); + }, + + call(superMember, args) { + const thisRefs = this._getThisRefs(); + + return (0, _helperOptimiseCallExpression.default)(this._get(superMember, thisRefs), cloneNode(thisRefs.this), args, false); + }, + + optionalCall(superMember, args) { + const thisRefs = this._getThisRefs(); + + return (0, _helperOptimiseCallExpression.default)(this._get(superMember, thisRefs), cloneNode(thisRefs.this), args, true); + } + +}; +const looseHandlers = Object.assign({}, specHandlers, { + prop(superMember) { + const { + property + } = superMember.node; + + if (this.memoiser.has(property)) { + return cloneNode(this.memoiser.get(property)); + } + + return cloneNode(property); + }, + + get(superMember) { + const { + isStatic, + getSuperRef + } = this; + const { + computed + } = superMember.node; + const prop = this.prop(superMember); + let object; + + if (isStatic) { + var _getSuperRef; + + object = (_getSuperRef = getSuperRef()) != null ? _getSuperRef : memberExpression(identifier("Function"), identifier("prototype")); + } else { + var _getSuperRef2; + + object = memberExpression((_getSuperRef2 = getSuperRef()) != null ? _getSuperRef2 : identifier("Object"), identifier("prototype")); + } + + return memberExpression(object, prop, computed); + }, + + set(superMember, value) { + const { + computed + } = superMember.node; + const prop = this.prop(superMember); + return assignmentExpression("=", memberExpression(thisExpression(), prop, computed), value); + }, + + destructureSet(superMember) { + const { + computed + } = superMember.node; + const prop = this.prop(superMember); + return memberExpression(thisExpression(), prop, computed); + }, + + call(superMember, args) { + return (0, _helperOptimiseCallExpression.default)(this.get(superMember), thisExpression(), args, false); + }, + + optionalCall(superMember, args) { + return (0, _helperOptimiseCallExpression.default)(this.get(superMember), thisExpression(), args, true); + } + +}); + +class ReplaceSupers { + constructor(opts) { + var _opts$constantSuper; + + const path = opts.methodPath; + this.methodPath = path; + this.isDerivedConstructor = path.isClassMethod({ + kind: "constructor" + }) && !!opts.superRef; + this.isStatic = path.isObjectMethod() || path.node.static || (path.isStaticBlock == null ? void 0 : path.isStaticBlock()); + this.isPrivateMethod = path.isPrivate() && path.isMethod(); + this.file = opts.file; + this.constantSuper = (_opts$constantSuper = opts.constantSuper) != null ? _opts$constantSuper : opts.isLoose; + this.opts = opts; + } + + getObjectRef() { + return cloneNode(this.opts.objectRef || this.opts.getObjectRef()); + } + + getSuperRef() { + if (this.opts.superRef) return cloneNode(this.opts.superRef); + if (this.opts.getSuperRef) return cloneNode(this.opts.getSuperRef()); + } + + replace() { + if (this.opts.refToPreserve) { + this.methodPath.traverse(unshadowSuperBindingVisitor, { + refName: this.opts.refToPreserve.name + }); + } + + const handler = this.constantSuper ? looseHandlers : specHandlers; + (0, _helperMemberExpressionToFunctions.default)(this.methodPath, visitor, Object.assign({ + file: this.file, + scope: this.methodPath.scope, + isDerivedConstructor: this.isDerivedConstructor, + isStatic: this.isStatic, + isPrivateMethod: this.isPrivateMethod, + getObjectRef: this.getObjectRef.bind(this), + getSuperRef: this.getSuperRef.bind(this), + boundGet: handler.get + }, handler)); + } + +} + +exports.default = ReplaceSupers; \ No newline at end of file diff --git a/node_modules/@babel/helper-replace-supers/package.json b/node_modules/@babel/helper-replace-supers/package.json new file mode 100644 index 00000000..22c1238b --- /dev/null +++ b/node_modules/@babel/helper-replace-supers/package.json @@ -0,0 +1,26 @@ +{ + "name": "@babel/helper-replace-supers", + "version": "7.15.4", + "description": "Helper function to replace supers", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-replace-supers" + }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-replace-supers", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/node_modules/@babel/helper-simple-access/LICENSE b/node_modules/@babel/helper-simple-access/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-simple-access/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-simple-access/README.md b/node_modules/@babel/helper-simple-access/README.md new file mode 100644 index 00000000..1e15dfa2 --- /dev/null +++ b/node_modules/@babel/helper-simple-access/README.md @@ -0,0 +1,19 @@ +# @babel/helper-simple-access + +> Babel helper for ensuring that access to a given value is performed through simple accesses + +See our website [@babel/helper-simple-access](https://babeljs.io/docs/en/babel-helper-simple-access) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-simple-access +``` + +or using yarn: + +```sh +yarn add @babel/helper-simple-access --dev +``` diff --git a/node_modules/@babel/helper-simple-access/lib/index.js b/node_modules/@babel/helper-simple-access/lib/index.js new file mode 100644 index 00000000..69bacda6 --- /dev/null +++ b/node_modules/@babel/helper-simple-access/lib/index.js @@ -0,0 +1,93 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = simplifyAccess; + +var _t = require("@babel/types"); + +const { + LOGICAL_OPERATORS, + assignmentExpression, + binaryExpression, + cloneNode, + identifier, + logicalExpression, + numericLiteral, + sequenceExpression, + unaryExpression +} = _t; + +function simplifyAccess(path, bindingNames) { + path.traverse(simpleAssignmentVisitor, { + scope: path.scope, + bindingNames, + seen: new WeakSet() + }); +} + +const simpleAssignmentVisitor = { + UpdateExpression: { + exit(path) { + const { + scope, + bindingNames + } = this; + const arg = path.get("argument"); + if (!arg.isIdentifier()) return; + const localName = arg.node.name; + if (!bindingNames.has(localName)) return; + + if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { + return; + } + + if (path.parentPath.isExpressionStatement() && !path.isCompletionRecord()) { + const operator = path.node.operator == "++" ? "+=" : "-="; + path.replaceWith(assignmentExpression(operator, arg.node, numericLiteral(1))); + } else if (path.node.prefix) { + path.replaceWith(assignmentExpression("=", identifier(localName), binaryExpression(path.node.operator[0], unaryExpression("+", arg.node), numericLiteral(1)))); + } else { + const old = path.scope.generateUidIdentifierBasedOnNode(arg.node, "old"); + const varName = old.name; + path.scope.push({ + id: old + }); + const binary = binaryExpression(path.node.operator[0], identifier(varName), numericLiteral(1)); + path.replaceWith(sequenceExpression([assignmentExpression("=", identifier(varName), unaryExpression("+", arg.node)), assignmentExpression("=", cloneNode(arg.node), binary), identifier(varName)])); + } + } + + }, + AssignmentExpression: { + exit(path) { + const { + scope, + seen, + bindingNames + } = this; + if (path.node.operator === "=") return; + if (seen.has(path.node)) return; + seen.add(path.node); + const left = path.get("left"); + if (!left.isIdentifier()) return; + const localName = left.node.name; + if (!bindingNames.has(localName)) return; + + if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { + return; + } + + const operator = path.node.operator.slice(0, -1); + + if (LOGICAL_OPERATORS.includes(operator)) { + path.replaceWith(logicalExpression(operator, path.node.left, assignmentExpression("=", cloneNode(path.node.left), path.node.right))); + } else { + path.node.right = binaryExpression(operator, cloneNode(path.node.left), path.node.right); + path.node.operator = "="; + } + } + + } +}; \ No newline at end of file diff --git a/node_modules/@babel/helper-simple-access/package.json b/node_modules/@babel/helper-simple-access/package.json new file mode 100644 index 00000000..63cbfbc9 --- /dev/null +++ b/node_modules/@babel/helper-simple-access/package.json @@ -0,0 +1,26 @@ +{ + "name": "@babel/helper-simple-access", + "version": "7.15.4", + "description": "Babel helper for ensuring that access to a given value is performed through simple accesses", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-helper-simple-access", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-simple-access" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "devDependencies": { + "@babel/traverse": "7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/helper-split-export-declaration/LICENSE b/node_modules/@babel/helper-split-export-declaration/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-split-export-declaration/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-split-export-declaration/README.md b/node_modules/@babel/helper-split-export-declaration/README.md new file mode 100644 index 00000000..a6f54046 --- /dev/null +++ b/node_modules/@babel/helper-split-export-declaration/README.md @@ -0,0 +1,19 @@ +# @babel/helper-split-export-declaration + +> + +See our website [@babel/helper-split-export-declaration](https://babeljs.io/docs/en/babel-helper-split-export-declaration) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-split-export-declaration +``` + +or using yarn: + +```sh +yarn add @babel/helper-split-export-declaration --dev +``` diff --git a/node_modules/@babel/helper-split-export-declaration/lib/index.js b/node_modules/@babel/helper-split-export-declaration/lib/index.js new file mode 100644 index 00000000..6007f89c --- /dev/null +++ b/node_modules/@babel/helper-split-export-declaration/lib/index.js @@ -0,0 +1,67 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = splitExportDeclaration; + +var _t = require("@babel/types"); + +const { + cloneNode, + exportNamedDeclaration, + exportSpecifier, + identifier, + variableDeclaration, + variableDeclarator +} = _t; + +function splitExportDeclaration(exportDeclaration) { + if (!exportDeclaration.isExportDeclaration()) { + throw new Error("Only export declarations can be split."); + } + + const isDefault = exportDeclaration.isExportDefaultDeclaration(); + const declaration = exportDeclaration.get("declaration"); + const isClassDeclaration = declaration.isClassDeclaration(); + + if (isDefault) { + const standaloneDeclaration = declaration.isFunctionDeclaration() || isClassDeclaration; + const scope = declaration.isScope() ? declaration.scope.parent : declaration.scope; + let id = declaration.node.id; + let needBindingRegistration = false; + + if (!id) { + needBindingRegistration = true; + id = scope.generateUidIdentifier("default"); + + if (standaloneDeclaration || declaration.isFunctionExpression() || declaration.isClassExpression()) { + declaration.node.id = cloneNode(id); + } + } + + const updatedDeclaration = standaloneDeclaration ? declaration : variableDeclaration("var", [variableDeclarator(cloneNode(id), declaration.node)]); + const updatedExportDeclaration = exportNamedDeclaration(null, [exportSpecifier(cloneNode(id), identifier("default"))]); + exportDeclaration.insertAfter(updatedExportDeclaration); + exportDeclaration.replaceWith(updatedDeclaration); + + if (needBindingRegistration) { + scope.registerDeclaration(exportDeclaration); + } + + return exportDeclaration; + } + + if (exportDeclaration.get("specifiers").length > 0) { + throw new Error("It doesn't make sense to split exported specifiers."); + } + + const bindingIdentifiers = declaration.getOuterBindingIdentifiers(); + const specifiers = Object.keys(bindingIdentifiers).map(name => { + return exportSpecifier(identifier(name), identifier(name)); + }); + const aliasDeclar = exportNamedDeclaration(null, specifiers); + exportDeclaration.insertAfter(aliasDeclar); + exportDeclaration.replaceWith(declaration.node); + return exportDeclaration; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-split-export-declaration/package.json b/node_modules/@babel/helper-split-export-declaration/package.json new file mode 100644 index 00000000..8c32ea4f --- /dev/null +++ b/node_modules/@babel/helper-split-export-declaration/package.json @@ -0,0 +1,23 @@ +{ + "name": "@babel/helper-split-export-declaration", + "version": "7.15.4", + "description": "", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-split-export-declaration" + }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-split-export-declaration", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-identifier/LICENSE b/node_modules/@babel/helper-validator-identifier/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-validator-identifier/README.md b/node_modules/@babel/helper-validator-identifier/README.md new file mode 100644 index 00000000..6733576a --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/README.md @@ -0,0 +1,19 @@ +# @babel/helper-validator-identifier + +> Validate identifier/keywords name + +See our website [@babel/helper-validator-identifier](https://babeljs.io/docs/en/babel-helper-validator-identifier) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-validator-identifier +``` + +or using yarn: + +```sh +yarn add @babel/helper-validator-identifier --dev +``` diff --git a/node_modules/@babel/helper-validator-identifier/lib/identifier.js b/node_modules/@babel/helper-validator-identifier/lib/identifier.js new file mode 100644 index 00000000..b8a5d9a6 --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/lib/identifier.js @@ -0,0 +1,84 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isIdentifierStart = isIdentifierStart; +exports.isIdentifierChar = isIdentifierChar; +exports.isIdentifierName = isIdentifierName; +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; +const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1070, 4050, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 46, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 482, 44, 11, 6, 17, 0, 322, 29, 19, 43, 1269, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4152, 8, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938]; +const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 357, 0, 62, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; + +function isInAstralSet(code, set) { + let pos = 0x10000; + + for (let i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) return false; + pos += set[i + 1]; + if (pos >= code) return true; + } + + return false; +} + +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes); +} + +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} + +function isIdentifierName(name) { + let isFirst = true; + + for (let i = 0; i < name.length; i++) { + let cp = name.charCodeAt(i); + + if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) { + const trail = name.charCodeAt(++i); + + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } + + if (isFirst) { + isFirst = false; + + if (!isIdentifierStart(cp)) { + return false; + } + } else if (!isIdentifierChar(cp)) { + return false; + } + } + + return !isFirst; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-identifier/lib/index.js b/node_modules/@babel/helper-validator-identifier/lib/index.js new file mode 100644 index 00000000..7b623c90 --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/lib/index.js @@ -0,0 +1,57 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "isIdentifierName", { + enumerable: true, + get: function () { + return _identifier.isIdentifierName; + } +}); +Object.defineProperty(exports, "isIdentifierChar", { + enumerable: true, + get: function () { + return _identifier.isIdentifierChar; + } +}); +Object.defineProperty(exports, "isIdentifierStart", { + enumerable: true, + get: function () { + return _identifier.isIdentifierStart; + } +}); +Object.defineProperty(exports, "isReservedWord", { + enumerable: true, + get: function () { + return _keyword.isReservedWord; + } +}); +Object.defineProperty(exports, "isStrictBindOnlyReservedWord", { + enumerable: true, + get: function () { + return _keyword.isStrictBindOnlyReservedWord; + } +}); +Object.defineProperty(exports, "isStrictBindReservedWord", { + enumerable: true, + get: function () { + return _keyword.isStrictBindReservedWord; + } +}); +Object.defineProperty(exports, "isStrictReservedWord", { + enumerable: true, + get: function () { + return _keyword.isStrictReservedWord; + } +}); +Object.defineProperty(exports, "isKeyword", { + enumerable: true, + get: function () { + return _keyword.isKeyword; + } +}); + +var _identifier = require("./identifier"); + +var _keyword = require("./keyword"); \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-identifier/lib/keyword.js b/node_modules/@babel/helper-validator-identifier/lib/keyword.js new file mode 100644 index 00000000..110cee40 --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/lib/keyword.js @@ -0,0 +1,38 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isReservedWord = isReservedWord; +exports.isStrictReservedWord = isStrictReservedWord; +exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; +exports.isStrictBindReservedWord = isStrictBindReservedWord; +exports.isKeyword = isKeyword; +const reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] +}; +const keywords = new Set(reservedWords.keyword); +const reservedWordsStrictSet = new Set(reservedWords.strict); +const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); + +function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; +} + +function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); +} + +function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); +} + +function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); +} + +function isKeyword(word) { + return keywords.has(word); +} \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-identifier/package.json b/node_modules/@babel/helper-validator-identifier/package.json new file mode 100644 index 00000000..0efb119c --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/package.json @@ -0,0 +1,24 @@ +{ + "name": "@babel/helper-validator-identifier", + "version": "7.15.7", + "description": "Validate identifier/keywords name", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-validator-identifier" + }, + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "exports": "./lib/index.js", + "devDependencies": { + "@unicode/unicode-14.0.0": "^1.2.1", + "charcodes": "^0.2.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js b/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js new file mode 100644 index 00000000..f644d77d --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js @@ -0,0 +1,75 @@ +"use strict"; + +// Always use the latest available version of Unicode! +// https://tc39.github.io/ecma262/#sec-conformance +const version = "14.0.0"; + +const start = require("@unicode/unicode-" + + version + + "/Binary_Property/ID_Start/code-points.js").filter(function (ch) { + return ch > 0x7f; +}); +let last = -1; +const cont = [0x200c, 0x200d].concat( + require("@unicode/unicode-" + + version + + "/Binary_Property/ID_Continue/code-points.js").filter(function (ch) { + return ch > 0x7f && search(start, ch, last + 1) == -1; + }) +); + +function search(arr, ch, starting) { + for (let i = starting; arr[i] <= ch && i < arr.length; last = i++) { + if (arr[i] === ch) return i; + } + return -1; +} + +function pad(str, width) { + while (str.length < width) str = "0" + str; + return str; +} + +function esc(code) { + const hex = code.toString(16); + if (hex.length <= 2) return "\\x" + pad(hex, 2); + else return "\\u" + pad(hex, 4); +} + +function generate(chars) { + const astral = []; + let re = ""; + for (let i = 0, at = 0x10000; i < chars.length; i++) { + const from = chars[i]; + let to = from; + while (i < chars.length - 1 && chars[i + 1] == to + 1) { + i++; + to++; + } + if (to <= 0xffff) { + if (from == to) re += esc(from); + else if (from + 1 == to) re += esc(from) + esc(to); + else re += esc(from) + "-" + esc(to); + } else { + astral.push(from - at, to - from); + at = to; + } + } + return { nonASCII: re, astral: astral }; +} + +const startData = generate(start); +const contData = generate(cont); + +console.log("/* prettier-ignore */"); +console.log('let nonASCIIidentifierStartChars = "' + startData.nonASCII + '";'); +console.log("/* prettier-ignore */"); +console.log('let nonASCIIidentifierChars = "' + contData.nonASCII + '";'); +console.log("/* prettier-ignore */"); +console.log( + "const astralIdentifierStartCodes = " + JSON.stringify(startData.astral) + ";" +); +console.log("/* prettier-ignore */"); +console.log( + "const astralIdentifierCodes = " + JSON.stringify(contData.astral) + ";" +); diff --git a/node_modules/@babel/helper-validator-option/LICENSE b/node_modules/@babel/helper-validator-option/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helper-validator-option/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-validator-option/README.md b/node_modules/@babel/helper-validator-option/README.md new file mode 100644 index 00000000..b8b9e854 --- /dev/null +++ b/node_modules/@babel/helper-validator-option/README.md @@ -0,0 +1,19 @@ +# @babel/helper-validator-option + +> Validate plugin/preset options + +See our website [@babel/helper-validator-option](https://babeljs.io/docs/en/babel-helper-validator-option) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-validator-option +``` + +or using yarn: + +```sh +yarn add @babel/helper-validator-option --dev +``` diff --git a/node_modules/@babel/helper-validator-option/lib/find-suggestion.js b/node_modules/@babel/helper-validator-option/lib/find-suggestion.js new file mode 100644 index 00000000..019ea931 --- /dev/null +++ b/node_modules/@babel/helper-validator-option/lib/find-suggestion.js @@ -0,0 +1,45 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.findSuggestion = findSuggestion; +const { + min +} = Math; + +function levenshtein(a, b) { + let t = [], + u = [], + i, + j; + const m = a.length, + n = b.length; + + if (!m) { + return n; + } + + if (!n) { + return m; + } + + for (j = 0; j <= n; j++) { + t[j] = j; + } + + for (i = 1; i <= m; i++) { + for (u = [i], j = 1; j <= n; j++) { + u[j] = a[i - 1] === b[j - 1] ? t[j - 1] : min(t[j - 1], t[j], u[j - 1]) + 1; + } + + t = u; + } + + return u[n]; +} + +function findSuggestion(str, arr) { + const distances = arr.map(el => levenshtein(el, str)); + return arr[distances.indexOf(min(...distances))]; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-option/lib/index.js b/node_modules/@babel/helper-validator-option/lib/index.js new file mode 100644 index 00000000..8afe8612 --- /dev/null +++ b/node_modules/@babel/helper-validator-option/lib/index.js @@ -0,0 +1,21 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "OptionValidator", { + enumerable: true, + get: function () { + return _validator.OptionValidator; + } +}); +Object.defineProperty(exports, "findSuggestion", { + enumerable: true, + get: function () { + return _findSuggestion.findSuggestion; + } +}); + +var _validator = require("./validator"); + +var _findSuggestion = require("./find-suggestion"); \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-option/lib/validator.js b/node_modules/@babel/helper-validator-option/lib/validator.js new file mode 100644 index 00000000..5b4bad1d --- /dev/null +++ b/node_modules/@babel/helper-validator-option/lib/validator.js @@ -0,0 +1,58 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.OptionValidator = void 0; + +var _findSuggestion = require("./find-suggestion"); + +class OptionValidator { + constructor(descriptor) { + this.descriptor = descriptor; + } + + validateTopLevelOptions(options, TopLevelOptionShape) { + const validOptionNames = Object.keys(TopLevelOptionShape); + + for (const option of Object.keys(options)) { + if (!validOptionNames.includes(option)) { + throw new Error(this.formatMessage(`'${option}' is not a valid top-level option. +- Did you mean '${(0, _findSuggestion.findSuggestion)(option, validOptionNames)}'?`)); + } + } + } + + validateBooleanOption(name, value, defaultValue) { + if (value === undefined) { + return defaultValue; + } else { + this.invariant(typeof value === "boolean", `'${name}' option must be a boolean.`); + } + + return value; + } + + validateStringOption(name, value, defaultValue) { + if (value === undefined) { + return defaultValue; + } else { + this.invariant(typeof value === "string", `'${name}' option must be a string.`); + } + + return value; + } + + invariant(condition, message) { + if (!condition) { + throw new Error(this.formatMessage(message)); + } + } + + formatMessage(message) { + return `${this.descriptor}: ${message}`; + } + +} + +exports.OptionValidator = OptionValidator; \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-option/package.json b/node_modules/@babel/helper-validator-option/package.json new file mode 100644 index 00000000..077bbfb6 --- /dev/null +++ b/node_modules/@babel/helper-validator-option/package.json @@ -0,0 +1,20 @@ +{ + "name": "@babel/helper-validator-option", + "version": "7.14.5", + "description": "Validate plugin/preset options", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-validator-option" + }, + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "exports": "./lib/index.js", + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/node_modules/@babel/helpers/LICENSE b/node_modules/@babel/helpers/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/helpers/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helpers/README.md b/node_modules/@babel/helpers/README.md new file mode 100644 index 00000000..3b79dbf5 --- /dev/null +++ b/node_modules/@babel/helpers/README.md @@ -0,0 +1,19 @@ +# @babel/helpers + +> Collection of helper functions used by Babel transforms. + +See our website [@babel/helpers](https://babeljs.io/docs/en/babel-helpers) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helpers +``` + +or using yarn: + +```sh +yarn add @babel/helpers --dev +``` diff --git a/node_modules/@babel/helpers/lib/helpers-generated.js b/node_modules/@babel/helpers/lib/helpers-generated.js new file mode 100644 index 00000000..8d3ba541 --- /dev/null +++ b/node_modules/@babel/helpers/lib/helpers-generated.js @@ -0,0 +1,29 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.wrapRegExp = exports.typeof = exports.objectSpread2 = exports.jsx = void 0; + +var _template = require("@babel/template"); + +const jsx = { + minVersion: "7.0.0-beta.0", + ast: () => _template.default.program.ast('\nvar REACT_ELEMENT_TYPE;\nexport default function _createRawReactElement(type, props, key, children) {\n if (!REACT_ELEMENT_TYPE) {\n REACT_ELEMENT_TYPE =\n (typeof Symbol === "function" &&\n \n Symbol["for"] &&\n Symbol["for"]("react.element")) ||\n 0xeac7;\n }\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n if (!props && childrenLength !== 0) {\n \n \n props = { children: void 0 };\n }\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = new Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n props.children = childArray;\n }\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : "" + key,\n ref: null,\n props: props,\n _owner: null,\n };\n}\n') +}; +exports.jsx = jsx; +const objectSpread2 = { + minVersion: "7.5.0", + ast: () => _template.default.program.ast('\nimport defineProperty from "defineProperty";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}\n') +}; +exports.objectSpread2 = objectSpread2; +const _typeof = { + minVersion: "7.0.0-beta.0", + ast: () => _template.default.program.ast('\nexport default function _typeof(obj) {\n "@babel/helpers - typeof";\n if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj &&\n typeof Symbol === "function" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? "symbol"\n : typeof obj;\n };\n }\n return _typeof(obj);\n}\n') +}; +exports.typeof = _typeof; +const wrapRegExp = { + minVersion: "7.2.6", + ast: () => _template.default.program.ast('\nimport setPrototypeOf from "setPrototypeOf";\nimport inherits from "inherits";\nexport default function _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, undefined, groups);\n };\n var _super = RegExp.prototype;\n var _groups = new WeakMap();\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n \n _groups.set(_this, groups || _groups.get(re));\n return setPrototypeOf(_this, BabelRegExp.prototype);\n }\n inherits(BabelRegExp, RegExp);\n BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n if (result) result.groups = buildGroups(result, this);\n return result;\n };\n BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (typeof substitution === "string") {\n var groups = _groups.get(this);\n return _super[Symbol.replace].call(\n this,\n str,\n substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return "$" + groups[name];\n })\n );\n } else if (typeof substitution === "function") {\n var _this = this;\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n \n if (typeof args[args.length - 1] !== "object") {\n args = [].slice.call(args);\n args.push(buildGroups(args, _this));\n }\n return substitution.apply(this, args);\n });\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n };\n function buildGroups(result, re) {\n \n \n var g = _groups.get(re);\n return Object.keys(g).reduce(function (groups, name) {\n groups[name] = result[g[name]];\n return groups;\n }, Object.create(null));\n }\n return _wrapRegExp.apply(this, arguments);\n}\n') +}; +exports.wrapRegExp = wrapRegExp; \ No newline at end of file diff --git a/node_modules/@babel/helpers/lib/helpers.js b/node_modules/@babel/helpers/lib/helpers.js new file mode 100644 index 00000000..57349457 --- /dev/null +++ b/node_modules/@babel/helpers/lib/helpers.js @@ -0,0 +1,1961 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _template = require("@babel/template"); + +var generated = require("./helpers-generated"); + +const helpers = Object.assign({ + __proto__: null +}, generated); +var _default = helpers; +exports.default = _default; + +const helper = minVersion => tpl => ({ + minVersion, + ast: () => _template.default.program.ast(tpl) +}); + +helpers.asyncIterator = helper("7.0.0-beta.0")` + export default function _asyncIterator(iterable) { + var method; + if (typeof Symbol !== "undefined") { + if (Symbol.asyncIterator) method = iterable[Symbol.asyncIterator]; + if (method == null && Symbol.iterator) method = iterable[Symbol.iterator]; + } + if (method == null) method = iterable["@@asyncIterator"]; + if (method == null) method = iterable["@@iterator"] + if (method == null) throw new TypeError("Object is not async iterable"); + return method.call(iterable); + } +`; +helpers.AwaitValue = helper("7.0.0-beta.0")` + export default function _AwaitValue(value) { + this.wrapped = value; + } +`; +helpers.AsyncGenerator = helper("7.0.0-beta.0")` + import AwaitValue from "AwaitValue"; + + export default function AsyncGenerator(gen) { + var front, back; + + function send(key, arg) { + return new Promise(function (resolve, reject) { + var request = { + key: key, + arg: arg, + resolve: resolve, + reject: reject, + next: null, + }; + + if (back) { + back = back.next = request; + } else { + front = back = request; + resume(key, arg); + } + }); + } + + function resume(key, arg) { + try { + var result = gen[key](arg) + var value = result.value; + var wrappedAwait = value instanceof AwaitValue; + + Promise.resolve(wrappedAwait ? value.wrapped : value).then( + function (arg) { + if (wrappedAwait) { + resume(key === "return" ? "return" : "next", arg); + return + } + + settle(result.done ? "return" : "normal", arg); + }, + function (err) { resume("throw", err); }); + } catch (err) { + settle("throw", err); + } + } + + function settle(type, value) { + switch (type) { + case "return": + front.resolve({ value: value, done: true }); + break; + case "throw": + front.reject(value); + break; + default: + front.resolve({ value: value, done: false }); + break; + } + + front = front.next; + if (front) { + resume(front.key, front.arg); + } else { + back = null; + } + } + + this._invoke = send; + + // Hide "return" method if generator return is not supported + if (typeof gen.return !== "function") { + this.return = undefined; + } + } + + AsyncGenerator.prototype[typeof Symbol === "function" && Symbol.asyncIterator || "@@asyncIterator"] = function () { return this; }; + + AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); }; + AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); }; + AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); }; +`; +helpers.wrapAsyncGenerator = helper("7.0.0-beta.0")` + import AsyncGenerator from "AsyncGenerator"; + + export default function _wrapAsyncGenerator(fn) { + return function () { + return new AsyncGenerator(fn.apply(this, arguments)); + }; + } +`; +helpers.awaitAsyncGenerator = helper("7.0.0-beta.0")` + import AwaitValue from "AwaitValue"; + + export default function _awaitAsyncGenerator(value) { + return new AwaitValue(value); + } +`; +helpers.asyncGeneratorDelegate = helper("7.0.0-beta.0")` + export default function _asyncGeneratorDelegate(inner, awaitWrap) { + var iter = {}, waiting = false; + + function pump(key, value) { + waiting = true; + value = new Promise(function (resolve) { resolve(inner[key](value)); }); + return { done: false, value: awaitWrap(value) }; + }; + + iter[typeof Symbol !== "undefined" && Symbol.iterator || "@@iterator"] = function () { return this; }; + + iter.next = function (value) { + if (waiting) { + waiting = false; + return value; + } + return pump("next", value); + }; + + if (typeof inner.throw === "function") { + iter.throw = function (value) { + if (waiting) { + waiting = false; + throw value; + } + return pump("throw", value); + }; + } + + if (typeof inner.return === "function") { + iter.return = function (value) { + if (waiting) { + waiting = false; + return value; + } + return pump("return", value); + }; + } + + return iter; + } +`; +helpers.asyncToGenerator = helper("7.0.0-beta.0")` + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } + } + + export default function _asyncToGenerator(fn) { + return function () { + var self = this, args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + + _next(undefined); + }); + }; + } +`; +helpers.classCallCheck = helper("7.0.0-beta.0")` + export default function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } +`; +helpers.createClass = helper("7.0.0-beta.0")` + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i ++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + export default function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } +`; +helpers.defineEnumerableProperties = helper("7.0.0-beta.0")` + export default function _defineEnumerableProperties(obj, descs) { + for (var key in descs) { + var desc = descs[key]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, key, desc); + } + + // Symbols are not enumerated over by for-in loops. If native + // Symbols are available, fetch all of the descs object's own + // symbol properties and define them on our target object too. + if (Object.getOwnPropertySymbols) { + var objectSymbols = Object.getOwnPropertySymbols(descs); + for (var i = 0; i < objectSymbols.length; i++) { + var sym = objectSymbols[i]; + var desc = descs[sym]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, sym, desc); + } + } + return obj; + } +`; +helpers.defaults = helper("7.0.0-beta.0")` + export default function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } + return obj; + } +`; +helpers.defineProperty = helper("7.0.0-beta.0")` + export default function _defineProperty(obj, key, value) { + // Shortcircuit the slow defineProperty path when possible. + // We are trying to avoid issues where setters defined on the + // prototype cause side effects under the fast path of simple + // assignment. By checking for existence of the property with + // the in operator, we can optimize most of this overhead away. + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; + } +`; +helpers.extends = helper("7.0.0-beta.0")` + export default function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + + return _extends.apply(this, arguments); + } +`; +helpers.objectSpread = helper("7.0.0-beta.0")` + import defineProperty from "defineProperty"; + + export default function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = (arguments[i] != null) ? Object(arguments[i]) : {}; + var ownKeys = Object.keys(source); + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function(sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + ownKeys.forEach(function(key) { + defineProperty(target, key, source[key]); + }); + } + return target; + } +`; +helpers.inherits = helper("7.0.0-beta.0")` + import setPrototypeOf from "setPrototypeOf"; + + export default function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) setPrototypeOf(subClass, superClass); + } +`; +helpers.inheritsLoose = helper("7.0.0-beta.0")` + import setPrototypeOf from "setPrototypeOf"; + + export default function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + setPrototypeOf(subClass, superClass); + } +`; +helpers.getPrototypeOf = helper("7.0.0-beta.0")` + export default function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf + ? Object.getPrototypeOf + : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); + } +`; +helpers.setPrototypeOf = helper("7.0.0-beta.0")` + export default function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + return _setPrototypeOf(o, p); + } +`; +helpers.isNativeReflectConstruct = helper("7.9.0")` + export default function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + + // core-js@3 + if (Reflect.construct.sham) return false; + + // Proxy can't be polyfilled. Every browser implemented + // proxies before or at the same time as Reflect.construct, + // so if they support Proxy they also support Reflect.construct. + if (typeof Proxy === "function") return true; + + // Since Reflect.construct can't be properly polyfilled, some + // implementations (e.g. core-js@2) don't set the correct internal slots. + // Those polyfills don't allow us to subclass built-ins, so we need to + // use our fallback implementation. + try { + // If the internal slots aren't set, this throws an error similar to + // TypeError: this is not a Boolean object. + + Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {})); + return true; + } catch (e) { + return false; + } + } +`; +helpers.construct = helper("7.0.0-beta.0")` + import setPrototypeOf from "setPrototypeOf"; + import isNativeReflectConstruct from "isNativeReflectConstruct"; + + export default function _construct(Parent, args, Class) { + if (isNativeReflectConstruct()) { + _construct = Reflect.construct; + } else { + // NOTE: If Parent !== Class, the correct __proto__ is set *after* + // calling the constructor. + _construct = function _construct(Parent, args, Class) { + var a = [null]; + a.push.apply(a, args); + var Constructor = Function.bind.apply(Parent, a); + var instance = new Constructor(); + if (Class) setPrototypeOf(instance, Class.prototype); + return instance; + }; + } + // Avoid issues with Class being present but undefined when it wasn't + // present in the original call. + return _construct.apply(null, arguments); + } +`; +helpers.isNativeFunction = helper("7.0.0-beta.0")` + export default function _isNativeFunction(fn) { + // Note: This function returns "true" for core-js functions. + return Function.toString.call(fn).indexOf("[native code]") !== -1; + } +`; +helpers.wrapNativeSuper = helper("7.0.0-beta.0")` + import getPrototypeOf from "getPrototypeOf"; + import setPrototypeOf from "setPrototypeOf"; + import isNativeFunction from "isNativeFunction"; + import construct from "construct"; + + export default function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? new Map() : undefined; + + _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (Class === null || !isNativeFunction(Class)) return Class; + if (typeof Class !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + if (typeof _cache !== "undefined") { + if (_cache.has(Class)) return _cache.get(Class); + _cache.set(Class, Wrapper); + } + function Wrapper() { + return construct(Class, arguments, getPrototypeOf(this).constructor) + } + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true, + } + }); + + return setPrototypeOf(Wrapper, Class); + } + + return _wrapNativeSuper(Class) + } +`; +helpers.instanceof = helper("7.0.0-beta.0")` + export default function _instanceof(left, right) { + if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { + return !!right[Symbol.hasInstance](left); + } else { + return left instanceof right; + } + } +`; +helpers.interopRequireDefault = helper("7.0.0-beta.0")` + export default function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } +`; +helpers.interopRequireWildcard = helper("7.14.0")` + function _getRequireWildcardCache(nodeInterop) { + if (typeof WeakMap !== "function") return null; + + var cacheBabelInterop = new WeakMap(); + var cacheNodeInterop = new WeakMap(); + return (_getRequireWildcardCache = function (nodeInterop) { + return nodeInterop ? cacheNodeInterop : cacheBabelInterop; + })(nodeInterop); + } + + export default function _interopRequireWildcard(obj, nodeInterop) { + if (!nodeInterop && obj && obj.__esModule) { + return obj; + } + + if (obj === null || (typeof obj !== "object" && typeof obj !== "function")) { + return { default: obj } + } + + var cache = _getRequireWildcardCache(nodeInterop); + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var key in obj) { + if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor + ? Object.getOwnPropertyDescriptor(obj, key) + : null; + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + newObj.default = obj; + if (cache) { + cache.set(obj, newObj); + } + return newObj; + } +`; +helpers.newArrowCheck = helper("7.0.0-beta.0")` + export default function _newArrowCheck(innerThis, boundThis) { + if (innerThis !== boundThis) { + throw new TypeError("Cannot instantiate an arrow function"); + } + } +`; +helpers.objectDestructuringEmpty = helper("7.0.0-beta.0")` + export default function _objectDestructuringEmpty(obj) { + if (obj == null) throw new TypeError("Cannot destructure undefined"); + } +`; +helpers.objectWithoutPropertiesLoose = helper("7.0.0-beta.0")` + export default function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; + } +`; +helpers.objectWithoutProperties = helper("7.0.0-beta.0")` + import objectWithoutPropertiesLoose from "objectWithoutPropertiesLoose"; + + export default function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + + var target = objectWithoutPropertiesLoose(source, excluded); + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; + } +`; +helpers.assertThisInitialized = helper("7.0.0-beta.0")` + export default function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; + } +`; +helpers.possibleConstructorReturn = helper("7.0.0-beta.0")` + import assertThisInitialized from "assertThisInitialized"; + + export default function _possibleConstructorReturn(self, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } else if (call !== void 0) { + throw new TypeError("Derived constructors may only return object or undefined"); + } + + return assertThisInitialized(self); + } +`; +helpers.createSuper = helper("7.9.0")` + import getPrototypeOf from "getPrototypeOf"; + import isNativeReflectConstruct from "isNativeReflectConstruct"; + import possibleConstructorReturn from "possibleConstructorReturn"; + + export default function _createSuper(Derived) { + var hasNativeReflectConstruct = isNativeReflectConstruct(); + + return function _createSuperInternal() { + var Super = getPrototypeOf(Derived), result; + if (hasNativeReflectConstruct) { + // NOTE: This doesn't work if this.__proto__.constructor has been modified. + var NewTarget = getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + return possibleConstructorReturn(this, result); + } + } + `; +helpers.superPropBase = helper("7.0.0-beta.0")` + import getPrototypeOf from "getPrototypeOf"; + + export default function _superPropBase(object, property) { + // Yes, this throws if object is null to being with, that's on purpose. + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = getPrototypeOf(object); + if (object === null) break; + } + return object; + } +`; +helpers.get = helper("7.0.0-beta.0")` + import superPropBase from "superPropBase"; + + export default function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && Reflect.get) { + _get = Reflect.get; + } else { + _get = function _get(target, property, receiver) { + var base = superPropBase(target, property); + + if (!base) return; + + var desc = Object.getOwnPropertyDescriptor(base, property); + if (desc.get) { + return desc.get.call(receiver); + } + + return desc.value; + }; + } + return _get(target, property, receiver || target); + } +`; +helpers.set = helper("7.0.0-beta.0")` + import superPropBase from "superPropBase"; + import defineProperty from "defineProperty"; + + function set(target, property, value, receiver) { + if (typeof Reflect !== "undefined" && Reflect.set) { + set = Reflect.set; + } else { + set = function set(target, property, value, receiver) { + var base = superPropBase(target, property); + var desc; + + if (base) { + desc = Object.getOwnPropertyDescriptor(base, property); + if (desc.set) { + desc.set.call(receiver, value); + return true; + } else if (!desc.writable) { + // Both getter and non-writable fall into this. + return false; + } + } + + // Without a super that defines the property, spec boils down to + // "define on receiver" for some reason. + desc = Object.getOwnPropertyDescriptor(receiver, property); + if (desc) { + if (!desc.writable) { + // Setter, getter, and non-writable fall into this. + return false; + } + + desc.value = value; + Object.defineProperty(receiver, property, desc); + } else { + // Avoid setters that may be defined on Sub's prototype, but not on + // the instance. + defineProperty(receiver, property, value); + } + + return true; + }; + } + + return set(target, property, value, receiver); + } + + export default function _set(target, property, value, receiver, isStrict) { + var s = set(target, property, value, receiver || target); + if (!s && isStrict) { + throw new Error('failed to set property'); + } + + return value; + } +`; +helpers.taggedTemplateLiteral = helper("7.0.0-beta.0")` + export default function _taggedTemplateLiteral(strings, raw) { + if (!raw) { raw = strings.slice(0); } + return Object.freeze(Object.defineProperties(strings, { + raw: { value: Object.freeze(raw) } + })); + } +`; +helpers.taggedTemplateLiteralLoose = helper("7.0.0-beta.0")` + export default function _taggedTemplateLiteralLoose(strings, raw) { + if (!raw) { raw = strings.slice(0); } + strings.raw = raw; + return strings; + } +`; +helpers.readOnlyError = helper("7.0.0-beta.0")` + export default function _readOnlyError(name) { + throw new TypeError("\\"" + name + "\\" is read-only"); + } +`; +helpers.writeOnlyError = helper("7.12.13")` + export default function _writeOnlyError(name) { + throw new TypeError("\\"" + name + "\\" is write-only"); + } +`; +helpers.classNameTDZError = helper("7.0.0-beta.0")` + export default function _classNameTDZError(name) { + throw new Error("Class \\"" + name + "\\" cannot be referenced in computed property keys."); + } +`; +helpers.temporalUndefined = helper("7.0.0-beta.0")` + // This function isn't mean to be called, but to be used as a reference. + // We can't use a normal object because it isn't hoisted. + export default function _temporalUndefined() {} +`; +helpers.tdz = helper("7.5.5")` + export default function _tdzError(name) { + throw new ReferenceError(name + " is not defined - temporal dead zone"); + } +`; +helpers.temporalRef = helper("7.0.0-beta.0")` + import undef from "temporalUndefined"; + import err from "tdz"; + + export default function _temporalRef(val, name) { + return val === undef ? err(name) : val; + } +`; +helpers.slicedToArray = helper("7.0.0-beta.0")` + import arrayWithHoles from "arrayWithHoles"; + import iterableToArrayLimit from "iterableToArrayLimit"; + import unsupportedIterableToArray from "unsupportedIterableToArray"; + import nonIterableRest from "nonIterableRest"; + + export default function _slicedToArray(arr, i) { + return ( + arrayWithHoles(arr) || + iterableToArrayLimit(arr, i) || + unsupportedIterableToArray(arr, i) || + nonIterableRest() + ); + } +`; +helpers.slicedToArrayLoose = helper("7.0.0-beta.0")` + import arrayWithHoles from "arrayWithHoles"; + import iterableToArrayLimitLoose from "iterableToArrayLimitLoose"; + import unsupportedIterableToArray from "unsupportedIterableToArray"; + import nonIterableRest from "nonIterableRest"; + + export default function _slicedToArrayLoose(arr, i) { + return ( + arrayWithHoles(arr) || + iterableToArrayLimitLoose(arr, i) || + unsupportedIterableToArray(arr, i) || + nonIterableRest() + ); + } +`; +helpers.toArray = helper("7.0.0-beta.0")` + import arrayWithHoles from "arrayWithHoles"; + import iterableToArray from "iterableToArray"; + import unsupportedIterableToArray from "unsupportedIterableToArray"; + import nonIterableRest from "nonIterableRest"; + + export default function _toArray(arr) { + return ( + arrayWithHoles(arr) || + iterableToArray(arr) || + unsupportedIterableToArray(arr) || + nonIterableRest() + ); + } +`; +helpers.toConsumableArray = helper("7.0.0-beta.0")` + import arrayWithoutHoles from "arrayWithoutHoles"; + import iterableToArray from "iterableToArray"; + import unsupportedIterableToArray from "unsupportedIterableToArray"; + import nonIterableSpread from "nonIterableSpread"; + + export default function _toConsumableArray(arr) { + return ( + arrayWithoutHoles(arr) || + iterableToArray(arr) || + unsupportedIterableToArray(arr) || + nonIterableSpread() + ); + } +`; +helpers.arrayWithoutHoles = helper("7.0.0-beta.0")` + import arrayLikeToArray from "arrayLikeToArray"; + + export default function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return arrayLikeToArray(arr); + } +`; +helpers.arrayWithHoles = helper("7.0.0-beta.0")` + export default function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } +`; +helpers.maybeArrayLike = helper("7.9.0")` + import arrayLikeToArray from "arrayLikeToArray"; + + export default function _maybeArrayLike(next, arr, i) { + if (arr && !Array.isArray(arr) && typeof arr.length === "number") { + var len = arr.length; + return arrayLikeToArray(arr, i !== void 0 && i < len ? i : len); + } + return next(arr, i); + } +`; +helpers.iterableToArray = helper("7.0.0-beta.0")` + export default function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); + } +`; +helpers.iterableToArrayLimit = helper("7.0.0-beta.0")` + export default function _iterableToArrayLimit(arr, i) { + // this is an expanded form of \`for...of\` that properly supports abrupt completions of + // iterators etc. variable names have been minimised to reduce the size of this massive + // helper. sometimes spec compliance is annoying :( + // + // _n = _iteratorNormalCompletion + // _d = _didIteratorError + // _e = _iteratorError + // _i = _iterator + // _s = _step + + var _i = arr == null ? null : (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); + if (_i == null) return; + + var _arr = []; + var _n = true; + var _d = false; + var _s, _e; + try { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; + } +`; +helpers.iterableToArrayLimitLoose = helper("7.0.0-beta.0")` + export default function _iterableToArrayLimitLoose(arr, i) { + var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); + if (_i == null) return; + + var _arr = []; + for (_i = _i.call(arr), _step; !(_step = _i.next()).done;) { + _arr.push(_step.value); + if (i && _arr.length === i) break; + } + return _arr; + } +`; +helpers.unsupportedIterableToArray = helper("7.9.0")` + import arrayLikeToArray from "arrayLikeToArray"; + + export default function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return arrayLikeToArray(o, minLen); + } +`; +helpers.arrayLikeToArray = helper("7.9.0")` + export default function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + return arr2; + } +`; +helpers.nonIterableSpread = helper("7.0.0-beta.0")` + export default function _nonIterableSpread() { + throw new TypeError( + "Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); + } +`; +helpers.nonIterableRest = helper("7.0.0-beta.0")` + export default function _nonIterableRest() { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); + } +`; +helpers.createForOfIteratorHelper = helper("7.9.0")` + import unsupportedIterableToArray from "unsupportedIterableToArray"; + + // s: start (create the iterator) + // n: next + // e: error (called whenever something throws) + // f: finish (always called at the end) + + export default function _createForOfIteratorHelper(o, allowArrayLike) { + var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; + + if (!it) { + // Fallback for engines without symbol support + if ( + Array.isArray(o) || + (it = unsupportedIterableToArray(o)) || + (allowArrayLike && o && typeof o.length === "number") + ) { + if (it) o = it; + var i = 0; + var F = function(){}; + return { + s: F, + n: function() { + if (i >= o.length) return { done: true }; + return { done: false, value: o[i++] }; + }, + e: function(e) { throw e; }, + f: F, + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + var normalCompletion = true, didErr = false, err; + + return { + s: function() { + it = it.call(o); + }, + n: function() { + var step = it.next(); + normalCompletion = step.done; + return step; + }, + e: function(e) { + didErr = true; + err = e; + }, + f: function() { + try { + if (!normalCompletion && it.return != null) it.return(); + } finally { + if (didErr) throw err; + } + } + }; + } +`; +helpers.createForOfIteratorHelperLoose = helper("7.9.0")` + import unsupportedIterableToArray from "unsupportedIterableToArray"; + + export default function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; + + if (it) return (it = it.call(o)).next.bind(it); + + // Fallback for engines without symbol support + if ( + Array.isArray(o) || + (it = unsupportedIterableToArray(o)) || + (allowArrayLike && o && typeof o.length === "number") + ) { + if (it) o = it; + var i = 0; + return function() { + if (i >= o.length) return { done: true }; + return { done: false, value: o[i++] }; + } + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } +`; +helpers.skipFirstGeneratorNext = helper("7.0.0-beta.0")` + export default function _skipFirstGeneratorNext(fn) { + return function () { + var it = fn.apply(this, arguments); + it.next(); + return it; + } + } +`; +helpers.toPrimitive = helper("7.1.5")` + export default function _toPrimitive( + input, + hint /*: "default" | "string" | "number" | void */ + ) { + if (typeof input !== "object" || input === null) return input; + var prim = input[Symbol.toPrimitive]; + if (prim !== undefined) { + var res = prim.call(input, hint || "default"); + if (typeof res !== "object") return res; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return (hint === "string" ? String : Number)(input); + } +`; +helpers.toPropertyKey = helper("7.1.5")` + import toPrimitive from "toPrimitive"; + + export default function _toPropertyKey(arg) { + var key = toPrimitive(arg, "string"); + return typeof key === "symbol" ? key : String(key); + } +`; +helpers.initializerWarningHelper = helper("7.0.0-beta.0")` + export default function _initializerWarningHelper(descriptor, context){ + throw new Error( + 'Decorating class property failed. Please ensure that ' + + 'proposal-class-properties is enabled and runs after the decorators transform.' + ); + } +`; +helpers.initializerDefineProperty = helper("7.0.0-beta.0")` + export default function _initializerDefineProperty(target, property, descriptor, context){ + if (!descriptor) return; + + Object.defineProperty(target, property, { + enumerable: descriptor.enumerable, + configurable: descriptor.configurable, + writable: descriptor.writable, + value: descriptor.initializer ? descriptor.initializer.call(context) : void 0, + }); + } +`; +helpers.applyDecoratedDescriptor = helper("7.0.0-beta.0")` + export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){ + var desc = {}; + Object.keys(descriptor).forEach(function(key){ + desc[key] = descriptor[key]; + }); + desc.enumerable = !!desc.enumerable; + desc.configurable = !!desc.configurable; + if ('value' in desc || desc.initializer){ + desc.writable = true; + } + + desc = decorators.slice().reverse().reduce(function(desc, decorator){ + return decorator(target, property, desc) || desc; + }, desc); + + if (context && desc.initializer !== void 0){ + desc.value = desc.initializer ? desc.initializer.call(context) : void 0; + desc.initializer = undefined; + } + + if (desc.initializer === void 0){ + Object.defineProperty(target, property, desc); + desc = null; + } + + return desc; + } +`; +helpers.classPrivateFieldLooseKey = helper("7.0.0-beta.0")` + var id = 0; + export default function _classPrivateFieldKey(name) { + return "__private_" + (id++) + "_" + name; + } +`; +helpers.classPrivateFieldLooseBase = helper("7.0.0-beta.0")` + export default function _classPrivateFieldBase(receiver, privateKey) { + if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { + throw new TypeError("attempted to use private field on non-instance"); + } + return receiver; + } +`; +helpers.classPrivateFieldGet = helper("7.0.0-beta.0")` + import classApplyDescriptorGet from "classApplyDescriptorGet"; + import classExtractFieldDescriptor from "classExtractFieldDescriptor"; + export default function _classPrivateFieldGet(receiver, privateMap) { + var descriptor = classExtractFieldDescriptor(receiver, privateMap, "get"); + return classApplyDescriptorGet(receiver, descriptor); + } +`; +helpers.classPrivateFieldSet = helper("7.0.0-beta.0")` + import classApplyDescriptorSet from "classApplyDescriptorSet"; + import classExtractFieldDescriptor from "classExtractFieldDescriptor"; + export default function _classPrivateFieldSet(receiver, privateMap, value) { + var descriptor = classExtractFieldDescriptor(receiver, privateMap, "set"); + classApplyDescriptorSet(receiver, descriptor, value); + return value; + } +`; +helpers.classPrivateFieldDestructureSet = helper("7.4.4")` + import classApplyDescriptorDestructureSet from "classApplyDescriptorDestructureSet"; + import classExtractFieldDescriptor from "classExtractFieldDescriptor"; + export default function _classPrivateFieldDestructureSet(receiver, privateMap) { + var descriptor = classExtractFieldDescriptor(receiver, privateMap, "set"); + return classApplyDescriptorDestructureSet(receiver, descriptor); + } +`; +helpers.classExtractFieldDescriptor = helper("7.13.10")` + export default function _classExtractFieldDescriptor(receiver, privateMap, action) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to " + action + " private field on non-instance"); + } + return privateMap.get(receiver); + } +`; +helpers.classStaticPrivateFieldSpecGet = helper("7.0.2")` + import classApplyDescriptorGet from "classApplyDescriptorGet"; + import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess"; + import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor"; + export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { + classCheckPrivateStaticAccess(receiver, classConstructor); + classCheckPrivateStaticFieldDescriptor(descriptor, "get"); + return classApplyDescriptorGet(receiver, descriptor); + } +`; +helpers.classStaticPrivateFieldSpecSet = helper("7.0.2")` + import classApplyDescriptorSet from "classApplyDescriptorSet"; + import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess"; + import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor"; + export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { + classCheckPrivateStaticAccess(receiver, classConstructor); + classCheckPrivateStaticFieldDescriptor(descriptor, "set"); + classApplyDescriptorSet(receiver, descriptor, value); + return value; + } +`; +helpers.classStaticPrivateMethodGet = helper("7.3.2")` + import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess"; + export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) { + classCheckPrivateStaticAccess(receiver, classConstructor); + return method; + } +`; +helpers.classStaticPrivateMethodSet = helper("7.3.2")` + export default function _classStaticPrivateMethodSet() { + throw new TypeError("attempted to set read only static private field"); + } +`; +helpers.classApplyDescriptorGet = helper("7.13.10")` + export default function _classApplyDescriptorGet(receiver, descriptor) { + if (descriptor.get) { + return descriptor.get.call(receiver); + } + return descriptor.value; + } +`; +helpers.classApplyDescriptorSet = helper("7.13.10")` + export default function _classApplyDescriptorSet(receiver, descriptor, value) { + if (descriptor.set) { + descriptor.set.call(receiver, value); + } else { + if (!descriptor.writable) { + // This should only throw in strict mode, but class bodies are + // always strict and private fields can only be used inside + // class bodies. + throw new TypeError("attempted to set read only private field"); + } + descriptor.value = value; + } + } +`; +helpers.classApplyDescriptorDestructureSet = helper("7.13.10")` + export default function _classApplyDescriptorDestructureSet(receiver, descriptor) { + if (descriptor.set) { + if (!("__destrObj" in descriptor)) { + descriptor.__destrObj = { + set value(v) { + descriptor.set.call(receiver, v) + }, + }; + } + return descriptor.__destrObj; + } else { + if (!descriptor.writable) { + // This should only throw in strict mode, but class bodies are + // always strict and private fields can only be used inside + // class bodies. + throw new TypeError("attempted to set read only private field"); + } + + return descriptor; + } + } +`; +helpers.classStaticPrivateFieldDestructureSet = helper("7.13.10")` + import classApplyDescriptorDestructureSet from "classApplyDescriptorDestructureSet"; + import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess"; + import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor"; + export default function _classStaticPrivateFieldDestructureSet(receiver, classConstructor, descriptor) { + classCheckPrivateStaticAccess(receiver, classConstructor); + classCheckPrivateStaticFieldDescriptor(descriptor, "set"); + return classApplyDescriptorDestructureSet(receiver, descriptor); + } +`; +helpers.classCheckPrivateStaticAccess = helper("7.13.10")` + export default function _classCheckPrivateStaticAccess(receiver, classConstructor) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + } +`; +helpers.classCheckPrivateStaticFieldDescriptor = helper("7.13.10")` + export default function _classCheckPrivateStaticFieldDescriptor(descriptor, action) { + if (descriptor === undefined) { + throw new TypeError("attempted to " + action + " private static field before its declaration"); + } + } +`; +helpers.decorate = helper("7.1.5")` + import toArray from "toArray"; + import toPropertyKey from "toPropertyKey"; + + // These comments are stripped by @babel/template + /*:: + type PropertyDescriptor = + | { + value: any, + writable: boolean, + configurable: boolean, + enumerable: boolean, + } + | { + get?: () => any, + set?: (v: any) => void, + configurable: boolean, + enumerable: boolean, + }; + + type FieldDescriptor ={ + writable: boolean, + configurable: boolean, + enumerable: boolean, + }; + + type Placement = "static" | "prototype" | "own"; + type Key = string | symbol; // PrivateName is not supported yet. + + type ElementDescriptor = + | { + kind: "method", + key: Key, + placement: Placement, + descriptor: PropertyDescriptor + } + | { + kind: "field", + key: Key, + placement: Placement, + descriptor: FieldDescriptor, + initializer?: () => any, + }; + + // This is exposed to the user code + type ElementObjectInput = ElementDescriptor & { + [@@toStringTag]?: "Descriptor" + }; + + // This is exposed to the user code + type ElementObjectOutput = ElementDescriptor & { + [@@toStringTag]?: "Descriptor" + extras?: ElementDescriptor[], + finisher?: ClassFinisher, + }; + + // This is exposed to the user code + type ClassObject = { + [@@toStringTag]?: "Descriptor", + kind: "class", + elements: ElementDescriptor[], + }; + + type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput; + type ClassDecorator = (descriptor: ClassObject) => ?ClassObject; + type ClassFinisher = (cl: Class) => Class; + + // Only used by Babel in the transform output, not part of the spec. + type ElementDefinition = + | { + kind: "method", + value: any, + key: Key, + static?: boolean, + decorators?: ElementDecorator[], + } + | { + kind: "field", + value: () => any, + key: Key, + static?: boolean, + decorators?: ElementDecorator[], + }; + + declare function ClassFactory(initialize: (instance: C) => void): { + F: Class, + d: ElementDefinition[] + } + + */ + + /*:: + // Various combinations with/without extras and with one or many finishers + + type ElementFinisherExtras = { + element: ElementDescriptor, + finisher?: ClassFinisher, + extras?: ElementDescriptor[], + }; + + type ElementFinishersExtras = { + element: ElementDescriptor, + finishers: ClassFinisher[], + extras: ElementDescriptor[], + }; + + type ElementsFinisher = { + elements: ElementDescriptor[], + finisher?: ClassFinisher, + }; + + type ElementsFinishers = { + elements: ElementDescriptor[], + finishers: ClassFinisher[], + }; + + */ + + /*:: + + type Placements = { + static: Key[], + prototype: Key[], + own: Key[], + }; + + */ + + // ClassDefinitionEvaluation (Steps 26-*) + export default function _decorate( + decorators /*: ClassDecorator[] */, + factory /*: ClassFactory */, + superClass /*: ?Class<*> */, + mixins /*: ?Array */, + ) /*: Class<*> */ { + var api = _getDecoratorsApi(); + if (mixins) { + for (var i = 0; i < mixins.length; i++) { + api = mixins[i](api); + } + } + + var r = factory(function initialize(O) { + api.initializeInstanceElements(O, decorated.elements); + }, superClass); + var decorated = api.decorateClass( + _coalesceClassElements(r.d.map(_createElementDescriptor)), + decorators, + ); + + api.initializeClassElements(r.F, decorated.elements); + + return api.runClassFinishers(r.F, decorated.finishers); + } + + function _getDecoratorsApi() { + _getDecoratorsApi = function() { + return api; + }; + + var api = { + elementsDefinitionOrder: [["method"], ["field"]], + + // InitializeInstanceElements + initializeInstanceElements: function( + /*::*/ O /*: C */, + elements /*: ElementDescriptor[] */, + ) { + ["method", "field"].forEach(function(kind) { + elements.forEach(function(element /*: ElementDescriptor */) { + if (element.kind === kind && element.placement === "own") { + this.defineClassElement(O, element); + } + }, this); + }, this); + }, + + // InitializeClassElements + initializeClassElements: function( + /*::*/ F /*: Class */, + elements /*: ElementDescriptor[] */, + ) { + var proto = F.prototype; + + ["method", "field"].forEach(function(kind) { + elements.forEach(function(element /*: ElementDescriptor */) { + var placement = element.placement; + if ( + element.kind === kind && + (placement === "static" || placement === "prototype") + ) { + var receiver = placement === "static" ? F : proto; + this.defineClassElement(receiver, element); + } + }, this); + }, this); + }, + + // DefineClassElement + defineClassElement: function( + /*::*/ receiver /*: C | Class */, + element /*: ElementDescriptor */, + ) { + var descriptor /*: PropertyDescriptor */ = element.descriptor; + if (element.kind === "field") { + var initializer = element.initializer; + descriptor = { + enumerable: descriptor.enumerable, + writable: descriptor.writable, + configurable: descriptor.configurable, + value: initializer === void 0 ? void 0 : initializer.call(receiver), + }; + } + Object.defineProperty(receiver, element.key, descriptor); + }, + + // DecorateClass + decorateClass: function( + elements /*: ElementDescriptor[] */, + decorators /*: ClassDecorator[] */, + ) /*: ElementsFinishers */ { + var newElements /*: ElementDescriptor[] */ = []; + var finishers /*: ClassFinisher[] */ = []; + var placements /*: Placements */ = { + static: [], + prototype: [], + own: [], + }; + + elements.forEach(function(element /*: ElementDescriptor */) { + this.addElementPlacement(element, placements); + }, this); + + elements.forEach(function(element /*: ElementDescriptor */) { + if (!_hasDecorators(element)) return newElements.push(element); + + var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement( + element, + placements, + ); + newElements.push(elementFinishersExtras.element); + newElements.push.apply(newElements, elementFinishersExtras.extras); + finishers.push.apply(finishers, elementFinishersExtras.finishers); + }, this); + + if (!decorators) { + return { elements: newElements, finishers: finishers }; + } + + var result /*: ElementsFinishers */ = this.decorateConstructor( + newElements, + decorators, + ); + finishers.push.apply(finishers, result.finishers); + result.finishers = finishers; + + return result; + }, + + // AddElementPlacement + addElementPlacement: function( + element /*: ElementDescriptor */, + placements /*: Placements */, + silent /*: boolean */, + ) { + var keys = placements[element.placement]; + if (!silent && keys.indexOf(element.key) !== -1) { + throw new TypeError("Duplicated element (" + element.key + ")"); + } + keys.push(element.key); + }, + + // DecorateElement + decorateElement: function( + element /*: ElementDescriptor */, + placements /*: Placements */, + ) /*: ElementFinishersExtras */ { + var extras /*: ElementDescriptor[] */ = []; + var finishers /*: ClassFinisher[] */ = []; + + for ( + var decorators = element.decorators, i = decorators.length - 1; + i >= 0; + i-- + ) { + // (inlined) RemoveElementPlacement + var keys = placements[element.placement]; + keys.splice(keys.indexOf(element.key), 1); + + var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor( + element, + ); + var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras( + (0, decorators[i])(elementObject) /*: ElementObjectOutput */ || + elementObject, + ); + + element = elementFinisherExtras.element; + this.addElementPlacement(element, placements); + + if (elementFinisherExtras.finisher) { + finishers.push(elementFinisherExtras.finisher); + } + + var newExtras /*: ElementDescriptor[] | void */ = + elementFinisherExtras.extras; + if (newExtras) { + for (var j = 0; j < newExtras.length; j++) { + this.addElementPlacement(newExtras[j], placements); + } + extras.push.apply(extras, newExtras); + } + } + + return { element: element, finishers: finishers, extras: extras }; + }, + + // DecorateConstructor + decorateConstructor: function( + elements /*: ElementDescriptor[] */, + decorators /*: ClassDecorator[] */, + ) /*: ElementsFinishers */ { + var finishers /*: ClassFinisher[] */ = []; + + for (var i = decorators.length - 1; i >= 0; i--) { + var obj /*: ClassObject */ = this.fromClassDescriptor(elements); + var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor( + (0, decorators[i])(obj) /*: ClassObject */ || obj, + ); + + if (elementsAndFinisher.finisher !== undefined) { + finishers.push(elementsAndFinisher.finisher); + } + + if (elementsAndFinisher.elements !== undefined) { + elements = elementsAndFinisher.elements; + + for (var j = 0; j < elements.length - 1; j++) { + for (var k = j + 1; k < elements.length; k++) { + if ( + elements[j].key === elements[k].key && + elements[j].placement === elements[k].placement + ) { + throw new TypeError( + "Duplicated element (" + elements[j].key + ")", + ); + } + } + } + } + } + + return { elements: elements, finishers: finishers }; + }, + + // FromElementDescriptor + fromElementDescriptor: function( + element /*: ElementDescriptor */, + ) /*: ElementObject */ { + var obj /*: ElementObject */ = { + kind: element.kind, + key: element.key, + placement: element.placement, + descriptor: element.descriptor, + }; + + var desc = { + value: "Descriptor", + configurable: true, + }; + Object.defineProperty(obj, Symbol.toStringTag, desc); + + if (element.kind === "field") obj.initializer = element.initializer; + + return obj; + }, + + // ToElementDescriptors + toElementDescriptors: function( + elementObjects /*: ElementObject[] */, + ) /*: ElementDescriptor[] */ { + if (elementObjects === undefined) return; + return toArray(elementObjects).map(function(elementObject) { + var element = this.toElementDescriptor(elementObject); + this.disallowProperty(elementObject, "finisher", "An element descriptor"); + this.disallowProperty(elementObject, "extras", "An element descriptor"); + return element; + }, this); + }, + + // ToElementDescriptor + toElementDescriptor: function( + elementObject /*: ElementObject */, + ) /*: ElementDescriptor */ { + var kind = String(elementObject.kind); + if (kind !== "method" && kind !== "field") { + throw new TypeError( + 'An element descriptor\\'s .kind property must be either "method" or' + + ' "field", but a decorator created an element descriptor with' + + ' .kind "' + + kind + + '"', + ); + } + + var key = toPropertyKey(elementObject.key); + + var placement = String(elementObject.placement); + if ( + placement !== "static" && + placement !== "prototype" && + placement !== "own" + ) { + throw new TypeError( + 'An element descriptor\\'s .placement property must be one of "static",' + + ' "prototype" or "own", but a decorator created an element descriptor' + + ' with .placement "' + + placement + + '"', + ); + } + + var descriptor /*: PropertyDescriptor */ = elementObject.descriptor; + + this.disallowProperty(elementObject, "elements", "An element descriptor"); + + var element /*: ElementDescriptor */ = { + kind: kind, + key: key, + placement: placement, + descriptor: Object.assign({}, descriptor), + }; + + if (kind !== "field") { + this.disallowProperty(elementObject, "initializer", "A method descriptor"); + } else { + this.disallowProperty( + descriptor, + "get", + "The property descriptor of a field descriptor", + ); + this.disallowProperty( + descriptor, + "set", + "The property descriptor of a field descriptor", + ); + this.disallowProperty( + descriptor, + "value", + "The property descriptor of a field descriptor", + ); + + element.initializer = elementObject.initializer; + } + + return element; + }, + + toElementFinisherExtras: function( + elementObject /*: ElementObject */, + ) /*: ElementFinisherExtras */ { + var element /*: ElementDescriptor */ = this.toElementDescriptor( + elementObject, + ); + var finisher /*: ClassFinisher */ = _optionalCallableProperty( + elementObject, + "finisher", + ); + var extras /*: ElementDescriptors[] */ = this.toElementDescriptors( + elementObject.extras, + ); + + return { element: element, finisher: finisher, extras: extras }; + }, + + // FromClassDescriptor + fromClassDescriptor: function( + elements /*: ElementDescriptor[] */, + ) /*: ClassObject */ { + var obj = { + kind: "class", + elements: elements.map(this.fromElementDescriptor, this), + }; + + var desc = { value: "Descriptor", configurable: true }; + Object.defineProperty(obj, Symbol.toStringTag, desc); + + return obj; + }, + + // ToClassDescriptor + toClassDescriptor: function( + obj /*: ClassObject */, + ) /*: ElementsFinisher */ { + var kind = String(obj.kind); + if (kind !== "class") { + throw new TypeError( + 'A class descriptor\\'s .kind property must be "class", but a decorator' + + ' created a class descriptor with .kind "' + + kind + + '"', + ); + } + + this.disallowProperty(obj, "key", "A class descriptor"); + this.disallowProperty(obj, "placement", "A class descriptor"); + this.disallowProperty(obj, "descriptor", "A class descriptor"); + this.disallowProperty(obj, "initializer", "A class descriptor"); + this.disallowProperty(obj, "extras", "A class descriptor"); + + var finisher = _optionalCallableProperty(obj, "finisher"); + var elements = this.toElementDescriptors(obj.elements); + + return { elements: elements, finisher: finisher }; + }, + + // RunClassFinishers + runClassFinishers: function( + constructor /*: Class<*> */, + finishers /*: ClassFinisher[] */, + ) /*: Class<*> */ { + for (var i = 0; i < finishers.length; i++) { + var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor); + if (newConstructor !== undefined) { + // NOTE: This should check if IsConstructor(newConstructor) is false. + if (typeof newConstructor !== "function") { + throw new TypeError("Finishers must return a constructor."); + } + constructor = newConstructor; + } + } + return constructor; + }, + + disallowProperty: function(obj, name, objectType) { + if (obj[name] !== undefined) { + throw new TypeError(objectType + " can't have a ." + name + " property."); + } + } + }; + + return api; + } + + // ClassElementEvaluation + function _createElementDescriptor( + def /*: ElementDefinition */, + ) /*: ElementDescriptor */ { + var key = toPropertyKey(def.key); + + var descriptor /*: PropertyDescriptor */; + if (def.kind === "method") { + descriptor = { + value: def.value, + writable: true, + configurable: true, + enumerable: false, + }; + } else if (def.kind === "get") { + descriptor = { get: def.value, configurable: true, enumerable: false }; + } else if (def.kind === "set") { + descriptor = { set: def.value, configurable: true, enumerable: false }; + } else if (def.kind === "field") { + descriptor = { configurable: true, writable: true, enumerable: true }; + } + + var element /*: ElementDescriptor */ = { + kind: def.kind === "field" ? "field" : "method", + key: key, + placement: def.static + ? "static" + : def.kind === "field" + ? "own" + : "prototype", + descriptor: descriptor, + }; + if (def.decorators) element.decorators = def.decorators; + if (def.kind === "field") element.initializer = def.value; + + return element; + } + + // CoalesceGetterSetter + function _coalesceGetterSetter( + element /*: ElementDescriptor */, + other /*: ElementDescriptor */, + ) { + if (element.descriptor.get !== undefined) { + other.descriptor.get = element.descriptor.get; + } else { + other.descriptor.set = element.descriptor.set; + } + } + + // CoalesceClassElements + function _coalesceClassElements( + elements /*: ElementDescriptor[] */, + ) /*: ElementDescriptor[] */ { + var newElements /*: ElementDescriptor[] */ = []; + + var isSameElement = function( + other /*: ElementDescriptor */, + ) /*: boolean */ { + return ( + other.kind === "method" && + other.key === element.key && + other.placement === element.placement + ); + }; + + for (var i = 0; i < elements.length; i++) { + var element /*: ElementDescriptor */ = elements[i]; + var other /*: ElementDescriptor */; + + if ( + element.kind === "method" && + (other = newElements.find(isSameElement)) + ) { + if ( + _isDataDescriptor(element.descriptor) || + _isDataDescriptor(other.descriptor) + ) { + if (_hasDecorators(element) || _hasDecorators(other)) { + throw new ReferenceError( + "Duplicated methods (" + element.key + ") can't be decorated.", + ); + } + other.descriptor = element.descriptor; + } else { + if (_hasDecorators(element)) { + if (_hasDecorators(other)) { + throw new ReferenceError( + "Decorators can't be placed on different accessors with for " + + "the same property (" + + element.key + + ").", + ); + } + other.decorators = element.decorators; + } + _coalesceGetterSetter(element, other); + } + } else { + newElements.push(element); + } + } + + return newElements; + } + + function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ { + return element.decorators && element.decorators.length; + } + + function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ { + return ( + desc !== undefined && + !(desc.value === undefined && desc.writable === undefined) + ); + } + + function _optionalCallableProperty /*::*/( + obj /*: T */, + name /*: $Keys */, + ) /*: ?Function */ { + var value = obj[name]; + if (value !== undefined && typeof value !== "function") { + throw new TypeError("Expected '" + name + "' to be a function"); + } + return value; + } + +`; +helpers.classPrivateMethodGet = helper("7.1.6")` + export default function _classPrivateMethodGet(receiver, privateSet, fn) { + if (!privateSet.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + return fn; + } +`; +helpers.checkPrivateRedeclaration = helper("7.14.1")` + export default function _checkPrivateRedeclaration(obj, privateCollection) { + if (privateCollection.has(obj)) { + throw new TypeError("Cannot initialize the same private elements twice on an object"); + } + } +`; +helpers.classPrivateFieldInitSpec = helper("7.14.1")` + import checkPrivateRedeclaration from "checkPrivateRedeclaration"; + + export default function _classPrivateFieldInitSpec(obj, privateMap, value) { + checkPrivateRedeclaration(obj, privateMap); + privateMap.set(obj, value); + } +`; +helpers.classPrivateMethodInitSpec = helper("7.14.1")` + import checkPrivateRedeclaration from "checkPrivateRedeclaration"; + + export default function _classPrivateMethodInitSpec(obj, privateSet) { + checkPrivateRedeclaration(obj, privateSet); + privateSet.add(obj); + } +`; +{ + helpers.classPrivateMethodSet = helper("7.1.6")` + export default function _classPrivateMethodSet() { + throw new TypeError("attempted to reassign private method"); + } + `; +} \ No newline at end of file diff --git a/node_modules/@babel/helpers/lib/helpers/jsx.js b/node_modules/@babel/helpers/lib/helpers/jsx.js new file mode 100644 index 00000000..68de1684 --- /dev/null +++ b/node_modules/@babel/helpers/lib/helpers/jsx.js @@ -0,0 +1,53 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _createRawReactElement; +var REACT_ELEMENT_TYPE; + +function _createRawReactElement(type, props, key, children) { + if (!REACT_ELEMENT_TYPE) { + REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol["for"] && Symbol["for"]("react.element") || 0xeac7; + } + + var defaultProps = type && type.defaultProps; + var childrenLength = arguments.length - 3; + + if (!props && childrenLength !== 0) { + props = { + children: void 0 + }; + } + + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = new Array(childrenLength); + + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 3]; + } + + props.children = childArray; + } + + if (props && defaultProps) { + for (var propName in defaultProps) { + if (props[propName] === void 0) { + props[propName] = defaultProps[propName]; + } + } + } else if (!props) { + props = defaultProps || {}; + } + + return { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key === undefined ? null : "" + key, + ref: null, + props: props, + _owner: null + }; +} \ No newline at end of file diff --git a/node_modules/@babel/helpers/lib/helpers/objectSpread2.js b/node_modules/@babel/helpers/lib/helpers/objectSpread2.js new file mode 100644 index 00000000..03db0068 --- /dev/null +++ b/node_modules/@babel/helpers/lib/helpers/objectSpread2.js @@ -0,0 +1,46 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _objectSpread2; + +var _defineProperty = require("defineProperty"); + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + + if (enumerableOnly) { + symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + } + + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} \ No newline at end of file diff --git a/node_modules/@babel/helpers/lib/helpers/typeof.js b/node_modules/@babel/helpers/lib/helpers/typeof.js new file mode 100644 index 00000000..b1a728b9 --- /dev/null +++ b/node_modules/@babel/helpers/lib/helpers/typeof.js @@ -0,0 +1,22 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _typeof; + +function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + exports.default = _typeof = function (obj) { + return typeof obj; + }; + } else { + exports.default = _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); +} \ No newline at end of file diff --git a/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js b/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js new file mode 100644 index 00000000..6375b711 --- /dev/null +++ b/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js @@ -0,0 +1,73 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _wrapRegExp; + +var _setPrototypeOf = require("setPrototypeOf"); + +var _inherits = require("inherits"); + +function _wrapRegExp() { + exports.default = _wrapRegExp = function (re, groups) { + return new BabelRegExp(re, undefined, groups); + }; + + var _super = RegExp.prototype; + + var _groups = new WeakMap(); + + function BabelRegExp(re, flags, groups) { + var _this = new RegExp(re, flags); + + _groups.set(_this, groups || _groups.get(re)); + + return _setPrototypeOf(_this, BabelRegExp.prototype); + } + + _inherits(BabelRegExp, RegExp); + + BabelRegExp.prototype.exec = function (str) { + var result = _super.exec.call(this, str); + + if (result) result.groups = buildGroups(result, this); + return result; + }; + + BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { + if (typeof substitution === "string") { + var groups = _groups.get(this); + + return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { + return "$" + groups[name]; + })); + } else if (typeof substitution === "function") { + var _this = this; + + return _super[Symbol.replace].call(this, str, function () { + var args = arguments; + + if (typeof args[args.length - 1] !== "object") { + args = [].slice.call(args); + args.push(buildGroups(args, _this)); + } + + return substitution.apply(this, args); + }); + } else { + return _super[Symbol.replace].call(this, str, substitution); + } + }; + + function buildGroups(result, re) { + var g = _groups.get(re); + + return Object.keys(g).reduce(function (groups, name) { + groups[name] = result[g[name]]; + return groups; + }, Object.create(null)); + } + + return _wrapRegExp.apply(this, arguments); +} \ No newline at end of file diff --git a/node_modules/@babel/helpers/lib/index.js b/node_modules/@babel/helpers/lib/index.js new file mode 100644 index 00000000..d80cbd8c --- /dev/null +++ b/node_modules/@babel/helpers/lib/index.js @@ -0,0 +1,299 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.get = get; +exports.minVersion = minVersion; +exports.getDependencies = getDependencies; +exports.ensure = ensure; +exports.default = exports.list = void 0; + +var _traverse = require("@babel/traverse"); + +var _t = require("@babel/types"); + +var _helpers = require("./helpers"); + +const { + assignmentExpression, + cloneNode, + expressionStatement, + file: t_file, + identifier, + variableDeclaration, + variableDeclarator +} = _t; + +function makePath(path) { + const parts = []; + + for (; path.parentPath; path = path.parentPath) { + parts.push(path.key); + if (path.inList) parts.push(path.listKey); + } + + return parts.reverse().join("."); +} + +let fileClass = undefined; + +function getHelperMetadata(file) { + const globals = new Set(); + const localBindingNames = new Set(); + const dependencies = new Map(); + let exportName; + let exportPath; + const exportBindingAssignments = []; + const importPaths = []; + const importBindingsReferences = []; + const dependencyVisitor = { + ImportDeclaration(child) { + const name = child.node.source.value; + + if (!_helpers.default[name]) { + throw child.buildCodeFrameError(`Unknown helper ${name}`); + } + + if (child.get("specifiers").length !== 1 || !child.get("specifiers.0").isImportDefaultSpecifier()) { + throw child.buildCodeFrameError("Helpers can only import a default value"); + } + + const bindingIdentifier = child.node.specifiers[0].local; + dependencies.set(bindingIdentifier, name); + importPaths.push(makePath(child)); + }, + + ExportDefaultDeclaration(child) { + const decl = child.get("declaration"); + + if (decl.isFunctionDeclaration()) { + if (!decl.node.id) { + throw decl.buildCodeFrameError("Helpers should give names to their exported func declaration"); + } + + exportName = decl.node.id.name; + } + + exportPath = makePath(child); + }, + + ExportAllDeclaration(child) { + throw child.buildCodeFrameError("Helpers can only export default"); + }, + + ExportNamedDeclaration(child) { + throw child.buildCodeFrameError("Helpers can only export default"); + }, + + Statement(child) { + if (child.isModuleDeclaration()) return; + child.skip(); + } + + }; + const referenceVisitor = { + Program(path) { + const bindings = path.scope.getAllBindings(); + Object.keys(bindings).forEach(name => { + if (name === exportName) return; + if (dependencies.has(bindings[name].identifier)) return; + localBindingNames.add(name); + }); + }, + + ReferencedIdentifier(child) { + const name = child.node.name; + const binding = child.scope.getBinding(name); + + if (!binding) { + globals.add(name); + } else if (dependencies.has(binding.identifier)) { + importBindingsReferences.push(makePath(child)); + } + }, + + AssignmentExpression(child) { + const left = child.get("left"); + if (!(exportName in left.getBindingIdentifiers())) return; + + if (!left.isIdentifier()) { + throw left.buildCodeFrameError("Only simple assignments to exports are allowed in helpers"); + } + + const binding = child.scope.getBinding(exportName); + + if (binding != null && binding.scope.path.isProgram()) { + exportBindingAssignments.push(makePath(child)); + } + } + + }; + (0, _traverse.default)(file.ast, dependencyVisitor, file.scope); + (0, _traverse.default)(file.ast, referenceVisitor, file.scope); + if (!exportPath) throw new Error("Helpers must default-export something."); + exportBindingAssignments.reverse(); + return { + globals: Array.from(globals), + localBindingNames: Array.from(localBindingNames), + dependencies, + exportBindingAssignments, + exportPath, + exportName, + importBindingsReferences, + importPaths + }; +} + +function permuteHelperAST(file, metadata, id, localBindings, getDependency) { + if (localBindings && !id) { + throw new Error("Unexpected local bindings for module-based helpers."); + } + + if (!id) return; + const { + localBindingNames, + dependencies, + exportBindingAssignments, + exportPath, + exportName, + importBindingsReferences, + importPaths + } = metadata; + const dependenciesRefs = {}; + dependencies.forEach((name, id) => { + dependenciesRefs[id.name] = typeof getDependency === "function" && getDependency(name) || id; + }); + const toRename = {}; + const bindings = new Set(localBindings || []); + localBindingNames.forEach(name => { + let newName = name; + + while (bindings.has(newName)) newName = "_" + newName; + + if (newName !== name) toRename[name] = newName; + }); + + if (id.type === "Identifier" && exportName !== id.name) { + toRename[exportName] = id.name; + } + + const visitor = { + Program(path) { + const exp = path.get(exportPath); + const imps = importPaths.map(p => path.get(p)); + const impsBindingRefs = importBindingsReferences.map(p => path.get(p)); + const decl = exp.get("declaration"); + + if (id.type === "Identifier") { + if (decl.isFunctionDeclaration()) { + exp.replaceWith(decl); + } else { + exp.replaceWith(variableDeclaration("var", [variableDeclarator(id, decl.node)])); + } + } else if (id.type === "MemberExpression") { + if (decl.isFunctionDeclaration()) { + exportBindingAssignments.forEach(assignPath => { + const assign = path.get(assignPath); + assign.replaceWith(assignmentExpression("=", id, assign.node)); + }); + exp.replaceWith(decl); + path.pushContainer("body", expressionStatement(assignmentExpression("=", id, identifier(exportName)))); + } else { + exp.replaceWith(expressionStatement(assignmentExpression("=", id, decl.node))); + } + } else { + throw new Error("Unexpected helper format."); + } + + Object.keys(toRename).forEach(name => { + path.scope.rename(name, toRename[name]); + }); + + for (const path of imps) path.remove(); + + for (const path of impsBindingRefs) { + const node = cloneNode(dependenciesRefs[path.node.name]); + path.replaceWith(node); + } + + path.stop(); + } + + }; + (0, _traverse.default)(file.ast, visitor, file.scope); +} + +const helperData = Object.create(null); + +function loadHelper(name) { + if (!helperData[name]) { + const helper = _helpers.default[name]; + + if (!helper) { + throw Object.assign(new ReferenceError(`Unknown helper ${name}`), { + code: "BABEL_HELPER_UNKNOWN", + helper: name + }); + } + + const fn = () => { + const file = { + ast: t_file(helper.ast()) + }; + + if (fileClass) { + return new fileClass({ + filename: `babel-helper://${name}` + }, file); + } + + return file; + }; + + const metadata = getHelperMetadata(fn()); + helperData[name] = { + build(getDependency, id, localBindings) { + const file = fn(); + permuteHelperAST(file, metadata, id, localBindings, getDependency); + return { + nodes: file.ast.program.body, + globals: metadata.globals + }; + }, + + minVersion() { + return helper.minVersion; + }, + + dependencies: metadata.dependencies + }; + } + + return helperData[name]; +} + +function get(name, getDependency, id, localBindings) { + return loadHelper(name).build(getDependency, id, localBindings); +} + +function minVersion(name) { + return loadHelper(name).minVersion(); +} + +function getDependencies(name) { + return Array.from(loadHelper(name).dependencies.values()); +} + +function ensure(name, newFileClass) { + if (!fileClass) { + fileClass = newFileClass; + } + + loadHelper(name); +} + +const list = Object.keys(_helpers.default).map(name => name.replace(/^_/, "")).filter(name => name !== "__esModule"); +exports.list = list; +var _default = get; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/@babel/helpers/package.json b/node_modules/@babel/helpers/package.json new file mode 100644 index 00000000..bfe1d521 --- /dev/null +++ b/node_modules/@babel/helpers/package.json @@ -0,0 +1,28 @@ +{ + "name": "@babel/helpers", + "version": "7.15.4", + "description": "Collection of helper functions used by Babel transforms.", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-helpers", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helpers" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "devDependencies": { + "@babel/helper-plugin-test-runner": "7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/helpers/scripts/generate-helpers.js b/node_modules/@babel/helpers/scripts/generate-helpers.js new file mode 100644 index 00000000..cdc02f20 --- /dev/null +++ b/node_modules/@babel/helpers/scripts/generate-helpers.js @@ -0,0 +1,63 @@ +import fs from "fs"; +import { join } from "path"; +import { URL, fileURLToPath } from "url"; + +const HELPERS_FOLDER = new URL("../src/helpers", import.meta.url); +const IGNORED_FILES = new Set(["package.json"]); + +export default async function generateAsserts() { + let output = `/* + * This file is auto-generated! Do not modify it directly. + * To re-generate run 'make build' + */ + +import template from "@babel/template"; + +`; + + for (const file of (await fs.promises.readdir(HELPERS_FOLDER)).sort()) { + if (IGNORED_FILES.has(file)) continue; + if (file.startsWith(".")) continue; // ignore e.g. vim swap files + + const [helperName] = file.split("."); + const isValidId = isValidBindingIdentifier(helperName); + const varName = isValidId ? helperName : `_${helperName}`; + + const filePath = join(fileURLToPath(HELPERS_FOLDER), file); + const fileContents = await fs.promises.readFile(filePath, "utf8"); + const minVersionMatch = fileContents.match( + /^\s*\/\*\s*@minVersion\s+(?\S+)\s*\*\/\s*$/m + ); + if (!minVersionMatch) { + throw new Error(`@minVersion number missing in ${filePath}`); + } + const { minVersion } = minVersionMatch.groups; + + // TODO: We can minify the helpers in production + const source = fileContents + // Remove comments + .replace(/\/\*[^]*?\*\/|\/\/.*/g, "") + // Remove multiple newlines + .replace(/\n{2,}/g, "\n"); + + const intro = isValidId + ? "export " + : `export { ${varName} as ${helperName} }\n`; + + output += `\n${intro}const ${varName} = { + minVersion: ${JSON.stringify(minVersion)}, + ast: () => template.program.ast(${JSON.stringify(source)}) +};\n`; + } + + return output; +} + +function isValidBindingIdentifier(name) { + try { + Function(`var ${name}`); + return true; + } catch { + return false; + } +} diff --git a/node_modules/@babel/helpers/scripts/package.json b/node_modules/@babel/helpers/scripts/package.json new file mode 100644 index 00000000..5ffd9800 --- /dev/null +++ b/node_modules/@babel/helpers/scripts/package.json @@ -0,0 +1 @@ +{ "type": "module" } diff --git a/node_modules/@babel/highlight/LICENSE b/node_modules/@babel/highlight/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/highlight/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/highlight/README.md b/node_modules/@babel/highlight/README.md new file mode 100644 index 00000000..f8887ad2 --- /dev/null +++ b/node_modules/@babel/highlight/README.md @@ -0,0 +1,19 @@ +# @babel/highlight + +> Syntax highlight JavaScript strings for output in terminals. + +See our website [@babel/highlight](https://babeljs.io/docs/en/babel-highlight) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/highlight +``` + +or using yarn: + +```sh +yarn add @babel/highlight --dev +``` diff --git a/node_modules/@babel/highlight/lib/index.js b/node_modules/@babel/highlight/lib/index.js new file mode 100644 index 00000000..34e308f4 --- /dev/null +++ b/node_modules/@babel/highlight/lib/index.js @@ -0,0 +1,116 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.shouldHighlight = shouldHighlight; +exports.getChalk = getChalk; +exports.default = highlight; + +var _jsTokens = require("js-tokens"); + +var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); + +var _chalk = require("chalk"); + +const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]); + +function getDefs(chalk) { + return { + keyword: chalk.cyan, + capitalized: chalk.yellow, + jsxIdentifier: chalk.yellow, + punctuator: chalk.yellow, + number: chalk.magenta, + string: chalk.green, + regex: chalk.magenta, + comment: chalk.grey, + invalid: chalk.white.bgRed.bold + }; +} + +const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; +const BRACKET = /^[()[\]{}]$/; +let tokenize; +{ + const JSX_TAG = /^[a-z][\w-]*$/i; + + const getTokenType = function (token, offset, text) { + if (token.type === "name") { + if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) { + return "keyword"; + } + + if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == " colorize(str)).join("\n"); + } else { + highlighted += value; + } + } + + return highlighted; +} + +function shouldHighlight(options) { + return !!_chalk.supportsColor || options.forceColor; +} + +function getChalk(options) { + return options.forceColor ? new _chalk.constructor({ + enabled: true, + level: 1 + }) : _chalk; +} + +function highlight(code, options = {}) { + if (shouldHighlight(options)) { + const chalk = getChalk(options); + const defs = getDefs(chalk); + return highlightTokens(defs, code); + } else { + return code; + } +} \ No newline at end of file diff --git a/node_modules/@babel/highlight/package.json b/node_modules/@babel/highlight/package.json new file mode 100644 index 00000000..210c22c5 --- /dev/null +++ b/node_modules/@babel/highlight/package.json @@ -0,0 +1,29 @@ +{ + "name": "@babel/highlight", + "version": "7.14.5", + "description": "Syntax highlight JavaScript strings for output in terminals.", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-highlight", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-highlight" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "devDependencies": { + "@types/chalk": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/node_modules/@babel/parser/CHANGELOG.md b/node_modules/@babel/parser/CHANGELOG.md new file mode 100644 index 00000000..b3840ac8 --- /dev/null +++ b/node_modules/@babel/parser/CHANGELOG.md @@ -0,0 +1,1073 @@ +# Changelog + +> **Tags:** +> - :boom: [Breaking Change] +> - :eyeglasses: [Spec Compliance] +> - :rocket: [New Feature] +> - :bug: [Bug Fix] +> - :memo: [Documentation] +> - :house: [Internal] +> - :nail_care: [Polish] + +> Semver Policy: https://github.com/babel/babel/tree/main/packages/babel-parser#semver + +_Note: Gaps between patch versions are faulty, broken or test releases._ + +See the [Babel Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) for the pre-6.8.0 version Changelog. + +## 6.17.1 (2017-05-10) + +### :bug: Bug Fix + * Fix typo in flow spread operator error (Brian Ng) + * Fixed invalid number literal parsing ([#473](https://github.com/babel/babylon/pull/473)) (Alex Kuzmenko) + * Fix number parser ([#433](https://github.com/babel/babylon/pull/433)) (Alex Kuzmenko) + * Ensure non pattern shorthand props are checked for reserved words ([#479](https://github.com/babel/babylon/pull/479)) (Brian Ng) + * Remove jsx context when parsing arrow functions ([#475](https://github.com/babel/babylon/pull/475)) (Brian Ng) + * Allow super in class properties ([#499](https://github.com/babel/babylon/pull/499)) (Brian Ng) + * Allow flow class field to be named constructor ([#510](https://github.com/babel/babylon/pull/510)) (Brian Ng) + +## 6.17.0 (2017-04-20) + +### :bug: Bug Fix + * Cherry-pick #418 to 6.x ([#476](https://github.com/babel/babylon/pull/476)) (Sebastian McKenzie) + * Add support for invalid escapes in tagged templates ([#274](https://github.com/babel/babylon/pull/274)) (Kevin Gibbons) + * Throw error if new.target is used outside of a function ([#402](https://github.com/babel/babylon/pull/402)) (Brian Ng) + * Fix parsing of class properties ([#351](https://github.com/babel/babylon/pull/351)) (Kevin Gibbons) + * Fix parsing yield with dynamicImport ([#383](https://github.com/babel/babylon/pull/383)) (Brian Ng) + * Ensure consistent start args for parseParenItem ([#386](https://github.com/babel/babylon/pull/386)) (Brian Ng) + +## 7.0.0-beta.8 (2017-04-04) + +### New Feature +* Add support for flow type spread (#418) (Conrad Buck) +* Allow statics in flow interfaces (#427) (Brian Ng) + +### Bug Fix +* Fix predicate attachment to match flow parser (#428) (Brian Ng) +* Add extra.raw back to JSXText and JSXAttribute (#344) (Alex Rattray) +* Fix rest parameters with array and objects (#424) (Brian Ng) +* Fix number parser (#433) (Alex Kuzmenko) + +### Docs +* Fix CONTRIBUTING.md [skip ci] (#432) (Alex Kuzmenko) + +### Internal +* Use babel-register script when running babel smoke tests (#442) (Brian Ng) + +## 7.0.0-beta.7 (2017-03-22) + +### Spec Compliance +* Remove babylon plugin for template revision since it's stage-4 (#426) (Henry Zhu) + +### Bug Fix + +* Fix push-pop logic in flow (#405) (Daniel Tschinder) + +## 7.0.0-beta.6 (2017-03-21) + +### New Feature +* Add support for invalid escapes in tagged templates (#274) (Kevin Gibbons) + +### Polish +* Improves error message when super is called outside of constructor (#408) (Arshabh Kumar Agarwal) + +### Docs + +* [7.0] Moved value field in spec from ObjectMember to ObjectProperty as ObjectMethod's don't have it (#415) [skip ci] (James Browning) + +## 7.0.0-beta.5 (2017-03-21) + +### Bug Fix +* Throw error if new.target is used outside of a function (#402) (Brian Ng) +* Fix parsing of class properties (#351) (Kevin Gibbons) + +### Other + * Test runner: Detect extra property in 'actual' but not in 'expected'. (#407) (Andy) + * Optimize travis builds (#419) (Daniel Tschinder) + * Update codecov to 2.0 (#412) (Daniel Tschinder) + * Fix spec for ClassMethod: It doesn't have a function, it *is* a function. (#406) [skip ci] (Andy) + * Changed Non-existent RestPattern to RestElement which is what is actually parsed (#409) [skip ci] (James Browning) + * Upgrade flow to 0.41 (Daniel Tschinder) + * Fix watch command (#403) (Brian Ng) + * Update yarn lock (Daniel Tschinder) + * Fix watch command (#403) (Brian Ng) + * chore(package): update flow-bin to version 0.41.0 (#395) (greenkeeper[bot]) + * Add estree test for correct order of directives (Daniel Tschinder) + * Add DoExpression to spec (#364) (Alex Kuzmenko) + * Mention cloning of repository in CONTRIBUTING.md (#391) [skip ci] (Sumedh Nimkarde) + * Explain how to run only one test (#389) [skip ci] (Aaron Ang) + + ## 7.0.0-beta.4 (2017-03-01) + +* Don't consume async when checking for async func decl (#377) (Brian Ng) +* add `ranges` option [skip ci] (Henry Zhu) +* Don't parse class properties without initializers when classProperties is disabled and Flow is enabled (#300) (Andrew Levine) + +## 7.0.0-beta.3 (2017-02-28) + +- [7.0] Change RestProperty/SpreadProperty to RestElement/SpreadElement (#384) +- Merge changes from 6.x + +## 7.0.0-beta.2 (2017-02-20) + +- estree: correctly change literals in all cases (#368) (Daniel Tschinder) + +## 7.0.0-beta.1 (2017-02-20) + +- Fix negative number literal typeannotations (#366) (Daniel Tschinder) +- Update contributing with more test info [skip ci] (#355) (Brian Ng) + +## 7.0.0-beta.0 (2017-02-15) + +- Reintroduce Variance node (#333) (Daniel Tschinder) +- Rename NumericLiteralTypeAnnotation to NumberLiteralTypeAnnotation (#332) (Charles Pick) +- [7.0] Remove ForAwaitStatement, add await flag to ForOfStatement (#349) (Brandon Dail) +- chore(package): update ava to version 0.18.0 (#345) (greenkeeper[bot]) +- chore(package): update babel-plugin-istanbul to version 4.0.0 (#350) (greenkeeper[bot]) +- Change location of ObjectTypeIndexer to match flow (#228) (Daniel Tschinder) +- Rename flow AST Type ExistentialTypeParam to ExistsTypeAnnotation (#322) (Toru Kobayashi) +- Revert "Temporary rollback for erroring on trailing comma with spread (#154)" (#290) (Daniel Tschinder) +- Remove classConstructorCall plugin (#291) (Brian Ng) +- Update yarn.lock (Daniel Tschinder) +- Update cross-env to 3.x (Daniel Tschinder) +- [7.0] Remove node 0.10, 0.12 and 5 from Travis (#284) (Sergey Rubanov) +- Remove `String.fromCodePoint` shim (#279) (Mathias Bynens) + +## 6.16.1 (2017-02-23) + +### :bug: Regression + +- Revert "Fix export default async function to be FunctionDeclaration" ([#375](https://github.com/babel/babylon/pull/375)) + +Need to modify Babel for this AST node change, so moving to 7.0. + +- Revert "Don't parse class properties without initializers when classProperties plugin is disabled, and Flow is enabled" ([#376](https://github.com/babel/babylon/pull/376)) + +[react-native](https://github.com/facebook/react-native/issues/12542) broke with this so we reverted. + +## 6.16.0 (2017-02-23) + +### :rocket: New Feature + +***ESTree*** compatibility as plugin ([#277](https://github.com/babel/babylon/pull/277)) (Daniel Tschinder) + +We finally introduce a new compatibility layer for ESTree. To put babylon into ESTree-compatible mode the new plugin `estree` can be enabled. In this mode the parser will output an AST that is compliant to the specs of [ESTree](https://github.com/estree/estree/) + +We highly recommend everyone who uses babylon outside of babel to use this plugin. This will make it much easier for users to switch between different ESTree-compatible parsers. We so far tested several projects with different parsers and exchanged their parser to babylon and in nearly all cases it worked out of the box. Some other estree-compatible parsers include `acorn`, `esprima`, `espree`, `flow-parser`, etc. + +To enable `estree` mode simply add the plugin in the config: +```json +{ + "plugins": [ "estree" ] +} +``` + +If you want to migrate your project from non-ESTree mode to ESTree, have a look at our [Readme](https://github.com/babel/babylon/#output), where all deviations are mentioned. + +Add a parseExpression public method ([#213](https://github.com/babel/babylon/pull/213)) (jeromew) + +Babylon exports a new function to parse a single expression + +```js +import { parseExpression } from 'babylon'; + +const ast = parseExpression('x || y && z', options); +``` + +The returned AST will only consist of the expression. The options are the same as for `parse()` + +Add startLine option ([#346](https://github.com/babel/babylon/pull/346)) (Raphael Mu) + +A new option was added to babylon allowing to change the initial linenumber for the first line which is usually `1`. +Changing this for example to `100` will make line `1` of the input source to be marked as line `100`, line `2` as `101`, line `3` as `102`, ... + +Function predicate declaration ([#103](https://github.com/babel/babylon/pull/103)) (Panagiotis Vekris) + +Added support for function predicates which flow introduced in version 0.33.0 + +```js +declare function is_number(x: mixed): boolean %checks(typeof x === "number"); +``` + +Allow imports in declare module ([#315](https://github.com/babel/babylon/pull/315)) (Daniel Tschinder) + +Added support for imports within module declarations which flow introduced in version 0.37.0 + +```js +declare module "C" { + import type { DT } from "D"; + declare export type CT = { D: DT }; +} +``` + +### :eyeglasses: Spec Compliance + +Forbid semicolons after decorators in classes ([#352](https://github.com/babel/babylon/pull/352)) (Kevin Gibbons) + +This example now correctly throws an error when there is a semicolon after the decorator: + +```js +class A { +@a; +foo(){} +} +``` + +Keywords are not allowed as local specifier ([#307](https://github.com/babel/babylon/pull/307)) (Daniel Tschinder) + +Using keywords in imports is not allowed anymore: + +```js +import { default } from "foo"; +import { a as debugger } from "foo"; +``` + +Do not allow overwritting of primitive types ([#314](https://github.com/babel/babylon/pull/314)) (Daniel Tschinder) + +In flow it is now forbidden to overwrite the primitive types `"any"`, `"mixed"`, `"empty"`, `"bool"`, `"boolean"`, `"number"`, `"string"`, `"void"` and `"null"` with your own type declaration. + +Disallow import type { type a } from … ([#305](https://github.com/babel/babylon/pull/305)) (Daniel Tschinder) + +The following code now correctly throws an error + +```js +import type { type a } from "foo"; +``` + +Don't parse class properties without initializers when classProperties is disabled and Flow is enabled ([#300](https://github.com/babel/babylon/pull/300)) (Andrew Levine) + +Ensure that you enable the `classProperties` plugin in order to enable correct parsing of class properties. Prior to this version it was possible to parse them by enabling the `flow` plugin but this was not intended the behaviour. + +If you enable the flow plugin you can only define the type of the class properties, but not initialize them. + +Fix export default async function to be FunctionDeclaration ([#324](https://github.com/babel/babylon/pull/324)) (Daniel Tschinder) + +Parsing the following code now returns a `FunctionDeclaration` AST node instead of `FunctionExpression`. + +```js +export default async function bar() {}; +``` + +### :nail_care: Polish + +Improve error message on attempt to destructure named import ([#288](https://github.com/babel/babylon/pull/288)) (Brian Ng) + +### :bug: Bug Fix + +Fix negative number literal typeannotations ([#366](https://github.com/babel/babylon/pull/366)) (Daniel Tschinder) + +Ensure takeDecorators is called on exported class ([#358](https://github.com/babel/babylon/pull/358)) (Brian Ng) + +ESTree: correctly change literals in all cases ([#368](https://github.com/babel/babylon/pull/368)) (Daniel Tschinder) + +Correctly convert RestProperty to Assignable ([#339](https://github.com/babel/babylon/pull/339)) (Daniel Tschinder) + +Fix #321 by allowing question marks in type params ([#338](https://github.com/babel/babylon/pull/338)) (Daniel Tschinder) + +Fix #336 by correctly setting arrow-param ([#337](https://github.com/babel/babylon/pull/337)) (Daniel Tschinder) + +Fix parse error when destructuring `set` with default value ([#317](https://github.com/babel/babylon/pull/317)) (Brian Ng) + +Fix ObjectTypeCallProperty static ([#298](https://github.com/babel/babylon/pull/298)) (Dan Harper) + + +### :house: Internal + +Fix generator-method-with-computed-name spec ([#360](https://github.com/babel/babylon/pull/360)) (Alex Rattray) + +Fix flow type-parameter-declaration test with unintended semantic ([#361](https://github.com/babel/babylon/pull/361)) (Alex Rattray) + +Cleanup and splitup parser functions ([#295](https://github.com/babel/babylon/pull/295)) (Daniel Tschinder) + +chore(package): update flow-bin to version 0.38.0 ([#313](https://github.com/babel/babylon/pull/313)) (greenkeeper[bot]) + +Call inner function instead of 1:1 copy to plugin ([#294](https://github.com/babel/babylon/pull/294)) (Daniel Tschinder) + +Update eslint-config-babel to the latest version 🚀 ([#299](https://github.com/babel/babylon/pull/299)) (greenkeeper[bot]) + +Update eslint-config-babel to the latest version 🚀 ([#293](https://github.com/babel/babylon/pull/293)) (greenkeeper[bot]) + +devDeps: remove eslint-plugin-babel ([#292](https://github.com/babel/babylon/pull/292)) (Kai Cataldo) + +Correct indent eslint rule config ([#276](https://github.com/babel/babylon/pull/276)) (Daniel Tschinder) + +Fail tests that have expected.json and throws-option ([#285](https://github.com/babel/babylon/pull/285)) (Daniel Tschinder) + +### :memo: Documentation + +Update contributing with more test info [skip ci] ([#355](https://github.com/babel/babylon/pull/355)) (Brian Ng) + +Update API documentation ([#330](https://github.com/babel/babylon/pull/330)) (Timothy Gu) + +Added keywords to package.json ([#323](https://github.com/babel/babylon/pull/323)) (Dmytro) + +AST spec: fix casing of `RegExpLiteral` ([#318](https://github.com/babel/babylon/pull/318)) (Mathias Bynens) + +## 6.15.0 (2017-01-10) + +### :eyeglasses: Spec Compliance + +Add support for Flow shorthand import type ([#267](https://github.com/babel/babylon/pull/267)) (Jeff Morrison) + +This change implements flows new shorthand import syntax +and where previously you had to write this code: + +```js +import {someValue} from "blah"; +import type {someType} from "blah"; +import typeof {someOtherValue} from "blah"; +``` + +you can now write it like this: + +```js +import { + someValue, + type someType, + typeof someOtherValue, +} from "blah"; +``` + +For more information look at [this](https://github.com/facebook/flow/pull/2890) pull request. + +flow: allow leading pipes in all positions ([#256](https://github.com/babel/babylon/pull/256)) (Vladimir Kurchatkin) + +This change now allows a leading pipe everywhere types can be used: +```js +var f = (x): | 1 | 2 => 1; +``` + +Throw error when exporting non-declaration ([#241](https://github.com/babel/babylon/pull/241)) (Kai Cataldo) + +Previously babylon parsed the following exports, although they are not valid: +```js +export typeof foo; +export new Foo(); +export function() {}; +export for (;;); +export while(foo); +``` + +### :bug: Bug Fix + +Don't set inType flag when parsing property names ([#266](https://github.com/babel/babylon/pull/266)) (Vladimir Kurchatkin) + +This fixes parsing of this case: + +```js +const map = { + [age <= 17] : 'Too young' +}; +``` + +Fix source location for JSXEmptyExpression nodes (fixes #248) ([#249](https://github.com/babel/babylon/pull/249)) (James Long) + +The following case produced an invalid AST +```js +
{/* foo */}
+``` + +Use fromCodePoint to convert high value unicode entities ([#243](https://github.com/babel/babylon/pull/243)) (Ryan Duffy) + +When high value unicode entities (e.g. 💩) were used in the input source code they are now correctly encoded in the resulting AST. + +Rename folder to avoid Windows-illegal characters ([#281](https://github.com/babel/babylon/pull/281)) (Ryan Plant) + +Allow this.state.clone() when parsing decorators ([#262](https://github.com/babel/babylon/pull/262)) (Alex Rattray) + +### :house: Internal + +User external-helpers ([#254](https://github.com/babel/babylon/pull/254)) (Daniel Tschinder) + +Add watch script for dev ([#234](https://github.com/babel/babylon/pull/234)) (Kai Cataldo) + +Freeze current plugins list for "*" option, and remove from README.md ([#245](https://github.com/babel/babylon/pull/245)) (Andrew Levine) + +Prepare tests for multiple fixture runners. ([#240](https://github.com/babel/babylon/pull/240)) (Daniel Tschinder) + +Add some test coverage for decorators stage-0 plugin ([#250](https://github.com/babel/babylon/pull/250)) (Andrew Levine) + +Refactor tokenizer types file ([#263](https://github.com/babel/babylon/pull/263)) (Sven SAULEAU) + +Update eslint-config-babel to the latest version 🚀 ([#273](https://github.com/babel/babylon/pull/273)) (greenkeeper[bot]) + +chore(package): update rollup to version 0.41.0 ([#272](https://github.com/babel/babylon/pull/272)) (greenkeeper[bot]) + +chore(package): update flow-bin to version 0.37.0 ([#255](https://github.com/babel/babylon/pull/255)) (greenkeeper[bot]) + +## 6.14.1 (2016-11-17) + +### :bug: Bug Fix + +Allow `"plugins": ["*"]` ([#229](https://github.com/babel/babylon/pull/229)) (Daniel Tschinder) + +```js +{ + "plugins": ["*"] +} +``` + +Will include all parser plugins instead of specifying each one individually. Useful for tools like babel-eslint, jscodeshift, and ast-explorer. + +## 6.14.0 (2016-11-16) + +### :eyeglasses: Spec Compliance + +Throw error for reserved words `enum` and `await` ([#195](https://github.com/babel/babylon/pull/195)) (Kai Cataldo) + +[11.6.2.2 Future Reserved Words](http://www.ecma-international.org/ecma-262/6.0/#sec-future-reserved-words) + +Babylon will throw for more reserved words such as `enum` or `await` (in strict mode). + +``` +class enum {} // throws +class await {} // throws in strict mode (module) +``` + +Optional names for function types and object type indexers ([#197](https://github.com/babel/babylon/pull/197)) (Gabe Levi) + +So where you used to have to write + +```js +type A = (x: string, y: boolean) => number; +type B = (z: string) => number; +type C = { [key: string]: number }; +``` + +you can now write (with flow 0.34.0) + +```js +type A = (string, boolean) => number; +type B = string => number; +type C = { [string]: number }; +``` + +Parse flow nested array type annotations like `number[][]` ([#219](https://github.com/babel/babylon/pull/219)) (Bernhard Häussner) + +Supports these form now of specifying array types: + +```js +var a: number[][][][]; +var b: string[][]; +``` + +### :bug: Bug Fix + +Correctly eat semicolon at the end of `DelcareModuleExports` ([#223](https://github.com/babel/babylon/pull/223)) (Daniel Tschinder) + +``` +declare module "foo" { declare module.exports: number } +declare module "foo" { declare module.exports: number; } // also allowed now +``` + +### :house: Internal + + * Count Babel tests towards Babylon code coverage ([#182](https://github.com/babel/babylon/pull/182)) (Moti Zilberman) + * Fix strange line endings ([#214](https://github.com/babel/babylon/pull/214)) (Thomas Grainger) + * Add node 7 (Daniel Tschinder) + * chore(package): update flow-bin to version 0.34.0 ([#204](https://github.com/babel/babylon/pull/204)) (Greenkeeper) + +## v6.13.1 (2016-10-26) + +### :nail_care: Polish + +- Use rollup for bundling to speed up startup time ([#190](https://github.com/babel/babylon/pull/190)) ([@drewml](https://github.com/DrewML)) + +```js +const babylon = require('babylon'); +const ast = babylon.parse('var foo = "lol";'); +``` + +With that test case, there was a ~95ms savings by removing the need for node to build/traverse the dependency graph. + +**Without bundling** +![image](https://cloud.githubusercontent.com/assets/5233399/19420264/3133497e-93ad-11e6-9a6a-2da59c4f5c13.png) + +**With bundling** +![image](https://cloud.githubusercontent.com/assets/5233399/19420267/388f556e-93ad-11e6-813e-7c5c396be322.png) + +- add clean command [skip ci] ([#201](https://github.com/babel/babylon/pull/201)) (Henry Zhu) +- add ForAwaitStatement (async generator already added) [skip ci] ([#196](https://github.com/babel/babylon/pull/196)) (Henry Zhu) + +## v6.13.0 (2016-10-21) + +### :eyeglasses: Spec Compliance + +Property variance type annotations for Flow plugin ([#161](https://github.com/babel/babylon/pull/161)) (Sam Goldman) + +> See https://flowtype.org/docs/variance.html for more information + +```js +type T = { +p: T }; +interface T { -p: T }; +declare class T { +[k:K]: V }; +class T { -[k:K]: V }; +class C2 { +p: T = e }; +``` + +Raise error on duplicate definition of __proto__ ([#183](https://github.com/babel/babylon/pull/183)) (Moti Zilberman) + +```js +({ __proto__: 1, __proto__: 2 }) // Throws an error now +``` + +### :bug: Bug Fix + +Flow: Allow class properties to be named `static` ([#184](https://github.com/babel/babylon/pull/184)) (Moti Zilberman) + +```js +declare class A { + static: T; +} +``` + +Allow "async" as identifier for object literal property shorthand ([#187](https://github.com/babel/babylon/pull/187)) (Andrew Levine) + +```js +var foo = { async, bar }; +``` + +### :nail_care: Polish + +Fix flowtype and add inType to state ([#189](https://github.com/babel/babylon/pull/189)) (Daniel Tschinder) + +> This improves the performance slightly (because of hidden classes) + +### :house: Internal + +Fix .gitattributes line ending setting ([#191](https://github.com/babel/babylon/pull/191)) (Moti Zilberman) + +Increase test coverage ([#175](https://github.com/babel/babylon/pull/175) (Moti Zilberman) + +Readd missin .eslinignore for IDEs (Daniel Tschinder) + +Error on missing expected.json fixture in CI ([#188](https://github.com/babel/babylon/pull/188)) (Moti Zilberman) + +Add .gitattributes and .editorconfig for LF line endings ([#179](https://github.com/babel/babylon/pull/179)) (Moti Zilberman) + +Fixes two tests that are failing after the merge of #172 ([#177](https://github.com/babel/babylon/pull/177)) (Moti Zilberman) + +## v6.12.0 (2016-10-14) + +### :eyeglasses: Spec Compliance + +Implement import() syntax ([#163](https://github.com/babel/babylon/pull/163)) (Jordan Gensler) + +#### Dynamic Import + +- Proposal Repo: https://github.com/domenic/proposal-dynamic-import +- Championed by [@domenic](https://github.com/domenic) +- stage-2 +- [sept-28 tc39 notes](https://github.com/rwaldron/tc39-notes/blob/master/es7/2016-09/sept-28.md#113a-import) + +> This repository contains a proposal for adding a "function-like" import() module loading syntactic form to JavaScript + +```js +import(`./section-modules/${link.dataset.entryModule}.js`) +.then(module => { + module.loadPageInto(main); +}) +``` + +Add EmptyTypeAnnotation ([#171](https://github.com/babel/babylon/pull/171)) (Sam Goldman) + +#### EmptyTypeAnnotation + +Just wasn't covered before. + +```js +type T = empty; +``` + +### :bug: Bug Fix + +Fix crash when exporting with destructuring and sparse array ([#170](https://github.com/babel/babylon/pull/170)) (Jeroen Engels) + +```js +// was failing due to sparse array +export const { foo: [ ,, qux7 ] } = bar; +``` + +Allow keyword in Flow object declaration property names with type parameters ([#146](https://github.com/babel/babylon/pull/146)) (Dan Harper) + +```js +declare class X { + foobar(): void; + static foobar(): void; +} +``` + +Allow keyword in object/class property names with Flow type parameters ([#145](https://github.com/babel/babylon/pull/145)) (Dan Harper) + +```js +class Foo { + delete(item: T): T { + return item; + } +} +``` + +Allow typeAnnotations for yield expressions ([#174](https://github.com/babel/babylon/pull/174))) (Daniel Tschinder) + +```js +function *foo() { + const x = (yield 5: any); +} +``` + +### :nail_care: Polish + +Annotate more errors with expected token ([#172](https://github.com/babel/babylon/pull/172))) (Moti Zilberman) + +```js +// Unexpected token, expected ; (1:6) +{ set 1 } +``` + +### :house: Internal + +Remove kcheck ([#173](https://github.com/babel/babylon/pull/173))) (Daniel Tschinder) + +Also run flow, linting, babel tests on separate instances (add back node 0.10) + +## v6.11.6 (2016-10-12) + +### :bug: Bug Fix/Regression + +Fix crash when exporting with destructuring and sparse array ([#170](https://github.com/babel/babylon/pull/170)) (Jeroen Engels) + +```js +// was failing with `Cannot read property 'type' of null` because of null identifiers +export const { foo: [ ,, qux7 ] } = bar; +``` + +## v6.11.5 (2016-10-12) + +### :eyeglasses: Spec Compliance + +Fix: Check for duplicate named exports in exported destructuring assignments ([#144](https://github.com/babel/babylon/pull/144)) (Kai Cataldo) + +```js +// `foo` has already been exported. Exported identifiers must be unique. (2:20) +export function foo() {}; +export const { a: [{foo}] } = bar; +``` + +Fix: Check for duplicate named exports in exported rest elements/properties ([#164](https://github.com/babel/babylon/pull/164)) (Kai Cataldo) + +```js +// `foo` has already been exported. Exported identifiers must be unique. (2:22) +export const foo = 1; +export const [bar, ...foo] = baz; +``` + +### :bug: Bug Fix + +Fix: Allow identifier `async` for default param in arrow expression ([#165](https://github.com/babel/babylon/pull/165)) (Kai Cataldo) + +```js +// this is ok now +const test = ({async = true}) => {}; +``` + +### :nail_care: Polish + +Babylon will now print out the token it's expecting if there's a `SyntaxError` ([#150](https://github.com/babel/babylon/pull/150)) (Daniel Tschinder) + +```bash +# So in the case of a missing ending curly (`}`) +Module build failed: SyntaxError: Unexpected token, expected } (30:0) + 28 | } + 29 | +> 30 | + | ^ +``` + +## v6.11.4 (2016-10-03) + +Temporary rollback for erroring on trailing comma with spread (#154) (Henry Zhu) + +## v6.11.3 (2016-10-01) + +### :eyeglasses: Spec Compliance + +Add static errors for object rest (#149) ([@danez](https://github.com/danez)) + +> https://github.com/sebmarkbage/ecmascript-rest-spread + +Object rest copies the *rest* of properties from the right hand side `obj` starting from the left to right. + +```js +let { x, y, ...z } = { x: 1, y: 2, z: 3 }; +// x = 1 +// y = 2 +// z = { z: 3 } +``` + +#### New Syntax Errors: + +**SyntaxError**: The rest element has to be the last element when destructuring (1:10) +```bash +> 1 | let { ...x, y, z } = { x: 1, y: 2, z: 3}; + | ^ +# Previous behavior: +# x = { x: 1, y: 2, z: 3 } +# y = 2 +# z = 3 +``` + +Before, this was just a more verbose way of shallow copying `obj` since it doesn't actually do what you think. + +**SyntaxError**: Cannot have multiple rest elements when destructuring (1:13) + +```bash +> 1 | let { x, ...y, ...z } = { x: 1, y: 2, z: 3}; + | ^ +# Previous behavior: +# x = 1 +# y = { y: 2, z: 3 } +# z = { y: 2, z: 3 } +``` + +Before y and z would just be the same value anyway so there is no reason to need to have both. + +**SyntaxError**: A trailing comma is not permitted after the rest element (1:16) + +```js +let { x, y, ...z, } = obj; +``` + +The rationale for this is that the use case for trailing comma is that you can add something at the end without affecting the line above. Since a RestProperty always has to be the last property it doesn't make sense. + +--- + +get / set are valid property names in default assignment (#142) ([@jezell](https://github.com/jezell)) + +```js +// valid +function something({ set = null, get = null }) {} +``` + +## v6.11.2 (2016-09-23) + +### Bug Fix + +- [#139](https://github.com/babel/babylon/issues/139) Don't do the duplicate check if not an identifier (#140) @hzoo + +```js +// regression with duplicate export check +SyntaxError: ./typography.js: `undefined` has already been exported. Exported identifiers must be unique. (22:13) + 20 | + 21 | export const { rhythm } = typography; +> 22 | export const { TypographyStyle } = typography +``` + +Bail out for now, and make a change to account for destructuring in the next release. + +## 6.11.1 (2016-09-22) + +### Bug Fix +- [#137](https://github.com/babel/babylon/pull/137) - Fix a regression with duplicate exports - it was erroring on all keys in `Object.prototype`. @danez + +```javascript +export toString from './toString'; +``` + +```bash +`toString` has already been exported. Exported identifiers must be unique. (1:7) +> 1 | export toString from './toString'; + | ^ + 2 | +``` + +## 6.11.0 (2016-09-22) + +### Spec Compliance (will break CI) + +- Disallow duplicate named exports ([#107](https://github.com/babel/babylon/pull/107)) @kaicataldo + +```js +// Only one default export allowed per module. (2:9) +export default function() {}; +export { foo as default }; + +// Only one default export allowed per module. (2:0) +export default {}; +export default function() {}; + +// `Foo` has already been exported. Exported identifiers must be unique. (2:0) +export { Foo }; +export class Foo {}; +``` + +### New Feature (Syntax) + +- Add support for computed class property names ([#121](https://github.com/babel/babylon/pull/121)) @motiz88 + +```js +// AST +interface ClassProperty <: Node { + type: "ClassProperty"; + key: Identifier; + value: Expression; + computed: boolean; // added +} +``` + +```js +// with "plugins": ["classProperties"] +class Foo { + [x] + ['y'] +} + +class Bar { + [p] + [m] () {} +} + ``` + +### Bug Fix + +- Fix `static` property falling through in the declare class Flow AST ([#135](https://github.com/babel/babylon/pull/135)) @danharper + +```js +declare class X { + a: number; + static b: number; // static + c: number; // this was being marked as static in the AST as well +} +``` + +### Polish + +- Rephrase "assigning/binding to rvalue" errors to include context ([#119](https://github.com/babel/babylon/pull/119)) @motiz88 + +```js +// Used to error with: +// SyntaxError: Assigning to rvalue (1:0) + +// Now: +// Invalid left-hand side in assignment expression (1:0) +3 = 4 + +// Invalid left-hand side in for-in statement (1:5) +for (+i in {}); +``` + +### Internal + +- Fix call to `this.parseMaybeAssign` with correct arguments ([#133](https://github.com/babel/babylon/pull/133)) @danez +- Add semver note to changelog ([#131](https://github.com/babel/babylon/pull/131)) @hzoo + +## 6.10.0 (2016-09-19) + +> We plan to include some spec compliance bugs in patch versions. An example was the multiple default exports issue. + +### Spec Compliance + +* Implement ES2016 check for simple parameter list in strict mode ([#106](https://github.com/babel/babylon/pull/106)) (Timothy Gu) + +> It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. https://tc39.github.io/ecma262/2016/#sec-function-definitions-static-semantics-early-errors + +More Context: [tc39-notes](https://github.com/rwaldron/tc39-notes/blob/master/es7/2015-07/july-29.md#611-the-scope-of-use-strict-with-respect-to-destructuring-in-parameter-lists) + +For example: + +```js +// this errors because it uses destructuring and default parameters +// in a function with a "use strict" directive +function a([ option1, option2 ] = []) { + "use strict"; +} + ``` + +The solution would be to use a top level "use strict" or to remove the destructuring or default parameters when using a function + "use strict" or to. + +### New Feature + +* Exact object type annotations for Flow plugin ([#104](https://github.com/babel/babylon/pull/104)) (Basil Hosmer) + +Added to flow in https://github.com/facebook/flow/commit/c710c40aa2a115435098d6c0dfeaadb023cd39b8 + +Looks like: + +```js +var a : {| x: number, y: string |} = { x: 0, y: 'foo' }; +``` + +### Bug Fixes + +* Include `typeParameter` location in `ArrowFunctionExpression` ([#126](https://github.com/babel/babylon/pull/126)) (Daniel Tschinder) +* Error on invalid flow type annotation with default assignment ([#122](https://github.com/babel/babylon/pull/122)) (Dan Harper) +* Fix Flow return types on arrow functions ([#124](https://github.com/babel/babylon/pull/124)) (Dan Harper) + +### Misc + +* Add tests for export extensions ([#127](https://github.com/babel/babylon/pull/127)) (Daniel Tschinder) +* Fix Contributing guidelines [skip ci] (Daniel Tschinder) + +## 6.9.2 (2016-09-09) + +The only change is to remove the `babel-runtime` dependency by compiling with Babel's ES2015 loose mode. So using babylon standalone should be smaller. + +## 6.9.1 (2016-08-23) + +This release contains mainly small bugfixes but also updates babylons default mode to es2017. The features for `exponentiationOperator`, `asyncFunctions` and `trailingFunctionCommas` which previously needed to be activated via plugin are now enabled by default and the plugins are now no-ops. + +### Bug Fixes + +- Fix issues with default object params in async functions ([#96](https://github.com/babel/babylon/pull/96)) @danez +- Fix issues with flow-types and async function ([#95](https://github.com/babel/babylon/pull/95)) @danez +- Fix arrow functions with destructuring, types & default value ([#94](https://github.com/babel/babylon/pull/94)) @danharper +- Fix declare class with qualified type identifier ([#97](https://github.com/babel/babylon/pull/97)) @danez +- Remove exponentiationOperator, asyncFunctions, trailingFunctionCommas plugins and enable them by default ([#98](https://github.com/babel/babylon/pull/98)) @danez + +## 6.9.0 (2016-08-16) + +### New syntax support + +- Add JSX spread children ([#42](https://github.com/babel/babylon/pull/42)) @calebmer + +(Be aware that React is not going to support this syntax) + +```js +
+ {...todos.map(todo => )} +
+``` + +- Add support for declare module.exports ([#72](https://github.com/babel/babylon/pull/72)) @danez + +```js +declare module "foo" { + declare module.exports: {} +} +``` + +### New Features + +- If supplied, attach filename property to comment node loc. ([#80](https://github.com/babel/babylon/pull/80)) @divmain +- Add identifier name to node loc field ([#90](https://github.com/babel/babylon/pull/90)) @kittens + +### Bug Fixes + +- Fix exponential operator to behave according to spec ([#75](https://github.com/babel/babylon/pull/75)) @danez +- Fix lookahead to not add comments to arrays which are not cloned ([#76](https://github.com/babel/babylon/pull/76)) @danez +- Fix accidental fall-through in Flow type parsing. ([#82](https://github.com/babel/babylon/pull/82)) @xiemaisi +- Only allow declares inside declare module ([#73](https://github.com/babel/babylon/pull/73)) @danez +- Small fix for parsing type parameter declarations ([#83](https://github.com/babel/babylon/pull/83)) @gabelevi +- Fix arrow param locations with flow types ([#57](https://github.com/babel/babylon/pull/57)) @danez +- Fixes SyntaxError position with flow optional type ([#65](https://github.com/babel/babylon/pull/65)) @danez + +### Internal + +- Add codecoverage to tests @danez +- Fix tests to not save expected output if we expect the test to fail @danez +- Make a shallow clone of babel for testing @danez +- chore(package): update cross-env to version 2.0.0 ([#77](https://github.com/babel/babylon/pull/77)) @greenkeeperio-bot +- chore(package): update ava to version 0.16.0 ([#86](https://github.com/babel/babylon/pull/86)) @greenkeeperio-bot +- chore(package): update babel-plugin-istanbul to version 2.0.0 ([#89](https://github.com/babel/babylon/pull/89)) @greenkeeperio-bot +- chore(package): update nyc to version 8.0.0 ([#88](https://github.com/babel/babylon/pull/88)) @greenkeeperio-bot + +## 6.8.4 (2016-07-06) + +### Bug Fixes + +- Fix the location of params, when flow and default value used ([#68](https://github.com/babel/babylon/pull/68)) @danez + +## 6.8.3 (2016-07-02) + +### Bug Fixes + +- Fix performance regression introduced in 6.8.2 with conditionals ([#63](https://github.com/babel/babylon/pull/63)) @danez + +## 6.8.2 (2016-06-24) + +### Bug Fixes + +- Fix parse error with yielding jsx elements in generators `function* it() { yield
; }` ([#31](https://github.com/babel/babylon/pull/31)) @eldereal +- When cloning nodes do not clone its comments ([#24](https://github.com/babel/babylon/pull/24)) @danez +- Fix parse errors when using arrow functions with an spread element and return type `(...props): void => {}` ([#10](https://github.com/babel/babylon/pull/10)) @danez +- Fix leading comments added from previous node ([#23](https://github.com/babel/babylon/pull/23)) @danez +- Fix parse errors with flow's optional arguments `(arg?) => {}` ([#19](https://github.com/babel/babylon/pull/19)) @danez +- Support negative numeric type literals @kittens +- Remove line terminator restriction after await keyword @kittens +- Remove grouped type arrow restriction as it seems flow no longer has it @kittens +- Fix parse error with generic methods that have the name `get` or `set` `class foo { get() {} }` ([#55](https://github.com/babel/babylon/pull/55)) @vkurchatkin +- Fix parse error with arrow functions that have flow type parameter declarations `(x: T): T => x;` ([#54](https://github.com/babel/babylon/pull/54)) @gabelevi + +### Documentation + +- Document AST differences from ESTree ([#41](https://github.com/babel/babylon/pull/41)) @nene +- Move ast spec from babel/babel ([#46](https://github.com/babel/babylon/pull/46)) @hzoo + +### Internal + +- Enable skipped tests ([#16](https://github.com/babel/babylon/pull/16)) @danez +- Add script to test latest version of babylon with babel ([#21](https://github.com/babel/babylon/pull/21)) @danez +- Upgrade test runner ava @kittens +- Add missing generate-identifier-regex script @kittens +- Rename parser context types @kittens +- Add node v6 to travis testing @hzoo +- Update to Unicode v9 ([#45](https://github.com/babel/babylon/pull/45)) @mathiasbynens + +## 6.8.1 (2016-06-06) + +### New Feature + +- Parse type parameter declarations with defaults like `type Foo = T` + +### Bug Fixes +- Type parameter declarations need 1 or more type parameters. +- The existential type `*` is not a valid type parameter. +- The existential type `*` is a primary type + +### Spec Compliance +- The param list for type parameter declarations now consists of `TypeParameter` nodes +- New `TypeParameter` AST Node (replaces using the `Identifier` node before) + +``` +interface TypeParameter <: Node { + bound: TypeAnnotation; + default: TypeAnnotation; + name: string; + variance: "plus" | "minus"; +} +``` + +## 6.8.0 (2016-05-02) + +#### New Feature + +##### Parse Method Parameter Decorators ([#12](https://github.com/babel/babylon/pull/12)) + +> [Method Parameter Decorators](https://goo.gl/8MmCMG) is now a TC39 [stage 0 proposal](https://github.com/tc39/ecma262/blob/master/stage0.md). + +Examples: + +```js +class Foo { + constructor(@foo() x, @bar({ a: 123 }) @baz() y) {} +} + +export default function func(@foo() x, @bar({ a: 123 }) @baz() y) {} + +var obj = { + method(@foo() x, @bar({ a: 123 }) @baz() y) {} +}; +``` + +##### Parse for-await statements (w/ `asyncGenerators` plugin) ([#17](https://github.com/babel/babylon/pull/17)) + +There is also a new node type, `ForAwaitStatement`. + +> [Async generators and for-await](https://github.com/tc39/proposal-async-iteration) are now a [stage 2 proposal](https://github.com/tc39/ecma262#current-proposals). + +Example: + +```js +async function f() { + for await (let x of y); +} +``` diff --git a/node_modules/@babel/parser/LICENSE b/node_modules/@babel/parser/LICENSE new file mode 100644 index 00000000..d4c7fc58 --- /dev/null +++ b/node_modules/@babel/parser/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2012-2014 by various contributors (see AUTHORS) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/@babel/parser/README.md b/node_modules/@babel/parser/README.md new file mode 100644 index 00000000..513748c3 --- /dev/null +++ b/node_modules/@babel/parser/README.md @@ -0,0 +1,19 @@ +# @babel/parser + +> A JavaScript parser + +See our website [@babel/parser](https://babeljs.io/docs/en/babel-parser) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20parser%20(babylon)%22+is%3Aopen) associated with this package. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/parser +``` + +or using yarn: + +```sh +yarn add @babel/parser --dev +``` diff --git a/node_modules/@babel/parser/bin/babel-parser.js b/node_modules/@babel/parser/bin/babel-parser.js new file mode 100755 index 00000000..3aca3145 --- /dev/null +++ b/node_modules/@babel/parser/bin/babel-parser.js @@ -0,0 +1,15 @@ +#!/usr/bin/env node +/* eslint no-var: 0 */ + +var parser = require(".."); +var fs = require("fs"); + +var filename = process.argv[2]; +if (!filename) { + console.error("no filename specified"); +} else { + var file = fs.readFileSync(filename, "utf8"); + var ast = parser.parse(file); + + console.log(JSON.stringify(ast, null, " ")); +} diff --git a/node_modules/@babel/parser/lib/index.js b/node_modules/@babel/parser/lib/index.js new file mode 100644 index 00000000..c8610f19 --- /dev/null +++ b/node_modules/@babel/parser/lib/index.js @@ -0,0 +1,14699 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const lineBreak = /\r\n?|[\n\u2028\u2029]/; +const lineBreakG = new RegExp(lineBreak.source, "g"); +function isNewLine(code) { + switch (code) { + case 10: + case 13: + case 8232: + case 8233: + return true; + + default: + return false; + } +} +const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; +const skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/y; +const skipWhiteSpaceToLineBreak = new RegExp("(?=(" + skipWhiteSpaceInLine.source + "))\\1" + /(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source, "y"); +function isWhitespace(code) { + switch (code) { + case 0x0009: + case 0x000b: + case 0x000c: + case 32: + case 160: + case 5760: + case 0x2000: + case 0x2001: + case 0x2002: + case 0x2003: + case 0x2004: + case 0x2005: + case 0x2006: + case 0x2007: + case 0x2008: + case 0x2009: + case 0x200a: + case 0x202f: + case 0x205f: + case 0x3000: + case 0xfeff: + return true; + + default: + return false; + } +} + +class Position { + constructor(line, col) { + this.line = void 0; + this.column = void 0; + this.line = line; + this.column = col; + } + +} +class SourceLocation { + constructor(start, end) { + this.start = void 0; + this.end = void 0; + this.filename = void 0; + this.identifierName = void 0; + this.start = start; + this.end = end; + } + +} +function getLineInfo(input, offset) { + let line = 1; + let lineStart = 0; + let match; + lineBreakG.lastIndex = 0; + + while ((match = lineBreakG.exec(input)) && match.index < offset) { + line++; + lineStart = lineBreakG.lastIndex; + } + + return new Position(line, offset - lineStart); +} + +class BaseParser { + constructor() { + this.sawUnambiguousESM = false; + this.ambiguousScriptDifferentAst = false; + } + + hasPlugin(name) { + return this.plugins.has(name); + } + + getPluginOption(plugin, name) { + if (this.hasPlugin(plugin)) return this.plugins.get(plugin)[name]; + } + +} + +function setTrailingComments(node, comments) { + if (node.trailingComments === undefined) { + node.trailingComments = comments; + } else { + node.trailingComments.unshift(...comments); + } +} + +function setInnerComments(node, comments) { + if (node.innerComments === undefined) { + node.innerComments = comments; + } else if (comments !== undefined) { + node.innerComments.unshift(...comments); + } +} + +function adjustInnerComments(node, elements, commentWS) { + let lastElement = null; + let i = elements.length; + + while (lastElement === null && i > 0) { + lastElement = elements[--i]; + } + + if (lastElement === null || lastElement.start > commentWS.start) { + setInnerComments(node, commentWS.comments); + } else { + setTrailingComments(lastElement, commentWS.comments); + } +} + +class CommentsParser extends BaseParser { + addComment(comment) { + if (this.filename) comment.loc.filename = this.filename; + this.state.comments.push(comment); + } + + processComment(node) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + const lastCommentWS = commentStack[i]; + + if (lastCommentWS.start === node.end) { + lastCommentWS.leadingNode = node; + i--; + } + + const { + start: nodeStart + } = node; + + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + + if (commentEnd > nodeStart) { + commentWS.containingNode = node; + this.finalizeComment(commentWS); + commentStack.splice(i, 1); + } else { + if (commentEnd === nodeStart) { + commentWS.trailingNode = node; + } + + break; + } + } + } + + finalizeComment(commentWS) { + const { + comments + } = commentWS; + + if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) { + if (commentWS.leadingNode !== null) { + setTrailingComments(commentWS.leadingNode, comments); + } + + if (commentWS.trailingNode !== null) { + commentWS.trailingNode.leadingComments = comments; + } + } else { + const { + containingNode: node, + start: commentStart + } = commentWS; + + if (this.input.charCodeAt(commentStart - 1) === 44) { + switch (node.type) { + case "ObjectExpression": + case "ObjectPattern": + case "RecordExpression": + adjustInnerComments(node, node.properties, commentWS); + break; + + case "CallExpression": + case "OptionalCallExpression": + adjustInnerComments(node, node.arguments, commentWS); + break; + + case "FunctionDeclaration": + case "FunctionExpression": + case "ArrowFunctionExpression": + case "ObjectMethod": + case "ClassMethod": + case "ClassPrivateMethod": + adjustInnerComments(node, node.params, commentWS); + break; + + case "ArrayExpression": + case "ArrayPattern": + case "TupleExpression": + adjustInnerComments(node, node.elements, commentWS); + break; + + case "ExportNamedDeclaration": + case "ImportDeclaration": + adjustInnerComments(node, node.specifiers, commentWS); + break; + + default: + { + setInnerComments(node, comments); + } + } + } else { + setInnerComments(node, comments); + } + } + } + + finalizeRemainingComments() { + const { + commentStack + } = this.state; + + for (let i = commentStack.length - 1; i >= 0; i--) { + this.finalizeComment(commentStack[i]); + } + + this.state.commentStack = []; + } + + resetPreviousNodeTrailingComments(node) { + const { + commentStack + } = this.state; + const { + length + } = commentStack; + if (length === 0) return; + const commentWS = commentStack[length - 1]; + + if (commentWS.leadingNode === node) { + commentWS.leadingNode = null; + } + } + +} + +const ErrorCodes = Object.freeze({ + SyntaxError: "BABEL_PARSER_SYNTAX_ERROR", + SourceTypeModuleError: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED" +}); + +const ErrorMessages = makeErrorTemplates({ + AccessorIsGenerator: "A %0ter cannot be a generator.", + ArgumentsInClass: "'arguments' is only allowed in functions and class methods.", + AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.", + AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.", + AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.", + AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.", + AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.", + AwaitNotInAsyncFunction: "'await' is only allowed within async functions.", + BadGetterArity: "A 'get' accesor must not have any formal parameters.", + BadSetterArity: "A 'set' accesor must have exactly one formal parameter.", + BadSetterRestParameter: "A 'set' accesor function argument must not be a rest parameter.", + ConstructorClassField: "Classes may not have a field named 'constructor'.", + ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.", + ConstructorIsAccessor: "Class constructor may not be an accessor.", + ConstructorIsAsync: "Constructor can't be an async function.", + ConstructorIsGenerator: "Constructor can't be a generator.", + DeclarationMissingInitializer: "'%0' require an initialization value.", + DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.", + DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?", + DecoratorExportClass: "Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.", + DecoratorSemicolon: "Decorators must not be followed by a semicolon.", + DecoratorStaticBlock: "Decorators can't be used with a static block.", + DeletePrivateField: "Deleting a private field is not allowed.", + DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.", + DuplicateConstructor: "Duplicate constructor in the same class.", + DuplicateDefaultExport: "Only one default export allowed per module.", + DuplicateExport: "`%0` has already been exported. Exported identifiers must be unique.", + DuplicateProto: "Redefinition of __proto__ property.", + DuplicateRegExpFlags: "Duplicate regular expression flag.", + ElementAfterRest: "Rest element must be last element.", + EscapedCharNotAnIdentifier: "Invalid Unicode escape.", + ExportBindingIsString: "A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '%0' as '%1' } from 'some-module'`?", + ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.", + ForInOfLoopInitializer: "'%0' loop variable declaration may not have an initializer.", + ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.", + ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.", + GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.", + IllegalBreakContinue: "Unsyntactic %0.", + IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.", + IllegalReturn: "'return' outside of function.", + ImportBindingIsString: 'A string literal cannot be used as an imported binding.\n- Did you mean `import { "%0" as foo }`?', + ImportCallArgumentTrailingComma: "Trailing comma is disallowed inside import(...) arguments.", + ImportCallArity: "`import()` requires exactly %0.", + ImportCallNotNewExpression: "Cannot use new with import(...).", + ImportCallSpreadArgument: "`...` is not allowed in `import()`.", + InvalidBigIntLiteral: "Invalid BigIntLiteral.", + InvalidCodePoint: "Code point out of bounds.", + InvalidDecimal: "Invalid decimal.", + InvalidDigit: "Expected number in radix %0.", + InvalidEscapeSequence: "Bad character escape sequence.", + InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.", + InvalidEscapedReservedWord: "Escape sequence in keyword %0.", + InvalidIdentifier: "Invalid identifier %0.", + InvalidLhs: "Invalid left-hand side in %0.", + InvalidLhsBinding: "Binding invalid left-hand side in %0.", + InvalidNumber: "Invalid number.", + InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.", + InvalidOrUnexpectedToken: "Unexpected character '%0'.", + InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.", + InvalidPrivateFieldResolution: "Private name #%0 is not defined.", + InvalidPropertyBindingPattern: "Binding member expression.", + InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.", + InvalidRestAssignmentPattern: "Invalid rest operator's argument.", + LabelRedeclaration: "Label '%0' is already declared.", + LetInLexicalBinding: "'let' is not allowed to be used as a name in 'let' or 'const' declarations.", + LineTerminatorBeforeArrow: "No line break is allowed before '=>'.", + MalformedRegExpFlags: "Invalid regular expression flag.", + MissingClassName: "A class name is required.", + MissingEqInAssignment: "Only '=' operator can be used for specifying default value.", + MissingSemicolon: "Missing semicolon.", + MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.", + MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.", + ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.", + ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.", + ModuleAttributesWithDuplicateKeys: 'Duplicate key "%0" is not allowed in module attributes.', + ModuleExportNameHasLoneSurrogate: "An export name cannot include a lone surrogate, found '\\u%0'.", + ModuleExportUndefined: "Export '%0' is not defined.", + MultipleDefaultsInSwitch: "Multiple default clauses.", + NewlineAfterThrow: "Illegal newline after throw.", + NoCatchOrFinally: "Missing catch or finally clause.", + NumberIdentifier: "Identifier directly after number.", + NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.", + ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.", + OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.", + OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.", + OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.", + ParamDupe: "Argument name clash.", + PatternHasAccessor: "Object pattern can't contain getter or setter.", + PatternHasMethod: "Object pattern can't contain methods.", + PipeBodyIsTighter: "Unexpected %0 after pipeline body; any %0 expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.", + PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.', + PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.", + PipeTopicUnconfiguredToken: 'Invalid topic token %0. In order to use %0 as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "%0" }.', + PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.", + PipeUnparenthesizedBody: "Hack-style pipe body cannot be an unparenthesized %0 expression; please wrap it in parentheses.", + PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.', + PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.", + PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.", + PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.", + PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.", + PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.', + PrivateInExpectedIn: "Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`).", + PrivateNameRedeclaration: "Duplicate private name #%0.", + RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + RecordNoProto: "'__proto__' is not allowed in Record expressions.", + RestTrailingComma: "Unexpected trailing comma after rest element.", + SloppyFunction: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.", + StaticPrototype: "Classes may not have static property named prototype.", + StrictDelete: "Deleting local variable in strict mode.", + StrictEvalArguments: "Assigning to '%0' in strict mode.", + StrictEvalArgumentsBinding: "Binding '%0' in strict mode.", + StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.", + StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.", + StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.", + StrictWith: "'with' in strict mode.", + SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?", + SuperPrivateField: "Private fields can't be accessed on super.", + TrailingDecorator: "Decorators must be attached to a class element.", + TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.", + UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.', + UnexpectedDigitAfterHash: "Unexpected digit after hash token.", + UnexpectedImportExport: "'import' and 'export' may only appear at the top level.", + UnexpectedKeyword: "Unexpected keyword '%0'.", + UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.", + UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.", + UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.", + UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.", + UnexpectedPrivateField: "Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).", + UnexpectedReservedWord: "Unexpected reserved word '%0'.", + UnexpectedSuper: "'super' is only allowed in object methods and classes.", + UnexpectedToken: "Unexpected token '%0'.", + UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.", + UnsupportedBind: "Binding should be performed on object property.", + UnsupportedDecoratorExport: "A decorated export must export a class declaration.", + UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.", + UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.", + UnsupportedMetaProperty: "The only valid meta property for %0 is %0.%1.", + UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.", + UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.", + UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).", + UnterminatedComment: "Unterminated comment.", + UnterminatedRegExp: "Unterminated regular expression.", + UnterminatedString: "Unterminated string constant.", + UnterminatedTemplate: "Unterminated template.", + VarRedeclaration: "Identifier '%0' has already been declared.", + YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.", + YieldInParameter: "Yield expression is not allowed in formal parameters.", + ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0." +}, ErrorCodes.SyntaxError); +const SourceTypeModuleErrorMessages = makeErrorTemplates({ + ImportMetaOutsideModule: `import.meta may appear only with 'sourceType: "module"'`, + ImportOutsideModule: `'import' and 'export' may appear only with 'sourceType: "module"'` +}, ErrorCodes.SourceTypeModuleError); + +function keepReasonCodeCompat(reasonCode, syntaxPlugin) { + { + if (syntaxPlugin === "flow" && reasonCode === "PatternIsOptional") { + return "OptionalBindingPattern"; + } + } + return reasonCode; +} + +function makeErrorTemplates(messages, code, syntaxPlugin) { + const templates = {}; + Object.keys(messages).forEach(reasonCode => { + templates[reasonCode] = Object.freeze({ + code, + reasonCode: keepReasonCodeCompat(reasonCode, syntaxPlugin), + template: messages[reasonCode] + }); + }); + return Object.freeze(templates); +} +class ParserError extends CommentsParser { + getLocationForPosition(pos) { + let loc; + if (pos === this.state.start) loc = this.state.startLoc;else if (pos === this.state.lastTokStart) loc = this.state.lastTokStartLoc;else if (pos === this.state.end) loc = this.state.endLoc;else if (pos === this.state.lastTokEnd) loc = this.state.lastTokEndLoc;else loc = getLineInfo(this.input, pos); + return loc; + } + + raise(pos, { + code, + reasonCode, + template + }, ...params) { + return this.raiseWithData(pos, { + code, + reasonCode + }, template, ...params); + } + + raiseOverwrite(pos, { + code, + template + }, ...params) { + const loc = this.getLocationForPosition(pos); + const message = template.replace(/%(\d+)/g, (_, i) => params[i]) + ` (${loc.line}:${loc.column})`; + + if (this.options.errorRecovery) { + const errors = this.state.errors; + + for (let i = errors.length - 1; i >= 0; i--) { + const error = errors[i]; + + if (error.pos === pos) { + return Object.assign(error, { + message + }); + } else if (error.pos < pos) { + break; + } + } + } + + return this._raise({ + code, + loc, + pos + }, message); + } + + raiseWithData(pos, data, errorTemplate, ...params) { + const loc = this.getLocationForPosition(pos); + const message = errorTemplate.replace(/%(\d+)/g, (_, i) => params[i]) + ` (${loc.line}:${loc.column})`; + return this._raise(Object.assign({ + loc, + pos + }, data), message); + } + + _raise(errorContext, message) { + const err = new SyntaxError(message); + Object.assign(err, errorContext); + + if (this.options.errorRecovery) { + if (!this.isLookahead) this.state.errors.push(err); + return err; + } else { + throw err; + } + } + +} + +var estree = (superClass => class extends superClass { + parseRegExpLiteral({ + pattern, + flags + }) { + let regex = null; + + try { + regex = new RegExp(pattern, flags); + } catch (e) {} + + const node = this.estreeParseLiteral(regex); + node.regex = { + pattern, + flags + }; + return node; + } + + parseBigIntLiteral(value) { + let bigInt; + + try { + bigInt = BigInt(value); + } catch (_unused) { + bigInt = null; + } + + const node = this.estreeParseLiteral(bigInt); + node.bigint = String(node.value || value); + return node; + } + + parseDecimalLiteral(value) { + const decimal = null; + const node = this.estreeParseLiteral(decimal); + node.decimal = String(node.value || value); + return node; + } + + estreeParseLiteral(value) { + return this.parseLiteral(value, "Literal"); + } + + parseStringLiteral(value) { + return this.estreeParseLiteral(value); + } + + parseNumericLiteral(value) { + return this.estreeParseLiteral(value); + } + + parseNullLiteral() { + return this.estreeParseLiteral(null); + } + + parseBooleanLiteral(value) { + return this.estreeParseLiteral(value); + } + + directiveToStmt(directive) { + const directiveLiteral = directive.value; + const stmt = this.startNodeAt(directive.start, directive.loc.start); + const expression = this.startNodeAt(directiveLiteral.start, directiveLiteral.loc.start); + expression.value = directiveLiteral.extra.expressionValue; + expression.raw = directiveLiteral.extra.raw; + stmt.expression = this.finishNodeAt(expression, "Literal", directiveLiteral.end, directiveLiteral.loc.end); + stmt.directive = directiveLiteral.extra.raw.slice(1, -1); + return this.finishNodeAt(stmt, "ExpressionStatement", directive.end, directive.loc.end); + } + + initFunction(node, isAsync) { + super.initFunction(node, isAsync); + node.expression = false; + } + + checkDeclaration(node) { + if (node != null && this.isObjectProperty(node)) { + this.checkDeclaration(node.value); + } else { + super.checkDeclaration(node); + } + } + + getObjectOrClassMethodParams(method) { + return method.value.params; + } + + isValidDirective(stmt) { + var _stmt$expression$extr; + + return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized); + } + + stmtToDirective(stmt) { + const value = stmt.expression.value; + const directive = super.stmtToDirective(stmt); + this.addExtra(directive.value, "expressionValue", value); + return directive; + } + + parseBlockBody(node, ...args) { + super.parseBlockBody(node, ...args); + const directiveStatements = node.directives.map(d => this.directiveToStmt(d)); + node.body = directiveStatements.concat(node.body); + delete node.directives; + } + + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true); + + if (method.typeParameters) { + method.value.typeParameters = method.typeParameters; + delete method.typeParameters; + } + + classBody.body.push(method); + } + + parsePrivateName() { + const node = super.parsePrivateName(); + + if (!this.getPluginOption("estree", "classFeatures")) { + return node; + } + + return this.convertPrivateNameToPrivateIdentifier(node); + } + + convertPrivateNameToPrivateIdentifier(node) { + const name = super.getPrivateNameSV(node); + node = node; + delete node.id; + node.name = name; + node.type = "PrivateIdentifier"; + return node; + } + + isPrivateName(node) { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.isPrivateName(node); + } + + return node.type === "PrivateIdentifier"; + } + + getPrivateNameSV(node) { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.getPrivateNameSV(node); + } + + return node.name; + } + + parseLiteral(value, type) { + const node = super.parseLiteral(value, type); + node.raw = node.extra.raw; + delete node.extra; + return node; + } + + parseFunctionBody(node, allowExpression, isMethod = false) { + super.parseFunctionBody(node, allowExpression, isMethod); + node.expression = node.body.type !== "BlockStatement"; + } + + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + let funcNode = this.startNode(); + funcNode.kind = node.kind; + funcNode = super.parseMethod(funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + funcNode.type = "FunctionExpression"; + delete funcNode.kind; + node.value = funcNode; + + if (type === "ClassPrivateMethod") { + node.computed = false; + } + + type = "MethodDefinition"; + return this.finishNode(node, type); + } + + parseClassProperty(...args) { + const propertyNode = super.parseClassProperty(...args); + + if (this.getPluginOption("estree", "classFeatures")) { + propertyNode.type = "PropertyDefinition"; + } + + return propertyNode; + } + + parseClassPrivateProperty(...args) { + const propertyNode = super.parseClassPrivateProperty(...args); + + if (this.getPluginOption("estree", "classFeatures")) { + propertyNode.type = "PropertyDefinition"; + propertyNode.computed = false; + } + + return propertyNode; + } + + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { + const node = super.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor); + + if (node) { + node.type = "Property"; + if (node.kind === "method") node.kind = "init"; + node.shorthand = false; + } + + return node; + } + + parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) { + const node = super.parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors); + + if (node) { + node.kind = "init"; + node.type = "Property"; + } + + return node; + } + + isAssignable(node, isBinding) { + if (node != null && this.isObjectProperty(node)) { + return this.isAssignable(node.value, isBinding); + } + + return super.isAssignable(node, isBinding); + } + + toAssignable(node, isLHS = false) { + if (node != null && this.isObjectProperty(node)) { + this.toAssignable(node.value, isLHS); + return node; + } + + return super.toAssignable(node, isLHS); + } + + toAssignableObjectExpressionProp(prop, ...args) { + if (prop.kind === "get" || prop.kind === "set") { + this.raise(prop.key.start, ErrorMessages.PatternHasAccessor); + } else if (prop.method) { + this.raise(prop.key.start, ErrorMessages.PatternHasMethod); + } else { + super.toAssignableObjectExpressionProp(prop, ...args); + } + } + + finishCallExpression(node, optional) { + super.finishCallExpression(node, optional); + + if (node.callee.type === "Import") { + node.type = "ImportExpression"; + node.source = node.arguments[0]; + + if (this.hasPlugin("importAssertions")) { + var _node$arguments$; + + node.attributes = (_node$arguments$ = node.arguments[1]) != null ? _node$arguments$ : null; + } + + delete node.arguments; + delete node.callee; + } + + return node; + } + + toReferencedArguments(node) { + if (node.type === "ImportExpression") { + return; + } + + super.toReferencedArguments(node); + } + + parseExport(node) { + super.parseExport(node); + + switch (node.type) { + case "ExportAllDeclaration": + node.exported = null; + break; + + case "ExportNamedDeclaration": + if (node.specifiers.length === 1 && node.specifiers[0].type === "ExportNamespaceSpecifier") { + node.type = "ExportAllDeclaration"; + node.exported = node.specifiers[0].exported; + delete node.specifiers; + } + + break; + } + + return node; + } + + parseSubscript(base, startPos, startLoc, noCalls, state) { + const node = super.parseSubscript(base, startPos, startLoc, noCalls, state); + + if (state.optionalChainMember) { + if (node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression") { + node.type = node.type.substring(8); + } + + if (state.stop) { + const chain = this.startNodeAtNode(node); + chain.expression = node; + return this.finishNode(chain, "ChainExpression"); + } + } else if (node.type === "MemberExpression" || node.type === "CallExpression") { + node.optional = false; + } + + return node; + } + + hasPropertyAsPrivateName(node) { + if (node.type === "ChainExpression") { + node = node.expression; + } + + return super.hasPropertyAsPrivateName(node); + } + + isOptionalChain(node) { + return node.type === "ChainExpression"; + } + + isObjectProperty(node) { + return node.type === "Property" && node.kind === "init" && !node.method; + } + + isObjectMethod(node) { + return node.method || node.kind === "get" || node.kind === "set"; + } + +}); + +class TokContext { + constructor(token, preserveSpace) { + this.token = void 0; + this.preserveSpace = void 0; + this.token = token; + this.preserveSpace = !!preserveSpace; + } + +} +const types = { + brace: new TokContext("{"), + template: new TokContext("`", true) +}; + +const beforeExpr = true; +const startsExpr = true; +const isLoop = true; +const isAssign = true; +const prefix = true; +const postfix = true; +class ExportedTokenType { + constructor(label, conf = {}) { + this.label = void 0; + this.keyword = void 0; + this.beforeExpr = void 0; + this.startsExpr = void 0; + this.rightAssociative = void 0; + this.isLoop = void 0; + this.isAssign = void 0; + this.prefix = void 0; + this.postfix = void 0; + this.binop = void 0; + this.label = label; + this.keyword = conf.keyword; + this.beforeExpr = !!conf.beforeExpr; + this.startsExpr = !!conf.startsExpr; + this.rightAssociative = !!conf.rightAssociative; + this.isLoop = !!conf.isLoop; + this.isAssign = !!conf.isAssign; + this.prefix = !!conf.prefix; + this.postfix = !!conf.postfix; + this.binop = conf.binop != null ? conf.binop : null; + { + this.updateContext = null; + } + } + +} +const keywords$1 = new Map(); + +function createKeyword(name, options = {}) { + options.keyword = name; + const token = createToken(name, options); + keywords$1.set(name, token); + return token; +} + +function createBinop(name, binop) { + return createToken(name, { + beforeExpr, + binop + }); +} + +let tokenTypeCounter = -1; +const tokenTypes = []; +const tokenLabels = []; +const tokenBinops = []; +const tokenBeforeExprs = []; +const tokenStartsExprs = []; +const tokenPrefixes = []; + +function createToken(name, options = {}) { + var _options$binop, _options$beforeExpr, _options$startsExpr, _options$prefix; + + ++tokenTypeCounter; + tokenLabels.push(name); + tokenBinops.push((_options$binop = options.binop) != null ? _options$binop : -1); + tokenBeforeExprs.push((_options$beforeExpr = options.beforeExpr) != null ? _options$beforeExpr : false); + tokenStartsExprs.push((_options$startsExpr = options.startsExpr) != null ? _options$startsExpr : false); + tokenPrefixes.push((_options$prefix = options.prefix) != null ? _options$prefix : false); + tokenTypes.push(new ExportedTokenType(name, options)); + return tokenTypeCounter; +} + +const tt = { + num: createToken("num", { + startsExpr + }), + bigint: createToken("bigint", { + startsExpr + }), + decimal: createToken("decimal", { + startsExpr + }), + regexp: createToken("regexp", { + startsExpr + }), + string: createToken("string", { + startsExpr + }), + name: createToken("name", { + startsExpr + }), + privateName: createToken("#name", { + startsExpr + }), + eof: createToken("eof"), + bracketL: createToken("[", { + beforeExpr, + startsExpr + }), + bracketHashL: createToken("#[", { + beforeExpr, + startsExpr + }), + bracketBarL: createToken("[|", { + beforeExpr, + startsExpr + }), + bracketR: createToken("]"), + bracketBarR: createToken("|]"), + braceL: createToken("{", { + beforeExpr, + startsExpr + }), + braceBarL: createToken("{|", { + beforeExpr, + startsExpr + }), + braceHashL: createToken("#{", { + beforeExpr, + startsExpr + }), + braceR: createToken("}", { + beforeExpr + }), + braceBarR: createToken("|}"), + parenL: createToken("(", { + beforeExpr, + startsExpr + }), + parenR: createToken(")"), + comma: createToken(",", { + beforeExpr + }), + semi: createToken(";", { + beforeExpr + }), + colon: createToken(":", { + beforeExpr + }), + doubleColon: createToken("::", { + beforeExpr + }), + dot: createToken("."), + question: createToken("?", { + beforeExpr + }), + questionDot: createToken("?."), + arrow: createToken("=>", { + beforeExpr + }), + template: createToken("template"), + ellipsis: createToken("...", { + beforeExpr + }), + backQuote: createToken("`", { + startsExpr + }), + dollarBraceL: createToken("${", { + beforeExpr, + startsExpr + }), + at: createToken("@"), + hash: createToken("#", { + startsExpr + }), + interpreterDirective: createToken("#!..."), + eq: createToken("=", { + beforeExpr, + isAssign + }), + assign: createToken("_=", { + beforeExpr, + isAssign + }), + slashAssign: createToken("_=", { + beforeExpr, + isAssign + }), + moduloAssign: createToken("_=", { + beforeExpr, + isAssign + }), + incDec: createToken("++/--", { + prefix, + postfix, + startsExpr + }), + bang: createToken("!", { + beforeExpr, + prefix, + startsExpr + }), + tilde: createToken("~", { + beforeExpr, + prefix, + startsExpr + }), + pipeline: createBinop("|>", 0), + nullishCoalescing: createBinop("??", 1), + logicalOR: createBinop("||", 1), + logicalAND: createBinop("&&", 2), + bitwiseOR: createBinop("|", 3), + bitwiseXOR: createBinop("^", 4), + bitwiseAND: createBinop("&", 5), + equality: createBinop("==/!=/===/!==", 6), + relational: createBinop("/<=/>=", 7), + bitShift: createBinop("<>/>>>", 8), + plusMin: createToken("+/-", { + beforeExpr, + binop: 9, + prefix, + startsExpr + }), + modulo: createToken("%", { + binop: 10, + startsExpr + }), + star: createToken("*", { + binop: 10 + }), + slash: createBinop("/", 10), + exponent: createToken("**", { + beforeExpr, + binop: 11, + rightAssociative: true + }), + _in: createKeyword("in", { + beforeExpr, + binop: 7 + }), + _instanceof: createKeyword("instanceof", { + beforeExpr, + binop: 7 + }), + _break: createKeyword("break"), + _case: createKeyword("case", { + beforeExpr + }), + _catch: createKeyword("catch"), + _continue: createKeyword("continue"), + _debugger: createKeyword("debugger"), + _default: createKeyword("default", { + beforeExpr + }), + _else: createKeyword("else", { + beforeExpr + }), + _finally: createKeyword("finally"), + _function: createKeyword("function", { + startsExpr + }), + _if: createKeyword("if"), + _return: createKeyword("return", { + beforeExpr + }), + _switch: createKeyword("switch"), + _throw: createKeyword("throw", { + beforeExpr, + prefix, + startsExpr + }), + _try: createKeyword("try"), + _var: createKeyword("var"), + _const: createKeyword("const"), + _with: createKeyword("with"), + _new: createKeyword("new", { + beforeExpr, + startsExpr + }), + _this: createKeyword("this", { + startsExpr + }), + _super: createKeyword("super", { + startsExpr + }), + _class: createKeyword("class", { + startsExpr + }), + _extends: createKeyword("extends", { + beforeExpr + }), + _export: createKeyword("export"), + _import: createKeyword("import", { + startsExpr + }), + _null: createKeyword("null", { + startsExpr + }), + _true: createKeyword("true", { + startsExpr + }), + _false: createKeyword("false", { + startsExpr + }), + _typeof: createKeyword("typeof", { + beforeExpr, + prefix, + startsExpr + }), + _void: createKeyword("void", { + beforeExpr, + prefix, + startsExpr + }), + _delete: createKeyword("delete", { + beforeExpr, + prefix, + startsExpr + }), + _do: createKeyword("do", { + isLoop, + beforeExpr + }), + _for: createKeyword("for", { + isLoop + }), + _while: createKeyword("while", { + isLoop + }), + jsxName: createToken("jsxName"), + jsxText: createToken("jsxText", { + beforeExpr: true + }), + jsxTagStart: createToken("jsxTagStart", { + startsExpr: true + }), + jsxTagEnd: createToken("jsxTagEnd"), + placeholder: createToken("%%", { + startsExpr: true + }) +}; +function tokenComesBeforeExpression(token) { + return tokenBeforeExprs[token]; +} +function tokenCanStartExpression(token) { + return tokenStartsExprs[token]; +} +function tokenIsAssignment(token) { + return token >= 35 && token <= 38; +} +function tokenIsLoop(token) { + return token >= 89 && token <= 91; +} +function tokenIsKeyword(token) { + return token >= 57 && token <= 91; +} +function tokenIsOperator(token) { + return token >= 42 && token <= 58; +} +function tokenIsPostfix(token) { + return token === 39; +} +function tokenIsPrefix(token) { + return tokenPrefixes[token]; +} +function tokenLabelName(token) { + return tokenLabels[token]; +} +function tokenOperatorPrecedence(token) { + return tokenBinops[token]; +} +function tokenIsRightAssociative(token) { + return token === 56; +} +function getExportedToken(token) { + return tokenTypes[token]; +} +function isTokenType(obj) { + return typeof obj === "number"; +} +{ + tokenTypes[16].updateContext = context => { + context.pop(); + }; + + tokenTypes[13].updateContext = tokenTypes[15].updateContext = tokenTypes[31].updateContext = context => { + context.push(types.brace); + }; + + tokenTypes[30].updateContext = context => { + if (context[context.length - 1] === types.template) { + context.pop(); + } else { + context.push(types.template); + } + }; + + tokenTypes[94].updateContext = context => { + context.push(types.j_expr, types.j_oTag); + }; +} + +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; +const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1070, 4050, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 46, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 482, 44, 11, 6, 17, 0, 322, 29, 19, 43, 1269, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4152, 8, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938]; +const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 357, 0, 62, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; + +function isInAstralSet(code, set) { + let pos = 0x10000; + + for (let i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) return false; + pos += set[i + 1]; + if (pos >= code) return true; + } + + return false; +} + +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes); +} +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} + +const reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] +}; +const keywords = new Set(reservedWords.keyword); +const reservedWordsStrictSet = new Set(reservedWords.strict); +const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); +function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; +} +function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); +} +function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); +} +function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); +} +function isKeyword(word) { + return keywords.has(word); +} + +function isIteratorStart(current, next) { + return current === 64 && next === 64; +} +const reservedWordLikeSet = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "eval", "arguments", "enum", "await"]); +function canBeReservedWord(word) { + return reservedWordLikeSet.has(word); +} + +const SCOPE_OTHER = 0b000000000, + SCOPE_PROGRAM = 0b000000001, + SCOPE_FUNCTION = 0b000000010, + SCOPE_ARROW = 0b000000100, + SCOPE_SIMPLE_CATCH = 0b000001000, + SCOPE_SUPER = 0b000010000, + SCOPE_DIRECT_SUPER = 0b000100000, + SCOPE_CLASS = 0b001000000, + SCOPE_STATIC_BLOCK = 0b010000000, + SCOPE_TS_MODULE = 0b100000000, + SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE; +const BIND_KIND_VALUE = 0b000000000001, + BIND_KIND_TYPE = 0b000000000010, + BIND_SCOPE_VAR = 0b000000000100, + BIND_SCOPE_LEXICAL = 0b000000001000, + BIND_SCOPE_FUNCTION = 0b000000010000, + BIND_FLAGS_NONE = 0b000001000000, + BIND_FLAGS_CLASS = 0b000010000000, + BIND_FLAGS_TS_ENUM = 0b000100000000, + BIND_FLAGS_TS_CONST_ENUM = 0b001000000000, + BIND_FLAGS_TS_EXPORT_ONLY = 0b010000000000, + BIND_FLAGS_FLOW_DECLARE_FN = 0b100000000000; +const BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS, + BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0, + BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0, + BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0, + BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS, + BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0, + BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM, + BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY, + BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE, + BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE, + BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM, + BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY, + BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN; +const CLASS_ELEMENT_FLAG_STATIC = 0b100, + CLASS_ELEMENT_KIND_GETTER = 0b010, + CLASS_ELEMENT_KIND_SETTER = 0b001, + CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER; +const CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC, + CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC, + CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER, + CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER, + CLASS_ELEMENT_OTHER = 0; + +class Scope { + constructor(flags) { + this.var = new Set(); + this.lexical = new Set(); + this.functions = new Set(); + this.flags = flags; + } + +} +class ScopeHandler { + constructor(raise, inModule) { + this.scopeStack = []; + this.undefinedExports = new Map(); + this.undefinedPrivateNames = new Map(); + this.raise = raise; + this.inModule = inModule; + } + + get inFunction() { + return (this.currentVarScopeFlags() & SCOPE_FUNCTION) > 0; + } + + get allowSuper() { + return (this.currentThisScopeFlags() & SCOPE_SUPER) > 0; + } + + get allowDirectSuper() { + return (this.currentThisScopeFlags() & SCOPE_DIRECT_SUPER) > 0; + } + + get inClass() { + return (this.currentThisScopeFlags() & SCOPE_CLASS) > 0; + } + + get inClassAndNotInNonArrowFunction() { + const flags = this.currentThisScopeFlags(); + return (flags & SCOPE_CLASS) > 0 && (flags & SCOPE_FUNCTION) === 0; + } + + get inStaticBlock() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + + if (flags & SCOPE_STATIC_BLOCK) { + return true; + } + + if (flags & (SCOPE_VAR | SCOPE_CLASS)) { + return false; + } + } + } + + get inNonArrowFunction() { + return (this.currentThisScopeFlags() & SCOPE_FUNCTION) > 0; + } + + get treatFunctionsAsVar() { + return this.treatFunctionsAsVarInScope(this.currentScope()); + } + + createScope(flags) { + return new Scope(flags); + } + + enter(flags) { + this.scopeStack.push(this.createScope(flags)); + } + + exit() { + this.scopeStack.pop(); + } + + treatFunctionsAsVarInScope(scope) { + return !!(scope.flags & SCOPE_FUNCTION || !this.inModule && scope.flags & SCOPE_PROGRAM); + } + + declareName(name, bindingType, pos) { + let scope = this.currentScope(); + + if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) { + this.checkRedeclarationInScope(scope, name, bindingType, pos); + + if (bindingType & BIND_SCOPE_FUNCTION) { + scope.functions.add(name); + } else { + scope.lexical.add(name); + } + + if (bindingType & BIND_SCOPE_LEXICAL) { + this.maybeExportDefined(scope, name); + } + } else if (bindingType & BIND_SCOPE_VAR) { + for (let i = this.scopeStack.length - 1; i >= 0; --i) { + scope = this.scopeStack[i]; + this.checkRedeclarationInScope(scope, name, bindingType, pos); + scope.var.add(name); + this.maybeExportDefined(scope, name); + if (scope.flags & SCOPE_VAR) break; + } + } + + if (this.inModule && scope.flags & SCOPE_PROGRAM) { + this.undefinedExports.delete(name); + } + } + + maybeExportDefined(scope, name) { + if (this.inModule && scope.flags & SCOPE_PROGRAM) { + this.undefinedExports.delete(name); + } + } + + checkRedeclarationInScope(scope, name, bindingType, pos) { + if (this.isRedeclaredInScope(scope, name, bindingType)) { + this.raise(pos, ErrorMessages.VarRedeclaration, name); + } + } + + isRedeclaredInScope(scope, name, bindingType) { + if (!(bindingType & BIND_KIND_VALUE)) return false; + + if (bindingType & BIND_SCOPE_LEXICAL) { + return scope.lexical.has(name) || scope.functions.has(name) || scope.var.has(name); + } + + if (bindingType & BIND_SCOPE_FUNCTION) { + return scope.lexical.has(name) || !this.treatFunctionsAsVarInScope(scope) && scope.var.has(name); + } + + return scope.lexical.has(name) && !(scope.flags & SCOPE_SIMPLE_CATCH && scope.lexical.values().next().value === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name); + } + + checkLocalExport(id) { + const { + name + } = id; + const topLevelScope = this.scopeStack[0]; + + if (!topLevelScope.lexical.has(name) && !topLevelScope.var.has(name) && !topLevelScope.functions.has(name)) { + this.undefinedExports.set(name, id.start); + } + } + + currentScope() { + return this.scopeStack[this.scopeStack.length - 1]; + } + + currentVarScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + + if (flags & SCOPE_VAR) { + return flags; + } + } + } + + currentThisScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + + if (flags & (SCOPE_VAR | SCOPE_CLASS) && !(flags & SCOPE_ARROW)) { + return flags; + } + } + } + +} + +class FlowScope extends Scope { + constructor(...args) { + super(...args); + this.declareFunctions = new Set(); + } + +} + +class FlowScopeHandler extends ScopeHandler { + createScope(flags) { + return new FlowScope(flags); + } + + declareName(name, bindingType, pos) { + const scope = this.currentScope(); + + if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) { + this.checkRedeclarationInScope(scope, name, bindingType, pos); + this.maybeExportDefined(scope, name); + scope.declareFunctions.add(name); + return; + } + + super.declareName(...arguments); + } + + isRedeclaredInScope(scope, name, bindingType) { + if (super.isRedeclaredInScope(...arguments)) return true; + + if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) { + return !scope.declareFunctions.has(name) && (scope.lexical.has(name) || scope.functions.has(name)); + } + + return false; + } + + checkLocalExport(id) { + if (!this.scopeStack[0].declareFunctions.has(id.name)) { + super.checkLocalExport(id); + } + } + +} + +class State { + constructor() { + this.strict = void 0; + this.curLine = void 0; + this.startLoc = void 0; + this.endLoc = void 0; + this.errors = []; + this.potentialArrowAt = -1; + this.noArrowAt = []; + this.noArrowParamsConversionAt = []; + this.maybeInArrowParameters = false; + this.inType = false; + this.noAnonFunctionType = false; + this.inPropertyName = false; + this.hasFlowComment = false; + this.isAmbientContext = false; + this.inAbstractClass = false; + this.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + this.soloAwait = false; + this.inFSharpPipelineDirectBody = false; + this.labels = []; + this.decoratorStack = [[]]; + this.comments = []; + this.commentStack = []; + this.pos = 0; + this.lineStart = 0; + this.type = 7; + this.value = null; + this.start = 0; + this.end = 0; + this.lastTokEndLoc = null; + this.lastTokStartLoc = null; + this.lastTokStart = 0; + this.lastTokEnd = 0; + this.context = [types.brace]; + this.exprAllowed = true; + this.containsEsc = false; + this.strictErrors = new Map(); + this.tokensLength = 0; + } + + init(options) { + this.strict = options.strictMode === false ? false : options.strictMode === true ? true : options.sourceType === "module"; + this.curLine = options.startLine; + this.startLoc = this.endLoc = this.curPosition(); + } + + curPosition() { + return new Position(this.curLine, this.pos - this.lineStart); + } + + clone(skipArrays) { + const state = new State(); + const keys = Object.keys(this); + + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + let val = this[key]; + + if (!skipArrays && Array.isArray(val)) { + val = val.slice(); + } + + state[key] = val; + } + + return state; + } + +} + +var _isDigit = function isDigit(code) { + return code >= 48 && code <= 57; +}; +const VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100]); +const forbiddenNumericSeparatorSiblings = { + decBinOct: [46, 66, 69, 79, 95, 98, 101, 111], + hex: [46, 88, 95, 120] +}; +const allowedNumericSeparatorSiblings = {}; +allowedNumericSeparatorSiblings.bin = [48, 49]; +allowedNumericSeparatorSiblings.oct = [...allowedNumericSeparatorSiblings.bin, 50, 51, 52, 53, 54, 55]; +allowedNumericSeparatorSiblings.dec = [...allowedNumericSeparatorSiblings.oct, 56, 57]; +allowedNumericSeparatorSiblings.hex = [...allowedNumericSeparatorSiblings.dec, 65, 66, 67, 68, 69, 70, 97, 98, 99, 100, 101, 102]; +class Token { + constructor(state) { + this.type = state.type; + this.value = state.value; + this.start = state.start; + this.end = state.end; + this.loc = new SourceLocation(state.startLoc, state.endLoc); + } + +} +class Tokenizer extends ParserError { + constructor(options, input) { + super(); + this.isLookahead = void 0; + this.tokens = []; + this.state = new State(); + this.state.init(options); + this.input = input; + this.length = input.length; + this.isLookahead = false; + } + + pushToken(token) { + this.tokens.length = this.state.tokensLength; + this.tokens.push(token); + ++this.state.tokensLength; + } + + next() { + this.checkKeywordEscapes(); + + if (this.options.tokens) { + this.pushToken(new Token(this.state)); + } + + this.state.lastTokEnd = this.state.end; + this.state.lastTokStart = this.state.start; + this.state.lastTokEndLoc = this.state.endLoc; + this.state.lastTokStartLoc = this.state.startLoc; + this.nextToken(); + } + + eat(type) { + if (this.match(type)) { + this.next(); + return true; + } else { + return false; + } + } + + match(type) { + return this.state.type === type; + } + + createLookaheadState(state) { + return { + pos: state.pos, + value: null, + type: state.type, + start: state.start, + end: state.end, + lastTokEnd: state.end, + context: [this.curContext()], + inType: state.inType + }; + } + + lookahead() { + const old = this.state; + this.state = this.createLookaheadState(old); + this.isLookahead = true; + this.nextToken(); + this.isLookahead = false; + const curr = this.state; + this.state = old; + return curr; + } + + nextTokenStart() { + return this.nextTokenStartSince(this.state.pos); + } + + nextTokenStartSince(pos) { + skipWhiteSpace.lastIndex = pos; + return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos; + } + + lookaheadCharCode() { + return this.input.charCodeAt(this.nextTokenStart()); + } + + codePointAtPos(pos) { + let cp = this.input.charCodeAt(pos); + + if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) { + const trail = this.input.charCodeAt(pos); + + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } + + return cp; + } + + setStrict(strict) { + this.state.strict = strict; + + if (strict) { + this.state.strictErrors.forEach((message, pos) => this.raise(pos, message)); + this.state.strictErrors.clear(); + } + } + + curContext() { + return this.state.context[this.state.context.length - 1]; + } + + nextToken() { + const curContext = this.curContext(); + if (!curContext.preserveSpace) this.skipSpace(); + this.state.start = this.state.pos; + if (!this.isLookahead) this.state.startLoc = this.state.curPosition(); + + if (this.state.pos >= this.length) { + this.finishToken(7); + return; + } + + if (curContext === types.template) { + this.readTmplToken(); + } else { + this.getTokenFromCode(this.codePointAtPos(this.state.pos)); + } + } + + skipBlockComment() { + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + const start = this.state.pos; + const end = this.input.indexOf("*/", start + 2); + if (end === -1) throw this.raise(start, ErrorMessages.UnterminatedComment); + this.state.pos = end + 2; + lineBreakG.lastIndex = start + 2; + + while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) { + ++this.state.curLine; + this.state.lineStart = lineBreakG.lastIndex; + } + + if (this.isLookahead) return; + const comment = { + type: "CommentBlock", + value: this.input.slice(start + 2, end), + start, + end: end + 2, + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.options.tokens) this.pushToken(comment); + return comment; + } + + skipLineComment(startSkip) { + const start = this.state.pos; + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + let ch = this.input.charCodeAt(this.state.pos += startSkip); + + if (this.state.pos < this.length) { + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + } + + if (this.isLookahead) return; + const end = this.state.pos; + const value = this.input.slice(start + startSkip, end); + const comment = { + type: "CommentLine", + value, + start, + end, + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.options.tokens) this.pushToken(comment); + return comment; + } + + skipSpace() { + const spaceStart = this.state.pos; + const comments = []; + + loop: while (this.state.pos < this.length) { + const ch = this.input.charCodeAt(this.state.pos); + + switch (ch) { + case 32: + case 160: + case 9: + ++this.state.pos; + break; + + case 13: + if (this.input.charCodeAt(this.state.pos + 1) === 10) { + ++this.state.pos; + } + + case 10: + case 8232: + case 8233: + ++this.state.pos; + ++this.state.curLine; + this.state.lineStart = this.state.pos; + break; + + case 47: + switch (this.input.charCodeAt(this.state.pos + 1)) { + case 42: + { + const comment = this.skipBlockComment(); + + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + + break; + } + + case 47: + { + const comment = this.skipLineComment(2); + + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + + break; + } + + default: + break loop; + } + + break; + + default: + if (isWhitespace(ch)) { + ++this.state.pos; + } else if (ch === 45 && !this.inModule) { + const pos = this.state.pos; + + if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) { + const comment = this.skipLineComment(3); + + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + } else { + break loop; + } + } else if (ch === 60 && !this.inModule) { + const pos = this.state.pos; + + if (this.input.charCodeAt(pos + 1) === 33 && this.input.charCodeAt(pos + 2) === 45 && this.input.charCodeAt(pos + 3) === 45) { + const comment = this.skipLineComment(4); + + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + } else { + break loop; + } + } else { + break loop; + } + + } + } + + if (comments.length > 0) { + const end = this.state.pos; + const CommentWhitespace = { + start: spaceStart, + end, + comments, + leadingNode: null, + trailingNode: null, + containingNode: null + }; + this.state.commentStack.push(CommentWhitespace); + } + } + + finishToken(type, val) { + this.state.end = this.state.pos; + const prevType = this.state.type; + this.state.type = type; + this.state.value = val; + + if (!this.isLookahead) { + this.state.endLoc = this.state.curPosition(); + this.updateContext(prevType); + } + } + + readToken_numberSign() { + if (this.state.pos === 0 && this.readToken_interpreter()) { + return; + } + + const nextPos = this.state.pos + 1; + const next = this.codePointAtPos(nextPos); + + if (next >= 48 && next <= 57) { + throw this.raise(this.state.pos, ErrorMessages.UnexpectedDigitAfterHash); + } + + if (next === 123 || next === 91 && this.hasPlugin("recordAndTuple")) { + this.expectPlugin("recordAndTuple"); + + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "hash") { + throw this.raise(this.state.pos, next === 123 ? ErrorMessages.RecordExpressionHashIncorrectStartSyntaxType : ErrorMessages.TupleExpressionHashIncorrectStartSyntaxType); + } + + this.state.pos += 2; + + if (next === 123) { + this.finishToken(15); + } else { + this.finishToken(9); + } + } else if (isIdentifierStart(next)) { + ++this.state.pos; + this.finishToken(6, this.readWord1(next)); + } else if (next === 92) { + ++this.state.pos; + this.finishToken(6, this.readWord1()); + } else { + this.finishOp(33, 1); + } + } + + readToken_dot() { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next >= 48 && next <= 57) { + this.readNumber(true); + return; + } + + if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) { + this.state.pos += 3; + this.finishToken(29); + } else { + ++this.state.pos; + this.finishToken(24); + } + } + + readToken_slash() { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 61) { + this.finishOp(37, 2); + } else { + this.finishOp(55, 1); + } + } + + readToken_interpreter() { + if (this.state.pos !== 0 || this.length < 2) return false; + let ch = this.input.charCodeAt(this.state.pos + 1); + if (ch !== 33) return false; + const start = this.state.pos; + this.state.pos += 1; + + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + + const value = this.input.slice(start + 2, this.state.pos); + this.finishToken(34, value); + return true; + } + + readToken_mult_modulo(code) { + let type = code === 42 ? 54 : 53; + let width = 1; + let next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 42 && next === 42) { + width++; + next = this.input.charCodeAt(this.state.pos + 2); + type = 56; + } + + if (next === 61 && !this.state.inType) { + width++; + type = code === 37 ? 38 : 36; + } + + this.finishOp(type, width); + } + + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === code) { + if (this.input.charCodeAt(this.state.pos + 2) === 61) { + this.finishOp(36, 3); + } else { + this.finishOp(code === 124 ? 44 : 45, 2); + } + + return; + } + + if (code === 124) { + if (next === 62) { + this.finishOp(42, 2); + return; + } + + if (this.hasPlugin("recordAndTuple") && next === 125) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(this.state.pos, ErrorMessages.RecordExpressionBarIncorrectEndSyntaxType); + } + + this.state.pos += 2; + this.finishToken(17); + return; + } + + if (this.hasPlugin("recordAndTuple") && next === 93) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(this.state.pos, ErrorMessages.TupleExpressionBarIncorrectEndSyntaxType); + } + + this.state.pos += 2; + this.finishToken(12); + return; + } + } + + if (next === 61) { + this.finishOp(36, 2); + return; + } + + this.finishOp(code === 124 ? 46 : 48, 1); + } + + readToken_caret() { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 61) { + this.finishOp(36, 2); + } else { + this.finishOp(47, 1); + } + } + + readToken_plus_min(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === code) { + this.finishOp(39, 2); + return; + } + + if (next === 61) { + this.finishOp(36, 2); + } else { + this.finishOp(52, 1); + } + } + + readToken_lt_gt(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + let size = 1; + + if (next === code) { + size = code === 62 && this.input.charCodeAt(this.state.pos + 2) === 62 ? 3 : 2; + + if (this.input.charCodeAt(this.state.pos + size) === 61) { + this.finishOp(36, size + 1); + return; + } + + this.finishOp(51, size); + return; + } + + if (next === 61) { + size = 2; + } + + this.finishOp(50, size); + } + + readToken_eq_excl(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 61) { + this.finishOp(49, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2); + return; + } + + if (code === 61 && next === 62) { + this.state.pos += 2; + this.finishToken(27); + return; + } + + this.finishOp(code === 61 ? 35 : 40, 1); + } + + readToken_question() { + const next = this.input.charCodeAt(this.state.pos + 1); + const next2 = this.input.charCodeAt(this.state.pos + 2); + + if (next === 63) { + if (next2 === 61) { + this.finishOp(36, 3); + } else { + this.finishOp(43, 2); + } + } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) { + this.state.pos += 2; + this.finishToken(26); + } else { + ++this.state.pos; + this.finishToken(25); + } + } + + getTokenFromCode(code) { + switch (code) { + case 46: + this.readToken_dot(); + return; + + case 40: + ++this.state.pos; + this.finishToken(18); + return; + + case 41: + ++this.state.pos; + this.finishToken(19); + return; + + case 59: + ++this.state.pos; + this.finishToken(21); + return; + + case 44: + ++this.state.pos; + this.finishToken(20); + return; + + case 91: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(this.state.pos, ErrorMessages.TupleExpressionBarIncorrectStartSyntaxType); + } + + this.state.pos += 2; + this.finishToken(10); + } else { + ++this.state.pos; + this.finishToken(8); + } + + return; + + case 93: + ++this.state.pos; + this.finishToken(11); + return; + + case 123: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(this.state.pos, ErrorMessages.RecordExpressionBarIncorrectStartSyntaxType); + } + + this.state.pos += 2; + this.finishToken(14); + } else { + ++this.state.pos; + this.finishToken(13); + } + + return; + + case 125: + ++this.state.pos; + this.finishToken(16); + return; + + case 58: + if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) { + this.finishOp(23, 2); + } else { + ++this.state.pos; + this.finishToken(22); + } + + return; + + case 63: + this.readToken_question(); + return; + + case 96: + ++this.state.pos; + this.finishToken(30); + return; + + case 48: + { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 120 || next === 88) { + this.readRadixNumber(16); + return; + } + + if (next === 111 || next === 79) { + this.readRadixNumber(8); + return; + } + + if (next === 98 || next === 66) { + this.readRadixNumber(2); + return; + } + } + + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + this.readNumber(false); + return; + + case 34: + case 39: + this.readString(code); + return; + + case 47: + this.readToken_slash(); + return; + + case 37: + case 42: + this.readToken_mult_modulo(code); + return; + + case 124: + case 38: + this.readToken_pipe_amp(code); + return; + + case 94: + this.readToken_caret(); + return; + + case 43: + case 45: + this.readToken_plus_min(code); + return; + + case 60: + case 62: + this.readToken_lt_gt(code); + return; + + case 61: + case 33: + this.readToken_eq_excl(code); + return; + + case 126: + this.finishOp(41, 1); + return; + + case 64: + ++this.state.pos; + this.finishToken(32); + return; + + case 35: + this.readToken_numberSign(); + return; + + case 92: + this.readWord(); + return; + + default: + if (isIdentifierStart(code)) { + this.readWord(code); + return; + } + + } + + throw this.raise(this.state.pos, ErrorMessages.InvalidOrUnexpectedToken, String.fromCodePoint(code)); + } + + finishOp(type, size) { + const str = this.input.slice(this.state.pos, this.state.pos + size); + this.state.pos += size; + this.finishToken(type, str); + } + + readRegexp() { + const start = this.state.start + 1; + let escaped, inClass; + let { + pos + } = this.state; + + for (;; ++pos) { + if (pos >= this.length) { + throw this.raise(start, ErrorMessages.UnterminatedRegExp); + } + + const ch = this.input.charCodeAt(pos); + + if (isNewLine(ch)) { + throw this.raise(start, ErrorMessages.UnterminatedRegExp); + } + + if (escaped) { + escaped = false; + } else { + if (ch === 91) { + inClass = true; + } else if (ch === 93 && inClass) { + inClass = false; + } else if (ch === 47 && !inClass) { + break; + } + + escaped = ch === 92; + } + } + + const content = this.input.slice(start, pos); + ++pos; + let mods = ""; + + while (pos < this.length) { + const cp = this.codePointAtPos(pos); + const char = String.fromCharCode(cp); + + if (VALID_REGEX_FLAGS.has(cp)) { + if (mods.includes(char)) { + this.raise(pos + 1, ErrorMessages.DuplicateRegExpFlags); + } + } else if (isIdentifierChar(cp) || cp === 92) { + this.raise(pos + 1, ErrorMessages.MalformedRegExpFlags); + } else { + break; + } + + ++pos; + mods += char; + } + + this.state.pos = pos; + this.finishToken(3, { + pattern: content, + flags: mods + }); + } + + readInt(radix, len, forceLen, allowNumSeparator = true) { + const start = this.state.pos; + const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; + const allowedSiblings = radix === 16 ? allowedNumericSeparatorSiblings.hex : radix === 10 ? allowedNumericSeparatorSiblings.dec : radix === 8 ? allowedNumericSeparatorSiblings.oct : allowedNumericSeparatorSiblings.bin; + let invalid = false; + let total = 0; + + for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) { + const code = this.input.charCodeAt(this.state.pos); + let val; + + if (code === 95) { + const prev = this.input.charCodeAt(this.state.pos - 1); + const next = this.input.charCodeAt(this.state.pos + 1); + + if (allowedSiblings.indexOf(next) === -1) { + this.raise(this.state.pos, ErrorMessages.UnexpectedNumericSeparator); + } else if (forbiddenSiblings.indexOf(prev) > -1 || forbiddenSiblings.indexOf(next) > -1 || Number.isNaN(next)) { + this.raise(this.state.pos, ErrorMessages.UnexpectedNumericSeparator); + } + + if (!allowNumSeparator) { + this.raise(this.state.pos, ErrorMessages.NumericSeparatorInEscapeSequence); + } + + ++this.state.pos; + continue; + } + + if (code >= 97) { + val = code - 97 + 10; + } else if (code >= 65) { + val = code - 65 + 10; + } else if (_isDigit(code)) { + val = code - 48; + } else { + val = Infinity; + } + + if (val >= radix) { + if (this.options.errorRecovery && val <= 9) { + val = 0; + this.raise(this.state.start + i + 2, ErrorMessages.InvalidDigit, radix); + } else if (forceLen) { + val = 0; + invalid = true; + } else { + break; + } + } + + ++this.state.pos; + total = total * radix + val; + } + + if (this.state.pos === start || len != null && this.state.pos - start !== len || invalid) { + return null; + } + + return total; + } + + readRadixNumber(radix) { + const start = this.state.pos; + let isBigInt = false; + this.state.pos += 2; + const val = this.readInt(radix); + + if (val == null) { + this.raise(this.state.start + 2, ErrorMessages.InvalidDigit, radix); + } + + const next = this.input.charCodeAt(this.state.pos); + + if (next === 110) { + ++this.state.pos; + isBigInt = true; + } else if (next === 109) { + throw this.raise(start, ErrorMessages.InvalidDecimal); + } + + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(this.state.pos, ErrorMessages.NumberIdentifier); + } + + if (isBigInt) { + const str = this.input.slice(start, this.state.pos).replace(/[_n]/g, ""); + this.finishToken(1, str); + return; + } + + this.finishToken(0, val); + } + + readNumber(startsWithDot) { + const start = this.state.pos; + let isFloat = false; + let isBigInt = false; + let isDecimal = false; + let hasExponent = false; + let isOctal = false; + + if (!startsWithDot && this.readInt(10) === null) { + this.raise(start, ErrorMessages.InvalidNumber); + } + + const hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48; + + if (hasLeadingZero) { + const integer = this.input.slice(start, this.state.pos); + this.recordStrictModeErrors(start, ErrorMessages.StrictOctalLiteral); + + if (!this.state.strict) { + const underscorePos = integer.indexOf("_"); + + if (underscorePos > 0) { + this.raise(underscorePos + start, ErrorMessages.ZeroDigitNumericSeparator); + } + } + + isOctal = hasLeadingZero && !/[89]/.test(integer); + } + + let next = this.input.charCodeAt(this.state.pos); + + if (next === 46 && !isOctal) { + ++this.state.pos; + this.readInt(10); + isFloat = true; + next = this.input.charCodeAt(this.state.pos); + } + + if ((next === 69 || next === 101) && !isOctal) { + next = this.input.charCodeAt(++this.state.pos); + + if (next === 43 || next === 45) { + ++this.state.pos; + } + + if (this.readInt(10) === null) { + this.raise(start, ErrorMessages.InvalidOrMissingExponent); + } + + isFloat = true; + hasExponent = true; + next = this.input.charCodeAt(this.state.pos); + } + + if (next === 110) { + if (isFloat || hasLeadingZero) { + this.raise(start, ErrorMessages.InvalidBigIntLiteral); + } + + ++this.state.pos; + isBigInt = true; + } + + if (next === 109) { + this.expectPlugin("decimal", this.state.pos); + + if (hasExponent || hasLeadingZero) { + this.raise(start, ErrorMessages.InvalidDecimal); + } + + ++this.state.pos; + isDecimal = true; + } + + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(this.state.pos, ErrorMessages.NumberIdentifier); + } + + const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, ""); + + if (isBigInt) { + this.finishToken(1, str); + return; + } + + if (isDecimal) { + this.finishToken(2, str); + return; + } + + const val = isOctal ? parseInt(str, 8) : parseFloat(str); + this.finishToken(0, val); + } + + readCodePoint(throwOnInvalid) { + const ch = this.input.charCodeAt(this.state.pos); + let code; + + if (ch === 123) { + const codePos = ++this.state.pos; + code = this.readHexChar(this.input.indexOf("}", this.state.pos) - this.state.pos, true, throwOnInvalid); + ++this.state.pos; + + if (code !== null && code > 0x10ffff) { + if (throwOnInvalid) { + this.raise(codePos, ErrorMessages.InvalidCodePoint); + } else { + return null; + } + } + } else { + code = this.readHexChar(4, false, throwOnInvalid); + } + + return code; + } + + readString(quote) { + let out = "", + chunkStart = ++this.state.pos; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(this.state.start, ErrorMessages.UnterminatedString); + } + + const ch = this.input.charCodeAt(this.state.pos); + if (ch === quote) break; + + if (ch === 92) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.readEscapedChar(false); + chunkStart = this.state.pos; + } else if (ch === 8232 || ch === 8233) { + ++this.state.pos; + ++this.state.curLine; + this.state.lineStart = this.state.pos; + } else if (isNewLine(ch)) { + throw this.raise(this.state.start, ErrorMessages.UnterminatedString); + } else { + ++this.state.pos; + } + } + + out += this.input.slice(chunkStart, this.state.pos++); + this.finishToken(4, out); + } + + readTmplToken() { + let out = "", + chunkStart = this.state.pos, + containsInvalid = false; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(this.state.start, ErrorMessages.UnterminatedTemplate); + } + + const ch = this.input.charCodeAt(this.state.pos); + + if (ch === 96 || ch === 36 && this.input.charCodeAt(this.state.pos + 1) === 123) { + if (this.state.pos === this.state.start && this.match(28)) { + if (ch === 36) { + this.state.pos += 2; + this.finishToken(31); + return; + } else { + ++this.state.pos; + this.finishToken(30); + return; + } + } + + out += this.input.slice(chunkStart, this.state.pos); + this.finishToken(28, containsInvalid ? null : out); + return; + } + + if (ch === 92) { + out += this.input.slice(chunkStart, this.state.pos); + const escaped = this.readEscapedChar(true); + + if (escaped === null) { + containsInvalid = true; + } else { + out += escaped; + } + + chunkStart = this.state.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + ++this.state.pos; + + switch (ch) { + case 13: + if (this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + } + + case 10: + out += "\n"; + break; + + default: + out += String.fromCharCode(ch); + break; + } + + ++this.state.curLine; + this.state.lineStart = this.state.pos; + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + } + + recordStrictModeErrors(pos, message) { + if (this.state.strict && !this.state.strictErrors.has(pos)) { + this.raise(pos, message); + } else { + this.state.strictErrors.set(pos, message); + } + } + + readEscapedChar(inTemplate) { + const throwOnInvalid = !inTemplate; + const ch = this.input.charCodeAt(++this.state.pos); + ++this.state.pos; + + switch (ch) { + case 110: + return "\n"; + + case 114: + return "\r"; + + case 120: + { + const code = this.readHexChar(2, false, throwOnInvalid); + return code === null ? null : String.fromCharCode(code); + } + + case 117: + { + const code = this.readCodePoint(throwOnInvalid); + return code === null ? null : String.fromCodePoint(code); + } + + case 116: + return "\t"; + + case 98: + return "\b"; + + case 118: + return "\u000b"; + + case 102: + return "\f"; + + case 13: + if (this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + } + + case 10: + this.state.lineStart = this.state.pos; + ++this.state.curLine; + + case 8232: + case 8233: + return ""; + + case 56: + case 57: + if (inTemplate) { + return null; + } else { + this.recordStrictModeErrors(this.state.pos - 1, ErrorMessages.StrictNumericEscape); + } + + default: + if (ch >= 48 && ch <= 55) { + const codePos = this.state.pos - 1; + const match = this.input.substr(this.state.pos - 1, 3).match(/^[0-7]+/); + let octalStr = match[0]; + let octal = parseInt(octalStr, 8); + + if (octal > 255) { + octalStr = octalStr.slice(0, -1); + octal = parseInt(octalStr, 8); + } + + this.state.pos += octalStr.length - 1; + const next = this.input.charCodeAt(this.state.pos); + + if (octalStr !== "0" || next === 56 || next === 57) { + if (inTemplate) { + return null; + } else { + this.recordStrictModeErrors(codePos, ErrorMessages.StrictNumericEscape); + } + } + + return String.fromCharCode(octal); + } + + return String.fromCharCode(ch); + } + } + + readHexChar(len, forceLen, throwOnInvalid) { + const codePos = this.state.pos; + const n = this.readInt(16, len, forceLen, false); + + if (n === null) { + if (throwOnInvalid) { + this.raise(codePos, ErrorMessages.InvalidEscapeSequence); + } else { + this.state.pos = codePos - 1; + } + } + + return n; + } + + readWord1(firstCode) { + this.state.containsEsc = false; + let word = ""; + const start = this.state.pos; + let chunkStart = this.state.pos; + + if (firstCode !== undefined) { + this.state.pos += firstCode <= 0xffff ? 1 : 2; + } + + while (this.state.pos < this.length) { + const ch = this.codePointAtPos(this.state.pos); + + if (isIdentifierChar(ch)) { + this.state.pos += ch <= 0xffff ? 1 : 2; + } else if (ch === 92) { + this.state.containsEsc = true; + word += this.input.slice(chunkStart, this.state.pos); + const escStart = this.state.pos; + const identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar; + + if (this.input.charCodeAt(++this.state.pos) !== 117) { + this.raise(this.state.pos, ErrorMessages.MissingUnicodeEscape); + chunkStart = this.state.pos - 1; + continue; + } + + ++this.state.pos; + const esc = this.readCodePoint(true); + + if (esc !== null) { + if (!identifierCheck(esc)) { + this.raise(escStart, ErrorMessages.EscapedCharNotAnIdentifier); + } + + word += String.fromCodePoint(esc); + } + + chunkStart = this.state.pos; + } else { + break; + } + } + + return word + this.input.slice(chunkStart, this.state.pos); + } + + readWord(firstCode) { + const word = this.readWord1(firstCode); + const type = keywords$1.get(word) || 5; + this.finishToken(type, word); + } + + checkKeywordEscapes() { + const { + type + } = this.state; + + if (tokenIsKeyword(type) && this.state.containsEsc) { + this.raise(this.state.start, ErrorMessages.InvalidEscapedReservedWord, tokenLabelName(type)); + } + } + + updateContext(prevType) { + const { + context, + type + } = this.state; + + switch (type) { + case 16: + context.pop(); + break; + + case 13: + case 15: + case 31: + context.push(types.brace); + break; + + case 30: + if (context[context.length - 1] === types.template) { + context.pop(); + } else { + context.push(types.template); + } + + break; + } + } + +} + +class ClassScope { + constructor() { + this.privateNames = new Set(); + this.loneAccessors = new Map(); + this.undefinedPrivateNames = new Map(); + } + +} +class ClassScopeHandler { + constructor(raise) { + this.stack = []; + this.undefinedPrivateNames = new Map(); + this.raise = raise; + } + + current() { + return this.stack[this.stack.length - 1]; + } + + enter() { + this.stack.push(new ClassScope()); + } + + exit() { + const oldClassScope = this.stack.pop(); + const current = this.current(); + + for (const [name, pos] of Array.from(oldClassScope.undefinedPrivateNames)) { + if (current) { + if (!current.undefinedPrivateNames.has(name)) { + current.undefinedPrivateNames.set(name, pos); + } + } else { + this.raise(pos, ErrorMessages.InvalidPrivateFieldResolution, name); + } + } + } + + declarePrivateName(name, elementType, pos) { + const classScope = this.current(); + let redefined = classScope.privateNames.has(name); + + if (elementType & CLASS_ELEMENT_KIND_ACCESSOR) { + const accessor = redefined && classScope.loneAccessors.get(name); + + if (accessor) { + const oldStatic = accessor & CLASS_ELEMENT_FLAG_STATIC; + const newStatic = elementType & CLASS_ELEMENT_FLAG_STATIC; + const oldKind = accessor & CLASS_ELEMENT_KIND_ACCESSOR; + const newKind = elementType & CLASS_ELEMENT_KIND_ACCESSOR; + redefined = oldKind === newKind || oldStatic !== newStatic; + if (!redefined) classScope.loneAccessors.delete(name); + } else if (!redefined) { + classScope.loneAccessors.set(name, elementType); + } + } + + if (redefined) { + this.raise(pos, ErrorMessages.PrivateNameRedeclaration, name); + } + + classScope.privateNames.add(name); + classScope.undefinedPrivateNames.delete(name); + } + + usePrivateName(name, pos) { + let classScope; + + for (classScope of this.stack) { + if (classScope.privateNames.has(name)) return; + } + + if (classScope) { + classScope.undefinedPrivateNames.set(name, pos); + } else { + this.raise(pos, ErrorMessages.InvalidPrivateFieldResolution, name); + } + } + +} + +const kExpression = 0, + kMaybeArrowParameterDeclaration = 1, + kMaybeAsyncArrowParameterDeclaration = 2, + kParameterDeclaration = 3; + +class ExpressionScope { + constructor(type = kExpression) { + this.type = void 0; + this.type = type; + } + + canBeArrowParameterDeclaration() { + return this.type === kMaybeAsyncArrowParameterDeclaration || this.type === kMaybeArrowParameterDeclaration; + } + + isCertainlyParameterDeclaration() { + return this.type === kParameterDeclaration; + } + +} + +class ArrowHeadParsingScope extends ExpressionScope { + constructor(type) { + super(type); + this.errors = new Map(); + } + + recordDeclarationError(pos, template) { + this.errors.set(pos, template); + } + + clearDeclarationError(pos) { + this.errors.delete(pos); + } + + iterateErrors(iterator) { + this.errors.forEach(iterator); + } + +} + +class ExpressionScopeHandler { + constructor(raise) { + this.stack = [new ExpressionScope()]; + this.raise = raise; + } + + enter(scope) { + this.stack.push(scope); + } + + exit() { + this.stack.pop(); + } + + recordParameterInitializerError(pos, template) { + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + + while (!scope.isCertainlyParameterDeclaration()) { + if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(pos, template); + } else { + return; + } + + scope = stack[--i]; + } + + this.raise(pos, template); + } + + recordParenthesizedIdentifierError(pos, template) { + const { + stack + } = this; + const scope = stack[stack.length - 1]; + + if (scope.isCertainlyParameterDeclaration()) { + this.raise(pos, template); + } else if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(pos, template); + } else { + return; + } + } + + recordAsyncArrowParametersError(pos, template) { + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + + while (scope.canBeArrowParameterDeclaration()) { + if (scope.type === kMaybeAsyncArrowParameterDeclaration) { + scope.recordDeclarationError(pos, template); + } + + scope = stack[--i]; + } + } + + validateAsPattern() { + const { + stack + } = this; + const currentScope = stack[stack.length - 1]; + if (!currentScope.canBeArrowParameterDeclaration()) return; + currentScope.iterateErrors((template, pos) => { + this.raise(pos, template); + let i = stack.length - 2; + let scope = stack[i]; + + while (scope.canBeArrowParameterDeclaration()) { + scope.clearDeclarationError(pos); + scope = stack[--i]; + } + }); + } + +} +function newParameterDeclarationScope() { + return new ExpressionScope(kParameterDeclaration); +} +function newArrowHeadScope() { + return new ArrowHeadParsingScope(kMaybeArrowParameterDeclaration); +} +function newAsyncArrowScope() { + return new ArrowHeadParsingScope(kMaybeAsyncArrowParameterDeclaration); +} +function newExpressionScope() { + return new ExpressionScope(); +} + +const PARAM = 0b0000, + PARAM_YIELD = 0b0001, + PARAM_AWAIT = 0b0010, + PARAM_RETURN = 0b0100, + PARAM_IN = 0b1000; +class ProductionParameterHandler { + constructor() { + this.stacks = []; + } + + enter(flags) { + this.stacks.push(flags); + } + + exit() { + this.stacks.pop(); + } + + currentFlags() { + return this.stacks[this.stacks.length - 1]; + } + + get hasAwait() { + return (this.currentFlags() & PARAM_AWAIT) > 0; + } + + get hasYield() { + return (this.currentFlags() & PARAM_YIELD) > 0; + } + + get hasReturn() { + return (this.currentFlags() & PARAM_RETURN) > 0; + } + + get hasIn() { + return (this.currentFlags() & PARAM_IN) > 0; + } + +} +function functionFlags(isAsync, isGenerator) { + return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0); +} + +class UtilParser extends Tokenizer { + addExtra(node, key, val) { + if (!node) return; + const extra = node.extra = node.extra || {}; + extra[key] = val; + } + + isRelational(op) { + return this.match(50) && this.state.value === op; + } + + expectRelational(op) { + if (this.isRelational(op)) { + this.next(); + } else { + this.unexpected(null, 50); + } + } + + isContextual(name) { + return this.match(5) && this.state.value === name && !this.state.containsEsc; + } + + isUnparsedContextual(nameStart, name) { + const nameEnd = nameStart + name.length; + + if (this.input.slice(nameStart, nameEnd) === name) { + const nextCh = this.input.charCodeAt(nameEnd); + return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800); + } + + return false; + } + + isLookaheadContextual(name) { + const next = this.nextTokenStart(); + return this.isUnparsedContextual(next, name); + } + + eatContextual(name) { + return this.isContextual(name) && this.eat(5); + } + + expectContextual(name, template) { + if (!this.eatContextual(name)) this.unexpected(null, template); + } + + canInsertSemicolon() { + return this.match(7) || this.match(16) || this.hasPrecedingLineBreak(); + } + + hasPrecedingLineBreak() { + return lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start)); + } + + hasFollowingLineBreak() { + skipWhiteSpaceToLineBreak.lastIndex = this.state.end; + return skipWhiteSpaceToLineBreak.test(this.input); + } + + isLineTerminator() { + return this.eat(21) || this.canInsertSemicolon(); + } + + semicolon(allowAsi = true) { + if (allowAsi ? this.isLineTerminator() : this.eat(21)) return; + this.raise(this.state.lastTokEnd, ErrorMessages.MissingSemicolon); + } + + expect(type, pos) { + this.eat(type) || this.unexpected(pos, type); + } + + assertNoSpace(message = "Unexpected space.") { + if (this.state.start > this.state.lastTokEnd) { + this.raise(this.state.lastTokEnd, { + code: ErrorCodes.SyntaxError, + reasonCode: "UnexpectedSpace", + template: message + }); + } + } + + unexpected(pos, messageOrType = { + code: ErrorCodes.SyntaxError, + reasonCode: "UnexpectedToken", + template: "Unexpected token" + }) { + if (isTokenType(messageOrType)) { + messageOrType = { + code: ErrorCodes.SyntaxError, + reasonCode: "UnexpectedToken", + template: `Unexpected token, expected "${tokenLabelName(messageOrType)}"` + }; + } + + throw this.raise(pos != null ? pos : this.state.start, messageOrType); + } + + expectPlugin(name, pos) { + if (!this.hasPlugin(name)) { + throw this.raiseWithData(pos != null ? pos : this.state.start, { + missingPlugin: [name] + }, `This experimental syntax requires enabling the parser plugin: '${name}'`); + } + + return true; + } + + expectOnePlugin(names, pos) { + if (!names.some(n => this.hasPlugin(n))) { + throw this.raiseWithData(pos != null ? pos : this.state.start, { + missingPlugin: names + }, `This experimental syntax requires enabling one of the following parser plugin(s): '${names.join(", ")}'`); + } + } + + tryParse(fn, oldState = this.state.clone()) { + const abortSignal = { + node: null + }; + + try { + const node = fn((node = null) => { + abortSignal.node = node; + throw abortSignal; + }); + + if (this.state.errors.length > oldState.errors.length) { + const failState = this.state; + this.state = oldState; + this.state.tokensLength = failState.tokensLength; + return { + node, + error: failState.errors[oldState.errors.length], + thrown: false, + aborted: false, + failState + }; + } + + return { + node, + error: null, + thrown: false, + aborted: false, + failState: null + }; + } catch (error) { + const failState = this.state; + this.state = oldState; + + if (error instanceof SyntaxError) { + return { + node: null, + error, + thrown: true, + aborted: false, + failState + }; + } + + if (error === abortSignal) { + return { + node: abortSignal.node, + error: null, + thrown: false, + aborted: true, + failState + }; + } + + throw error; + } + } + + checkExpressionErrors(refExpressionErrors, andThrow) { + if (!refExpressionErrors) return false; + const { + shorthandAssign, + doubleProto, + optionalParameters + } = refExpressionErrors; + + if (!andThrow) { + return shorthandAssign >= 0 || doubleProto >= 0 || optionalParameters >= 0; + } + + if (shorthandAssign >= 0) { + this.unexpected(shorthandAssign); + } + + if (doubleProto >= 0) { + this.raise(doubleProto, ErrorMessages.DuplicateProto); + } + + if (optionalParameters >= 0) { + this.unexpected(optionalParameters); + } + } + + isLiteralPropertyName() { + return this.match(5) || tokenIsKeyword(this.state.type) || this.match(4) || this.match(0) || this.match(1) || this.match(2); + } + + isPrivateName(node) { + return node.type === "PrivateName"; + } + + getPrivateNameSV(node) { + return node.id.name; + } + + hasPropertyAsPrivateName(node) { + return (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") && this.isPrivateName(node.property); + } + + isOptionalChain(node) { + return node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression"; + } + + isObjectProperty(node) { + return node.type === "ObjectProperty"; + } + + isObjectMethod(node) { + return node.type === "ObjectMethod"; + } + + initializeScopes(inModule = this.options.sourceType === "module") { + const oldLabels = this.state.labels; + this.state.labels = []; + const oldExportedIdentifiers = this.exportedIdentifiers; + this.exportedIdentifiers = new Set(); + const oldInModule = this.inModule; + this.inModule = inModule; + const oldScope = this.scope; + const ScopeHandler = this.getScopeHandler(); + this.scope = new ScopeHandler(this.raise.bind(this), this.inModule); + const oldProdParam = this.prodParam; + this.prodParam = new ProductionParameterHandler(); + const oldClassScope = this.classScope; + this.classScope = new ClassScopeHandler(this.raise.bind(this)); + const oldExpressionScope = this.expressionScope; + this.expressionScope = new ExpressionScopeHandler(this.raise.bind(this)); + return () => { + this.state.labels = oldLabels; + this.exportedIdentifiers = oldExportedIdentifiers; + this.inModule = oldInModule; + this.scope = oldScope; + this.prodParam = oldProdParam; + this.classScope = oldClassScope; + this.expressionScope = oldExpressionScope; + }; + } + + enterInitialScopes() { + let paramFlags = PARAM; + + if (this.inModule) { + paramFlags |= PARAM_AWAIT; + } + + this.scope.enter(SCOPE_PROGRAM); + this.prodParam.enter(paramFlags); + } + +} +class ExpressionErrors { + constructor() { + this.shorthandAssign = -1; + this.doubleProto = -1; + this.optionalParameters = -1; + } + +} + +class Node { + constructor(parser, pos, loc) { + this.type = ""; + this.start = pos; + this.end = 0; + this.loc = new SourceLocation(loc); + if (parser != null && parser.options.ranges) this.range = [pos, 0]; + if (parser != null && parser.filename) this.loc.filename = parser.filename; + } + +} + +const NodePrototype = Node.prototype; +{ + NodePrototype.__clone = function () { + const newNode = new Node(); + const keys = Object.keys(this); + + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + + if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") { + newNode[key] = this[key]; + } + } + + return newNode; + }; +} + +function clonePlaceholder(node) { + return cloneIdentifier(node); +} + +function cloneIdentifier(node) { + const { + type, + start, + end, + loc, + range, + extra, + name + } = node; + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.extra = extra; + cloned.name = name; + + if (type === "Placeholder") { + cloned.expectedNode = node.expectedNode; + } + + return cloned; +} +function cloneStringLiteral(node) { + const { + type, + start, + end, + loc, + range, + extra + } = node; + + if (type === "Placeholder") { + return clonePlaceholder(node); + } + + const cloned = Object.create(NodePrototype); + cloned.type = "StringLiteral"; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.extra = extra; + cloned.value = node.value; + return cloned; +} +class NodeUtils extends UtilParser { + startNode() { + return new Node(this, this.state.start, this.state.startLoc); + } + + startNodeAt(pos, loc) { + return new Node(this, pos, loc); + } + + startNodeAtNode(type) { + return this.startNodeAt(type.start, type.loc.start); + } + + finishNode(node, type) { + return this.finishNodeAt(node, type, this.state.lastTokEnd, this.state.lastTokEndLoc); + } + + finishNodeAt(node, type, pos, loc) { + + node.type = type; + node.end = pos; + node.loc.end = loc; + if (this.options.ranges) node.range[1] = pos; + if (this.options.attachComment) this.processComment(node); + return node; + } + + resetStartLocation(node, start, startLoc) { + node.start = start; + node.loc.start = startLoc; + if (this.options.ranges) node.range[0] = start; + } + + resetEndLocation(node, end = this.state.lastTokEnd, endLoc = this.state.lastTokEndLoc) { + node.end = end; + node.loc.end = endLoc; + if (this.options.ranges) node.range[1] = end; + } + + resetStartLocationFromNode(node, locationNode) { + this.resetStartLocation(node, locationNode.start, locationNode.loc.start); + } + +} + +const reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]); +const FlowErrors = makeErrorTemplates({ + AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.", + AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.", + AssignReservedType: "Cannot overwrite reserved type %0.", + DeclareClassElement: "The `declare` modifier can only appear on class fields.", + DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.", + DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.", + EnumBooleanMemberNotInitialized: "Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.", + EnumDuplicateMemberName: "Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.", + EnumInconsistentMemberValues: "Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.", + EnumInvalidExplicitType: "Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.", + EnumInvalidExplicitTypeUnknownSupplied: "Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.", + EnumInvalidMemberInitializerPrimaryType: "Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.", + EnumInvalidMemberInitializerSymbolType: "Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.", + EnumInvalidMemberInitializerUnknownType: "The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.", + EnumInvalidMemberName: "Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.", + EnumNumberMemberNotInitialized: "Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.", + EnumStringMemberInconsistentlyInitailized: "String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.", + GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.", + ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.", + InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.", + InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.", + InexactVariance: "Explicit inexact syntax cannot have variance.", + InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.", + MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.", + NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.", + NestedFlowComment: "Cannot have a flow comment inside another flow comment.", + PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.", + SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.", + SpreadVariance: "Spread properties cannot have variance.", + ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.", + ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.", + ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.", + ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.", + ThisParamNoDefault: "The `this` parameter may not have a default value.", + TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.", + UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.", + UnexpectedReservedType: "Unexpected reserved type %0.", + UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.", + UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.", + UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.", + UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".', + UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.", + UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.", + UnsupportedDeclareExportKind: "`declare export %0` is not supported. Use `%1` instead.", + UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.", + UnterminatedFlowComment: "Unterminated flow-comment." +}, ErrorCodes.SyntaxError, "flow"); + +function isEsModuleType(bodyElement) { + return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration"); +} + +function hasTypeImportKind(node) { + return node.importKind === "type" || node.importKind === "typeof"; +} + +function isMaybeDefaultImport(state) { + return (state.type === 5 || tokenIsKeyword(state.type)) && state.value !== "from"; +} + +const exportSuggestions = { + const: "declare export var", + let: "declare export var", + type: "export type", + interface: "export interface" +}; + +function partition(list, test) { + const list1 = []; + const list2 = []; + + for (let i = 0; i < list.length; i++) { + (test(list[i], i, list) ? list1 : list2).push(list[i]); + } + + return [list1, list2]; +} + +const FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/; +var flow = (superClass => class extends superClass { + constructor(...args) { + super(...args); + this.flowPragma = undefined; + } + + getScopeHandler() { + return FlowScopeHandler; + } + + shouldParseTypes() { + return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; + } + + shouldParseEnums() { + return !!this.getPluginOption("flow", "enums"); + } + + finishToken(type, val) { + if (type !== 4 && type !== 21 && type !== 34) { + if (this.flowPragma === undefined) { + this.flowPragma = null; + } + } + + return super.finishToken(type, val); + } + + addComment(comment) { + if (this.flowPragma === undefined) { + const matches = FLOW_PRAGMA_REGEX.exec(comment.value); + + if (!matches) ; else if (matches[1] === "flow") { + this.flowPragma = "flow"; + } else if (matches[1] === "noflow") { + this.flowPragma = "noflow"; + } else { + throw new Error("Unexpected flow pragma"); + } + } + + return super.addComment(comment); + } + + flowParseTypeInitialiser(tok) { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(tok || 22); + const type = this.flowParseType(); + this.state.inType = oldInType; + return type; + } + + flowParsePredicate() { + const node = this.startNode(); + const moduloPos = this.state.start; + this.next(); + this.expectContextual("checks"); + + if (this.state.lastTokStart > moduloPos + 1) { + this.raise(moduloPos, FlowErrors.UnexpectedSpaceBetweenModuloChecks); + } + + if (this.eat(18)) { + node.value = this.parseExpression(); + this.expect(19); + return this.finishNode(node, "DeclaredPredicate"); + } else { + return this.finishNode(node, "InferredPredicate"); + } + } + + flowParseTypeAndPredicateInitialiser() { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(22); + let type = null; + let predicate = null; + + if (this.match(53)) { + this.state.inType = oldInType; + predicate = this.flowParsePredicate(); + } else { + type = this.flowParseType(); + this.state.inType = oldInType; + + if (this.match(53)) { + predicate = this.flowParsePredicate(); + } + } + + return [type, predicate]; + } + + flowParseDeclareClass(node) { + this.next(); + this.flowParseInterfaceish(node, true); + return this.finishNode(node, "DeclareClass"); + } + + flowParseDeclareFunction(node) { + this.next(); + const id = node.id = this.parseIdentifier(); + const typeNode = this.startNode(); + const typeContainer = this.startNode(); + + if (this.isRelational("<")) { + typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + typeNode.typeParameters = null; + } + + this.expect(18); + const tmp = this.flowParseFunctionTypeParams(); + typeNode.params = tmp.params; + typeNode.rest = tmp.rest; + typeNode.this = tmp._this; + this.expect(19); + [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); + id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); + this.resetEndLocation(id); + this.semicolon(); + this.scope.declareName(node.id.name, BIND_FLOW_DECLARE_FN, node.id.start); + return this.finishNode(node, "DeclareFunction"); + } + + flowParseDeclare(node, insideModule) { + if (this.match(79)) { + return this.flowParseDeclareClass(node); + } else if (this.match(67)) { + return this.flowParseDeclareFunction(node); + } else if (this.match(73)) { + return this.flowParseDeclareVariable(node); + } else if (this.eatContextual("module")) { + if (this.match(24)) { + return this.flowParseDeclareModuleExports(node); + } else { + if (insideModule) { + this.raise(this.state.lastTokStart, FlowErrors.NestedDeclareModule); + } + + return this.flowParseDeclareModule(node); + } + } else if (this.isContextual("type")) { + return this.flowParseDeclareTypeAlias(node); + } else if (this.isContextual("opaque")) { + return this.flowParseDeclareOpaqueType(node); + } else if (this.isContextual("interface")) { + return this.flowParseDeclareInterface(node); + } else if (this.match(81)) { + return this.flowParseDeclareExportDeclaration(node, insideModule); + } else { + throw this.unexpected(); + } + } + + flowParseDeclareVariable(node) { + this.next(); + node.id = this.flowParseTypeAnnotatableIdentifier(true); + this.scope.declareName(node.id.name, BIND_VAR, node.id.start); + this.semicolon(); + return this.finishNode(node, "DeclareVariable"); + } + + flowParseDeclareModule(node) { + this.scope.enter(SCOPE_OTHER); + + if (this.match(4)) { + node.id = this.parseExprAtom(); + } else { + node.id = this.parseIdentifier(); + } + + const bodyNode = node.body = this.startNode(); + const body = bodyNode.body = []; + this.expect(13); + + while (!this.match(16)) { + let bodyNode = this.startNode(); + + if (this.match(82)) { + this.next(); + + if (!this.isContextual("type") && !this.match(86)) { + this.raise(this.state.lastTokStart, FlowErrors.InvalidNonTypeImportInDeclareModule); + } + + this.parseImport(bodyNode); + } else { + this.expectContextual("declare", FlowErrors.UnsupportedStatementInDeclareModule); + bodyNode = this.flowParseDeclare(bodyNode, true); + } + + body.push(bodyNode); + } + + this.scope.exit(); + this.expect(16); + this.finishNode(bodyNode, "BlockStatement"); + let kind = null; + let hasModuleExport = false; + body.forEach(bodyElement => { + if (isEsModuleType(bodyElement)) { + if (kind === "CommonJS") { + this.raise(bodyElement.start, FlowErrors.AmbiguousDeclareModuleKind); + } + + kind = "ES"; + } else if (bodyElement.type === "DeclareModuleExports") { + if (hasModuleExport) { + this.raise(bodyElement.start, FlowErrors.DuplicateDeclareModuleExports); + } + + if (kind === "ES") { + this.raise(bodyElement.start, FlowErrors.AmbiguousDeclareModuleKind); + } + + kind = "CommonJS"; + hasModuleExport = true; + } + }); + node.kind = kind || "CommonJS"; + return this.finishNode(node, "DeclareModule"); + } + + flowParseDeclareExportDeclaration(node, insideModule) { + this.expect(81); + + if (this.eat(64)) { + if (this.match(67) || this.match(79)) { + node.declaration = this.flowParseDeclare(this.startNode()); + } else { + node.declaration = this.flowParseType(); + this.semicolon(); + } + + node.default = true; + return this.finishNode(node, "DeclareExportDeclaration"); + } else { + if (this.match(74) || this.isLet() || (this.isContextual("type") || this.isContextual("interface")) && !insideModule) { + const label = this.state.value; + const suggestion = exportSuggestions[label]; + throw this.raise(this.state.start, FlowErrors.UnsupportedDeclareExportKind, label, suggestion); + } + + if (this.match(73) || this.match(67) || this.match(79) || this.isContextual("opaque")) { + node.declaration = this.flowParseDeclare(this.startNode()); + node.default = false; + return this.finishNode(node, "DeclareExportDeclaration"); + } else if (this.match(54) || this.match(13) || this.isContextual("interface") || this.isContextual("type") || this.isContextual("opaque")) { + node = this.parseExport(node); + + if (node.type === "ExportNamedDeclaration") { + node.type = "ExportDeclaration"; + node.default = false; + delete node.exportKind; + } + + node.type = "Declare" + node.type; + return node; + } + } + + throw this.unexpected(); + } + + flowParseDeclareModuleExports(node) { + this.next(); + this.expectContextual("exports"); + node.typeAnnotation = this.flowParseTypeAnnotation(); + this.semicolon(); + return this.finishNode(node, "DeclareModuleExports"); + } + + flowParseDeclareTypeAlias(node) { + this.next(); + this.flowParseTypeAlias(node); + node.type = "DeclareTypeAlias"; + return node; + } + + flowParseDeclareOpaqueType(node) { + this.next(); + this.flowParseOpaqueType(node, true); + node.type = "DeclareOpaqueType"; + return node; + } + + flowParseDeclareInterface(node) { + this.next(); + this.flowParseInterfaceish(node); + return this.finishNode(node, "DeclareInterface"); + } + + flowParseInterfaceish(node, isClass = false) { + node.id = this.flowParseRestrictedIdentifier(!isClass, true); + this.scope.declareName(node.id.name, isClass ? BIND_FUNCTION : BIND_LEXICAL, node.id.start); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.extends = []; + node.implements = []; + node.mixins = []; + + if (this.eat(80)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (!isClass && this.eat(20)); + } + + if (this.isContextual("mixins")) { + this.next(); + + do { + node.mixins.push(this.flowParseInterfaceExtends()); + } while (this.eat(20)); + } + + if (this.isContextual("implements")) { + this.next(); + + do { + node.implements.push(this.flowParseInterfaceExtends()); + } while (this.eat(20)); + } + + node.body = this.flowParseObjectType({ + allowStatic: isClass, + allowExact: false, + allowSpread: false, + allowProto: isClass, + allowInexact: false + }); + } + + flowParseInterfaceExtends() { + const node = this.startNode(); + node.id = this.flowParseQualifiedTypeIdentifier(); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + + return this.finishNode(node, "InterfaceExtends"); + } + + flowParseInterface(node) { + this.flowParseInterfaceish(node); + return this.finishNode(node, "InterfaceDeclaration"); + } + + checkNotUnderscore(word) { + if (word === "_") { + this.raise(this.state.start, FlowErrors.UnexpectedReservedUnderscore); + } + } + + checkReservedType(word, startLoc, declaration) { + if (!reservedTypes.has(word)) return; + this.raise(startLoc, declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, word); + } + + flowParseRestrictedIdentifier(liberal, declaration) { + this.checkReservedType(this.state.value, this.state.start, declaration); + return this.parseIdentifier(liberal); + } + + flowParseTypeAlias(node) { + node.id = this.flowParseRestrictedIdentifier(false, true); + this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.right = this.flowParseTypeInitialiser(35); + this.semicolon(); + return this.finishNode(node, "TypeAlias"); + } + + flowParseOpaqueType(node, declare) { + this.expectContextual("type"); + node.id = this.flowParseRestrictedIdentifier(true, true); + this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.supertype = null; + + if (this.match(22)) { + node.supertype = this.flowParseTypeInitialiser(22); + } + + node.impltype = null; + + if (!declare) { + node.impltype = this.flowParseTypeInitialiser(35); + } + + this.semicolon(); + return this.finishNode(node, "OpaqueType"); + } + + flowParseTypeParameter(requireDefault = false) { + const nodeStart = this.state.start; + const node = this.startNode(); + const variance = this.flowParseVariance(); + const ident = this.flowParseTypeAnnotatableIdentifier(); + node.name = ident.name; + node.variance = variance; + node.bound = ident.typeAnnotation; + + if (this.match(35)) { + this.eat(35); + node.default = this.flowParseType(); + } else { + if (requireDefault) { + this.raise(nodeStart, FlowErrors.MissingTypeParamDefault); + } + } + + return this.finishNode(node, "TypeParameter"); + } + + flowParseTypeParameterDeclaration() { + const oldInType = this.state.inType; + const node = this.startNode(); + node.params = []; + this.state.inType = true; + + if (this.isRelational("<") || this.match(94)) { + this.next(); + } else { + this.unexpected(); + } + + let defaultRequired = false; + + do { + const typeParameter = this.flowParseTypeParameter(defaultRequired); + node.params.push(typeParameter); + + if (typeParameter.default) { + defaultRequired = true; + } + + if (!this.isRelational(">")) { + this.expect(20); + } + } while (!this.isRelational(">")); + + this.expectRelational(">"); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterDeclaration"); + } + + flowParseTypeParameterInstantiation() { + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expectRelational("<"); + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = false; + + while (!this.isRelational(">")) { + node.params.push(this.flowParseType()); + + if (!this.isRelational(">")) { + this.expect(20); + } + } + + this.state.noAnonFunctionType = oldNoAnonFunctionType; + this.expectRelational(">"); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + + flowParseTypeParameterInstantiationCallOrNew() { + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expectRelational("<"); + + while (!this.isRelational(">")) { + node.params.push(this.flowParseTypeOrImplicitInstantiation()); + + if (!this.isRelational(">")) { + this.expect(20); + } + } + + this.expectRelational(">"); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + + flowParseInterfaceType() { + const node = this.startNode(); + this.expectContextual("interface"); + node.extends = []; + + if (this.eat(80)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (this.eat(20)); + } + + node.body = this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: false, + allowProto: false, + allowInexact: false + }); + return this.finishNode(node, "InterfaceTypeAnnotation"); + } + + flowParseObjectPropertyKey() { + return this.match(0) || this.match(4) ? this.parseExprAtom() : this.parseIdentifier(true); + } + + flowParseObjectTypeIndexer(node, isStatic, variance) { + node.static = isStatic; + + if (this.lookahead().type === 22) { + node.id = this.flowParseObjectPropertyKey(); + node.key = this.flowParseTypeInitialiser(); + } else { + node.id = null; + node.key = this.flowParseType(); + } + + this.expect(11); + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + return this.finishNode(node, "ObjectTypeIndexer"); + } + + flowParseObjectTypeInternalSlot(node, isStatic) { + node.static = isStatic; + node.id = this.flowParseObjectPropertyKey(); + this.expect(11); + this.expect(11); + + if (this.isRelational("<") || this.match(18)) { + node.method = true; + node.optional = false; + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); + } else { + node.method = false; + + if (this.eat(25)) { + node.optional = true; + } + + node.value = this.flowParseTypeInitialiser(); + } + + return this.finishNode(node, "ObjectTypeInternalSlot"); + } + + flowParseObjectTypeMethodish(node) { + node.params = []; + node.rest = null; + node.typeParameters = null; + node.this = null; + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + this.expect(18); + + if (this.match(77)) { + node.this = this.flowParseFunctionTypeParam(true); + node.this.name = null; + + if (!this.match(19)) { + this.expect(20); + } + } + + while (!this.match(19) && !this.match(29)) { + node.params.push(this.flowParseFunctionTypeParam(false)); + + if (!this.match(19)) { + this.expect(20); + } + } + + if (this.eat(29)) { + node.rest = this.flowParseFunctionTypeParam(false); + } + + this.expect(19); + node.returnType = this.flowParseTypeInitialiser(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + + flowParseObjectTypeCallProperty(node, isStatic) { + const valueNode = this.startNode(); + node.static = isStatic; + node.value = this.flowParseObjectTypeMethodish(valueNode); + return this.finishNode(node, "ObjectTypeCallProperty"); + } + + flowParseObjectType({ + allowStatic, + allowExact, + allowSpread, + allowProto, + allowInexact + }) { + const oldInType = this.state.inType; + this.state.inType = true; + const nodeStart = this.startNode(); + nodeStart.callProperties = []; + nodeStart.properties = []; + nodeStart.indexers = []; + nodeStart.internalSlots = []; + let endDelim; + let exact; + let inexact = false; + + if (allowExact && this.match(14)) { + this.expect(14); + endDelim = 17; + exact = true; + } else { + this.expect(13); + endDelim = 16; + exact = false; + } + + nodeStart.exact = exact; + + while (!this.match(endDelim)) { + let isStatic = false; + let protoStart = null; + let inexactStart = null; + const node = this.startNode(); + + if (allowProto && this.isContextual("proto")) { + const lookahead = this.lookahead(); + + if (lookahead.type !== 22 && lookahead.type !== 25) { + this.next(); + protoStart = this.state.start; + allowStatic = false; + } + } + + if (allowStatic && this.isContextual("static")) { + const lookahead = this.lookahead(); + + if (lookahead.type !== 22 && lookahead.type !== 25) { + this.next(); + isStatic = true; + } + } + + const variance = this.flowParseVariance(); + + if (this.eat(8)) { + if (protoStart != null) { + this.unexpected(protoStart); + } + + if (this.eat(8)) { + if (variance) { + this.unexpected(variance.start); + } + + nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic)); + } else { + nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance)); + } + } else if (this.match(18) || this.isRelational("<")) { + if (protoStart != null) { + this.unexpected(protoStart); + } + + if (variance) { + this.unexpected(variance.start); + } + + nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic)); + } else { + let kind = "init"; + + if (this.isContextual("get") || this.isContextual("set")) { + const lookahead = this.lookahead(); + + if (lookahead.type === 5 || lookahead.type === 4 || lookahead.type === 0) { + kind = this.state.value; + this.next(); + } + } + + const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact); + + if (propOrInexact === null) { + inexact = true; + inexactStart = this.state.lastTokStart; + } else { + nodeStart.properties.push(propOrInexact); + } + } + + this.flowObjectTypeSemicolon(); + + if (inexactStart && !this.match(16) && !this.match(17)) { + this.raise(inexactStart, FlowErrors.UnexpectedExplicitInexactInObject); + } + } + + this.expect(endDelim); + + if (allowSpread) { + nodeStart.inexact = inexact; + } + + const out = this.finishNode(nodeStart, "ObjectTypeAnnotation"); + this.state.inType = oldInType; + return out; + } + + flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, allowInexact) { + if (this.eat(29)) { + const isInexactToken = this.match(20) || this.match(21) || this.match(16) || this.match(17); + + if (isInexactToken) { + if (!allowSpread) { + this.raise(this.state.lastTokStart, FlowErrors.InexactInsideNonObject); + } else if (!allowInexact) { + this.raise(this.state.lastTokStart, FlowErrors.InexactInsideExact); + } + + if (variance) { + this.raise(variance.start, FlowErrors.InexactVariance); + } + + return null; + } + + if (!allowSpread) { + this.raise(this.state.lastTokStart, FlowErrors.UnexpectedSpreadType); + } + + if (protoStart != null) { + this.unexpected(protoStart); + } + + if (variance) { + this.raise(variance.start, FlowErrors.SpreadVariance); + } + + node.argument = this.flowParseType(); + return this.finishNode(node, "ObjectTypeSpreadProperty"); + } else { + node.key = this.flowParseObjectPropertyKey(); + node.static = isStatic; + node.proto = protoStart != null; + node.kind = kind; + let optional = false; + + if (this.isRelational("<") || this.match(18)) { + node.method = true; + + if (protoStart != null) { + this.unexpected(protoStart); + } + + if (variance) { + this.unexpected(variance.start); + } + + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); + + if (kind === "get" || kind === "set") { + this.flowCheckGetterSetterParams(node); + } + + if (!allowSpread && node.key.name === "constructor" && node.value.this) { + this.raise(node.value.this.start, FlowErrors.ThisParamBannedInConstructor); + } + } else { + if (kind !== "init") this.unexpected(); + node.method = false; + + if (this.eat(25)) { + optional = true; + } + + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + } + + node.optional = optional; + return this.finishNode(node, "ObjectTypeProperty"); + } + } + + flowCheckGetterSetterParams(property) { + const paramCount = property.kind === "get" ? 0 : 1; + const start = property.start; + const length = property.value.params.length + (property.value.rest ? 1 : 0); + + if (property.value.this) { + this.raise(property.value.this.start, property.kind === "get" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam); + } + + if (length !== paramCount) { + if (property.kind === "get") { + this.raise(start, ErrorMessages.BadGetterArity); + } else { + this.raise(start, ErrorMessages.BadSetterArity); + } + } + + if (property.kind === "set" && property.value.rest) { + this.raise(start, ErrorMessages.BadSetterRestParameter); + } + } + + flowObjectTypeSemicolon() { + if (!this.eat(21) && !this.eat(20) && !this.match(16) && !this.match(17)) { + this.unexpected(); + } + } + + flowParseQualifiedTypeIdentifier(startPos, startLoc, id) { + startPos = startPos || this.state.start; + startLoc = startLoc || this.state.startLoc; + let node = id || this.flowParseRestrictedIdentifier(true); + + while (this.eat(24)) { + const node2 = this.startNodeAt(startPos, startLoc); + node2.qualification = node; + node2.id = this.flowParseRestrictedIdentifier(true); + node = this.finishNode(node2, "QualifiedTypeIdentifier"); + } + + return node; + } + + flowParseGenericType(startPos, startLoc, id) { + const node = this.startNodeAt(startPos, startLoc); + node.typeParameters = null; + node.id = this.flowParseQualifiedTypeIdentifier(startPos, startLoc, id); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } + + return this.finishNode(node, "GenericTypeAnnotation"); + } + + flowParseTypeofType() { + const node = this.startNode(); + this.expect(86); + node.argument = this.flowParsePrimaryType(); + return this.finishNode(node, "TypeofTypeAnnotation"); + } + + flowParseTupleType() { + const node = this.startNode(); + node.types = []; + this.expect(8); + + while (this.state.pos < this.length && !this.match(11)) { + node.types.push(this.flowParseType()); + if (this.match(11)) break; + this.expect(20); + } + + this.expect(11); + return this.finishNode(node, "TupleTypeAnnotation"); + } + + flowParseFunctionTypeParam(first) { + let name = null; + let optional = false; + let typeAnnotation = null; + const node = this.startNode(); + const lh = this.lookahead(); + const isThis = this.state.type === 77; + + if (lh.type === 22 || lh.type === 25) { + if (isThis && !first) { + this.raise(node.start, FlowErrors.ThisParamMustBeFirst); + } + + name = this.parseIdentifier(isThis); + + if (this.eat(25)) { + optional = true; + + if (isThis) { + this.raise(node.start, FlowErrors.ThisParamMayNotBeOptional); + } + } + + typeAnnotation = this.flowParseTypeInitialiser(); + } else { + typeAnnotation = this.flowParseType(); + } + + node.name = name; + node.optional = optional; + node.typeAnnotation = typeAnnotation; + return this.finishNode(node, "FunctionTypeParam"); + } + + reinterpretTypeAsFunctionTypeParam(type) { + const node = this.startNodeAt(type.start, type.loc.start); + node.name = null; + node.optional = false; + node.typeAnnotation = type; + return this.finishNode(node, "FunctionTypeParam"); + } + + flowParseFunctionTypeParams(params = []) { + let rest = null; + let _this = null; + + if (this.match(77)) { + _this = this.flowParseFunctionTypeParam(true); + _this.name = null; + + if (!this.match(19)) { + this.expect(20); + } + } + + while (!this.match(19) && !this.match(29)) { + params.push(this.flowParseFunctionTypeParam(false)); + + if (!this.match(19)) { + this.expect(20); + } + } + + if (this.eat(29)) { + rest = this.flowParseFunctionTypeParam(false); + } + + return { + params, + rest, + _this + }; + } + + flowIdentToTypeAnnotation(startPos, startLoc, node, id) { + switch (id.name) { + case "any": + return this.finishNode(node, "AnyTypeAnnotation"); + + case "bool": + case "boolean": + return this.finishNode(node, "BooleanTypeAnnotation"); + + case "mixed": + return this.finishNode(node, "MixedTypeAnnotation"); + + case "empty": + return this.finishNode(node, "EmptyTypeAnnotation"); + + case "number": + return this.finishNode(node, "NumberTypeAnnotation"); + + case "string": + return this.finishNode(node, "StringTypeAnnotation"); + + case "symbol": + return this.finishNode(node, "SymbolTypeAnnotation"); + + default: + this.checkNotUnderscore(id.name); + return this.flowParseGenericType(startPos, startLoc, id); + } + } + + flowParsePrimaryType() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const node = this.startNode(); + let tmp; + let type; + let isGroupedType = false; + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + + switch (this.state.type) { + case 5: + if (this.isContextual("interface")) { + return this.flowParseInterfaceType(); + } + + return this.flowIdentToTypeAnnotation(startPos, startLoc, node, this.parseIdentifier()); + + case 13: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: true, + allowProto: false, + allowInexact: true + }); + + case 14: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: true, + allowSpread: true, + allowProto: false, + allowInexact: false + }); + + case 8: + this.state.noAnonFunctionType = false; + type = this.flowParseTupleType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + return type; + + case 50: + if (this.state.value === "<") { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + this.expect(18); + tmp = this.flowParseFunctionTypeParams(); + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(19); + this.expect(27); + node.returnType = this.flowParseType(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + + break; + + case 18: + this.next(); + + if (!this.match(19) && !this.match(29)) { + if (this.match(5) || this.match(77)) { + const token = this.lookahead().type; + isGroupedType = token !== 25 && token !== 22; + } else { + isGroupedType = true; + } + } + + if (isGroupedType) { + this.state.noAnonFunctionType = false; + type = this.flowParseType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + + if (this.state.noAnonFunctionType || !(this.match(20) || this.match(19) && this.lookahead().type === 27)) { + this.expect(19); + return type; + } else { + this.eat(20); + } + } + + if (type) { + tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]); + } else { + tmp = this.flowParseFunctionTypeParams(); + } + + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(19); + this.expect(27); + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + + case 4: + return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); + + case 84: + case 85: + node.value = this.match(84); + this.next(); + return this.finishNode(node, "BooleanLiteralTypeAnnotation"); + + case 52: + if (this.state.value === "-") { + this.next(); + + if (this.match(0)) { + return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node); + } + + if (this.match(1)) { + return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node); + } + + throw this.raise(this.state.start, FlowErrors.UnexpectedSubtractionOperand); + } + + throw this.unexpected(); + + case 0: + return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); + + case 1: + return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); + + case 87: + this.next(); + return this.finishNode(node, "VoidTypeAnnotation"); + + case 83: + this.next(); + return this.finishNode(node, "NullLiteralTypeAnnotation"); + + case 77: + this.next(); + return this.finishNode(node, "ThisTypeAnnotation"); + + case 54: + this.next(); + return this.finishNode(node, "ExistsTypeAnnotation"); + + case 86: + return this.flowParseTypeofType(); + + default: + if (tokenIsKeyword(this.state.type)) { + const label = tokenLabelName(this.state.type); + this.next(); + return super.createIdentifier(node, label); + } + + } + + throw this.unexpected(); + } + + flowParsePostfixType() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let type = this.flowParsePrimaryType(); + let seenOptionalIndexedAccess = false; + + while ((this.match(8) || this.match(26)) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startPos, startLoc); + const optional = this.eat(26); + seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional; + this.expect(8); + + if (!optional && this.match(11)) { + node.elementType = type; + this.next(); + type = this.finishNode(node, "ArrayTypeAnnotation"); + } else { + node.objectType = type; + node.indexType = this.flowParseType(); + this.expect(11); + + if (seenOptionalIndexedAccess) { + node.optional = optional; + type = this.finishNode(node, "OptionalIndexedAccessType"); + } else { + type = this.finishNode(node, "IndexedAccessType"); + } + } + } + + return type; + } + + flowParsePrefixType() { + const node = this.startNode(); + + if (this.eat(25)) { + node.typeAnnotation = this.flowParsePrefixType(); + return this.finishNode(node, "NullableTypeAnnotation"); + } else { + return this.flowParsePostfixType(); + } + } + + flowParseAnonFunctionWithoutParens() { + const param = this.flowParsePrefixType(); + + if (!this.state.noAnonFunctionType && this.eat(27)) { + const node = this.startNodeAt(param.start, param.loc.start); + node.params = [this.reinterpretTypeAsFunctionTypeParam(param)]; + node.rest = null; + node.this = null; + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + } + + return param; + } + + flowParseIntersectionType() { + const node = this.startNode(); + this.eat(48); + const type = this.flowParseAnonFunctionWithoutParens(); + node.types = [type]; + + while (this.eat(48)) { + node.types.push(this.flowParseAnonFunctionWithoutParens()); + } + + return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); + } + + flowParseUnionType() { + const node = this.startNode(); + this.eat(46); + const type = this.flowParseIntersectionType(); + node.types = [type]; + + while (this.eat(46)) { + node.types.push(this.flowParseIntersectionType()); + } + + return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); + } + + flowParseType() { + const oldInType = this.state.inType; + this.state.inType = true; + const type = this.flowParseUnionType(); + this.state.inType = oldInType; + return type; + } + + flowParseTypeOrImplicitInstantiation() { + if (this.state.type === 5 && this.state.value === "_") { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const node = this.parseIdentifier(); + return this.flowParseGenericType(startPos, startLoc, node); + } else { + return this.flowParseType(); + } + } + + flowParseTypeAnnotation() { + const node = this.startNode(); + node.typeAnnotation = this.flowParseTypeInitialiser(); + return this.finishNode(node, "TypeAnnotation"); + } + + flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) { + const ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier(); + + if (this.match(22)) { + ident.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(ident); + } + + return ident; + } + + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.end, node.typeAnnotation.loc.end); + return node.expression; + } + + flowParseVariance() { + let variance = null; + + if (this.match(52)) { + variance = this.startNode(); + + if (this.state.value === "+") { + variance.kind = "plus"; + } else { + variance.kind = "minus"; + } + + this.next(); + this.finishNode(variance, "Variance"); + } + + return variance; + } + + parseFunctionBody(node, allowExpressionBody, isMethod = false) { + if (allowExpressionBody) { + return this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod)); + } + + return super.parseFunctionBody(node, false, isMethod); + } + + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(22)) { + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null; + } + + super.parseFunctionBodyAndFinish(node, type, isMethod); + } + + parseStatement(context, topLevel) { + if (this.state.strict && this.match(5) && this.state.value === "interface") { + const lookahead = this.lookahead(); + + if (lookahead.type === 5 || isKeyword(lookahead.value)) { + const node = this.startNode(); + this.next(); + return this.flowParseInterface(node); + } + } else if (this.shouldParseEnums() && this.isContextual("enum")) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + + const stmt = super.parseStatement(context, topLevel); + + if (this.flowPragma === undefined && !this.isValidDirective(stmt)) { + this.flowPragma = null; + } + + return stmt; + } + + parseExpressionStatement(node, expr) { + if (expr.type === "Identifier") { + if (expr.name === "declare") { + if (this.match(79) || this.match(5) || this.match(67) || this.match(73) || this.match(81)) { + return this.flowParseDeclare(node); + } + } else if (this.match(5)) { + if (expr.name === "interface") { + return this.flowParseInterface(node); + } else if (expr.name === "type") { + return this.flowParseTypeAlias(node); + } else if (expr.name === "opaque") { + return this.flowParseOpaqueType(node, false); + } + } + } + + return super.parseExpressionStatement(node, expr); + } + + shouldParseExportDeclaration() { + return this.isContextual("type") || this.isContextual("interface") || this.isContextual("opaque") || this.shouldParseEnums() && this.isContextual("enum") || super.shouldParseExportDeclaration(); + } + + isExportDefaultSpecifier() { + if (this.match(5) && (this.state.value === "type" || this.state.value === "interface" || this.state.value === "opaque" || this.shouldParseEnums() && this.state.value === "enum")) { + return false; + } + + return super.isExportDefaultSpecifier(); + } + + parseExportDefaultExpression() { + if (this.shouldParseEnums() && this.isContextual("enum")) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + + return super.parseExportDefaultExpression(); + } + + parseConditional(expr, startPos, startLoc, refExpressionErrors) { + if (!this.match(25)) return expr; + + if (this.state.maybeInArrowParameters) { + const nextCh = this.lookaheadCharCode(); + + if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) { + this.setOptionalParametersError(refExpressionErrors); + return expr; + } + } + + this.expect(25); + const state = this.state.clone(); + const originalNoArrowAt = this.state.noArrowAt; + const node = this.startNodeAt(startPos, startLoc); + let { + consequent, + failed + } = this.tryParseConditionalConsequent(); + let [valid, invalid] = this.getArrowLikeExpressions(consequent); + + if (failed || invalid.length > 0) { + const noArrowAt = [...originalNoArrowAt]; + + if (invalid.length > 0) { + this.state = state; + this.state.noArrowAt = noArrowAt; + + for (let i = 0; i < invalid.length; i++) { + noArrowAt.push(invalid[i].start); + } + + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + [valid, invalid] = this.getArrowLikeExpressions(consequent); + } + + if (failed && valid.length > 1) { + this.raise(state.start, FlowErrors.AmbiguousConditionalArrow); + } + + if (failed && valid.length === 1) { + this.state = state; + noArrowAt.push(valid[0].start); + this.state.noArrowAt = noArrowAt; + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + } + } + + this.getArrowLikeExpressions(consequent, true); + this.state.noArrowAt = originalNoArrowAt; + this.expect(22); + node.test = expr; + node.consequent = consequent; + node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined)); + return this.finishNode(node, "ConditionalExpression"); + } + + tryParseConditionalConsequent() { + this.state.noArrowParamsConversionAt.push(this.state.start); + const consequent = this.parseMaybeAssignAllowIn(); + const failed = !this.match(22); + this.state.noArrowParamsConversionAt.pop(); + return { + consequent, + failed + }; + } + + getArrowLikeExpressions(node, disallowInvalid) { + const stack = [node]; + const arrows = []; + + while (stack.length !== 0) { + const node = stack.pop(); + + if (node.type === "ArrowFunctionExpression") { + if (node.typeParameters || !node.returnType) { + this.finishArrowValidation(node); + } else { + arrows.push(node); + } + + stack.push(node.body); + } else if (node.type === "ConditionalExpression") { + stack.push(node.consequent); + stack.push(node.alternate); + } + } + + if (disallowInvalid) { + arrows.forEach(node => this.finishArrowValidation(node)); + return [arrows, []]; + } + + return partition(arrows, node => node.params.every(param => this.isAssignable(param, true))); + } + + finishArrowValidation(node) { + var _node$extra; + + this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingComma, false); + this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW); + super.checkParams(node, false, true); + this.scope.exit(); + } + + forwardNoArrowParamsConversionAt(node, parse) { + let result; + + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + this.state.noArrowParamsConversionAt.push(this.state.start); + result = parse(); + this.state.noArrowParamsConversionAt.pop(); + } else { + result = parse(); + } + + return result; + } + + parseParenItem(node, startPos, startLoc) { + node = super.parseParenItem(node, startPos, startLoc); + + if (this.eat(25)) { + node.optional = true; + this.resetEndLocation(node); + } + + if (this.match(22)) { + const typeCastNode = this.startNodeAt(startPos, startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TypeCastExpression"); + } + + return node; + } + + assertModuleNodeAllowed(node) { + if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") { + return; + } + + super.assertModuleNodeAllowed(node); + } + + parseExport(node) { + const decl = super.parseExport(node); + + if (decl.type === "ExportNamedDeclaration" || decl.type === "ExportAllDeclaration") { + decl.exportKind = decl.exportKind || "value"; + } + + return decl; + } + + parseExportDeclaration(node) { + if (this.isContextual("type")) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + + if (this.match(13)) { + node.specifiers = this.parseExportSpecifiers(); + this.parseExportFrom(node); + return null; + } else { + return this.flowParseTypeAlias(declarationNode); + } + } else if (this.isContextual("opaque")) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseOpaqueType(declarationNode, false); + } else if (this.isContextual("interface")) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseInterface(declarationNode); + } else if (this.shouldParseEnums() && this.isContextual("enum")) { + node.exportKind = "value"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(declarationNode); + } else { + return super.parseExportDeclaration(node); + } + } + + eatExportStar(node) { + if (super.eatExportStar(...arguments)) return true; + + if (this.isContextual("type") && this.lookahead().type === 54) { + node.exportKind = "type"; + this.next(); + this.next(); + return true; + } + + return false; + } + + maybeParseExportNamespaceSpecifier(node) { + const pos = this.state.start; + const hasNamespace = super.maybeParseExportNamespaceSpecifier(node); + + if (hasNamespace && node.exportKind === "type") { + this.unexpected(pos); + } + + return hasNamespace; + } + + parseClassId(node, isStatement, optionalId) { + super.parseClassId(node, isStatement, optionalId); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + } + + parseClassMember(classBody, member, state) { + const pos = this.state.start; + + if (this.isContextual("declare")) { + if (this.parseClassMemberFromModifier(classBody, member)) { + return; + } + + member.declare = true; + } + + super.parseClassMember(classBody, member, state); + + if (member.declare) { + if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty" && member.type !== "PropertyDefinition") { + this.raise(pos, FlowErrors.DeclareClassElement); + } else if (member.value) { + this.raise(member.value.start, FlowErrors.DeclareClassFieldInitializer); + } + } + } + + isIterator(word) { + return word === "iterator" || word === "asyncIterator"; + } + + readIterator() { + const word = super.readWord1(); + const fullWord = "@@" + word; + + if (!this.isIterator(word) || !this.state.inType) { + this.raise(this.state.pos, ErrorMessages.InvalidIdentifier, fullWord); + } + + this.finishToken(5, fullWord); + } + + getTokenFromCode(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 123 && next === 124) { + return this.finishOp(14, 2); + } else if (this.state.inType && (code === 62 || code === 60)) { + return this.finishOp(50, 1); + } else if (this.state.inType && code === 63) { + if (next === 46) { + return this.finishOp(26, 2); + } + + return this.finishOp(25, 1); + } else if (isIteratorStart(code, next)) { + this.state.pos += 2; + return this.readIterator(); + } else { + return super.getTokenFromCode(code); + } + } + + isAssignable(node, isBinding) { + if (node.type === "TypeCastExpression") { + return this.isAssignable(node.expression, isBinding); + } else { + return super.isAssignable(node, isBinding); + } + } + + toAssignable(node, isLHS = false) { + if (node.type === "TypeCastExpression") { + return super.toAssignable(this.typeCastToParameter(node), isLHS); + } else { + return super.toAssignable(node, isLHS); + } + } + + toAssignableList(exprList, trailingCommaPos, isLHS) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; + + if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); + } + } + + return super.toAssignableList(exprList, trailingCommaPos, isLHS); + } + + toReferencedList(exprList, isParenthesizedExpr) { + for (let i = 0; i < exprList.length; i++) { + var _expr$extra; + + const expr = exprList[i]; + + if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) { + this.raise(expr.typeAnnotation.start, FlowErrors.TypeCastInPattern); + } + } + + return exprList; + } + + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors); + + if (canBePattern && !this.state.maybeInArrowParameters) { + this.toReferencedList(node.elements); + } + + return node; + } + + checkLVal(expr, ...args) { + if (expr.type !== "TypeCastExpression") { + return super.checkLVal(expr, ...args); + } + } + + parseClassProperty(node) { + if (this.match(22)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + + return super.parseClassProperty(node); + } + + parseClassPrivateProperty(node) { + if (this.match(22)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + + return super.parseClassPrivateProperty(node); + } + + isClassMethod() { + return this.isRelational("<") || super.isClassMethod(); + } + + isClassProperty() { + return this.match(22) || super.isClassProperty(); + } + + isNonstaticConstructor(method) { + return !this.match(22) && super.isNonstaticConstructor(method); + } + + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + if (method.variance) { + this.unexpected(method.variance.start); + } + + delete method.variance; + + if (this.isRelational("<")) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + + if (method.params && isConstructor) { + const params = method.params; + + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(method.start, FlowErrors.ThisParamBannedInConstructor); + } + } else if (method.type === "MethodDefinition" && isConstructor && method.value.params) { + const params = method.value.params; + + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(method.start, FlowErrors.ThisParamBannedInConstructor); + } + } + } + + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + if (method.variance) { + this.unexpected(method.variance.start); + } + + delete method.variance; + + if (this.isRelational("<")) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + + parseClassSuper(node) { + super.parseClassSuper(node); + + if (node.superClass && this.isRelational("<")) { + node.superTypeParameters = this.flowParseTypeParameterInstantiation(); + } + + if (this.isContextual("implements")) { + this.next(); + const implemented = node.implements = []; + + do { + const node = this.startNode(); + node.id = this.flowParseRestrictedIdentifier(true); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + + implemented.push(this.finishNode(node, "ClassImplements")); + } while (this.eat(20)); + } + } + + checkGetterSetterParams(method) { + super.checkGetterSetterParams(method); + const params = this.getObjectOrClassMethodParams(method); + + if (params.length > 0) { + const param = params[0]; + + if (this.isThisParam(param) && method.kind === "get") { + this.raise(param.start, FlowErrors.GetterMayNotHaveThisParam); + } else if (this.isThisParam(param)) { + this.raise(param.start, FlowErrors.SetterMayNotHaveThisParam); + } + } + } + + parsePropertyName(node, isPrivateNameAllowed) { + const variance = this.flowParseVariance(); + const key = super.parsePropertyName(node, isPrivateNameAllowed); + node.variance = variance; + return key; + } + + parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + if (prop.variance) { + this.unexpected(prop.variance.start); + } + + delete prop.variance; + let typeParameters; + + if (this.isRelational("<") && !isAccessor) { + typeParameters = this.flowParseTypeParameterDeclaration(); + if (!this.match(18)) this.unexpected(); + } + + super.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + + if (typeParameters) { + (prop.value || prop).typeParameters = typeParameters; + } + } + + parseAssignableListItemTypes(param) { + if (this.eat(25)) { + if (param.type !== "Identifier") { + this.raise(param.start, FlowErrors.PatternIsOptional); + } + + if (this.isThisParam(param)) { + this.raise(param.start, FlowErrors.ThisParamMayNotBeOptional); + } + + param.optional = true; + } + + if (this.match(22)) { + param.typeAnnotation = this.flowParseTypeAnnotation(); + } else if (this.isThisParam(param)) { + this.raise(param.start, FlowErrors.ThisParamAnnotationRequired); + } + + if (this.match(35) && this.isThisParam(param)) { + this.raise(param.start, FlowErrors.ThisParamNoDefault); + } + + this.resetEndLocation(param); + return param; + } + + parseMaybeDefault(startPos, startLoc, left) { + const node = super.parseMaybeDefault(startPos, startLoc, left); + + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(node.typeAnnotation.start, FlowErrors.TypeBeforeInitializer); + } + + return node; + } + + shouldParseDefaultImport(node) { + if (!hasTypeImportKind(node)) { + return super.shouldParseDefaultImport(node); + } + + return isMaybeDefaultImport(this.state); + } + + parseImportSpecifierLocal(node, specifier, type, contextDescription) { + specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier(); + this.checkLVal(specifier.local, contextDescription, BIND_LEXICAL); + node.specifiers.push(this.finishNode(specifier, type)); + } + + maybeParseDefaultImportSpecifier(node) { + node.importKind = "value"; + let kind = null; + + if (this.match(86)) { + kind = "typeof"; + } else if (this.isContextual("type")) { + kind = "type"; + } + + if (kind) { + const lh = this.lookahead(); + + if (kind === "type" && lh.type === 54) { + this.unexpected(lh.start); + } + + if (isMaybeDefaultImport(lh) || lh.type === 13 || lh.type === 54) { + this.next(); + node.importKind = kind; + } + } + + return super.maybeParseDefaultImportSpecifier(node); + } + + parseImportSpecifier(node) { + const specifier = this.startNode(); + const firstIdentIsString = this.match(4); + const firstIdent = this.parseModuleExportName(); + let specifierTypeKind = null; + + if (firstIdent.type === "Identifier") { + if (firstIdent.name === "type") { + specifierTypeKind = "type"; + } else if (firstIdent.name === "typeof") { + specifierTypeKind = "typeof"; + } + } + + let isBinding = false; + + if (this.isContextual("as") && !this.isLookaheadContextual("as")) { + const as_ident = this.parseIdentifier(true); + + if (specifierTypeKind !== null && !this.match(5) && !tokenIsKeyword(this.state.type)) { + specifier.imported = as_ident; + specifier.importKind = specifierTypeKind; + specifier.local = cloneIdentifier(as_ident); + } else { + specifier.imported = firstIdent; + specifier.importKind = null; + specifier.local = this.parseIdentifier(); + } + } else { + if (specifierTypeKind !== null && (this.match(5) || tokenIsKeyword(this.state.type))) { + specifier.imported = this.parseIdentifier(true); + specifier.importKind = specifierTypeKind; + } else { + if (firstIdentIsString) { + throw this.raise(specifier.start, ErrorMessages.ImportBindingIsString, firstIdent.value); + } + + specifier.imported = firstIdent; + specifier.importKind = null; + } + + if (this.eatContextual("as")) { + specifier.local = this.parseIdentifier(); + } else { + isBinding = true; + specifier.local = cloneIdentifier(specifier.imported); + } + } + + const nodeIsTypeImport = hasTypeImportKind(node); + const specifierIsTypeImport = hasTypeImportKind(specifier); + + if (nodeIsTypeImport && specifierIsTypeImport) { + this.raise(specifier.start, FlowErrors.ImportTypeShorthandOnlyInPureImport); + } + + if (nodeIsTypeImport || specifierIsTypeImport) { + this.checkReservedType(specifier.local.name, specifier.local.start, true); + } + + if (isBinding && !nodeIsTypeImport && !specifierIsTypeImport) { + this.checkReservedWord(specifier.local.name, specifier.start, true, true); + } + + this.checkLVal(specifier.local, "import specifier", BIND_LEXICAL); + node.specifiers.push(this.finishNode(specifier, "ImportSpecifier")); + } + + parseBindingAtom() { + switch (this.state.type) { + case 77: + return this.parseIdentifier(true); + + default: + return super.parseBindingAtom(); + } + } + + parseFunctionParams(node, allowModifiers) { + const kind = node.kind; + + if (kind !== "get" && kind !== "set" && this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + super.parseFunctionParams(node, allowModifiers); + } + + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + + if (this.match(22)) { + decl.id.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(decl.id); + } + } + + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(22)) { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + node.returnType = this.flowParseTypeAnnotation(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + } + + return super.parseAsyncArrowFromCallExpression(node, call); + } + + shouldParseAsyncArrow() { + return this.match(22) || super.shouldParseAsyncArrow(); + } + + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx; + + let state = null; + let jsx; + + if (this.hasPlugin("jsx") && (this.match(94) || this.isRelational("<"))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const curContext = context[context.length - 1]; + + if (curContext === types.j_oTag) { + context.length -= 2; + } else if (curContext === types.j_expr) { + context.length -= 1; + } + } + + if ((_jsx = jsx) != null && _jsx.error || this.isRelational("<")) { + var _jsx2, _jsx3; + + state = state || this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _arrowExpression$extr; + + typeParameters = this.flowParseTypeParameterDeclaration(); + const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => { + const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + this.resetStartLocationFromNode(result, typeParameters); + return result; + }); + if ((_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) abort(); + const expr = this.maybeUnwrapTypeCastExpression(arrowExpression); + if (expr.type !== "ArrowFunctionExpression") abort(); + expr.typeParameters = typeParameters; + this.resetStartLocationFromNode(expr, typeParameters); + return arrowExpression; + }, state); + let arrowExpression = null; + + if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") { + if (!arrow.error && !arrow.aborted) { + if (arrow.node.async) { + this.raise(typeParameters.start, FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction); + } + + return arrow.node; + } + + arrowExpression = arrow.node; + } + + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + + if (arrowExpression) { + this.state = arrow.failState; + return arrowExpression; + } + + if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + throw this.raise(typeParameters.start, FlowErrors.UnexpectedTokenAfterTypeParameter); + } + + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + + parseArrow(node) { + if (this.match(22)) { + const result = this.tryParse(() => { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.canInsertSemicolon()) this.unexpected(); + if (!this.match(27)) this.unexpected(); + return typeNode; + }); + if (result.thrown) return null; + if (result.error) this.state = result.failState; + node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null; + } + + return super.parseArrow(node); + } + + shouldParseArrow(params) { + return this.match(22) || super.shouldParseArrow(params); + } + + setArrowFunctionParameters(node, params) { + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + node.params = params; + } else { + super.setArrowFunctionParameters(node, params); + } + } + + checkParams(node, allowDuplicates, isArrowFunction) { + if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + return; + } + + for (let i = 0; i < node.params.length; i++) { + if (this.isThisParam(node.params[i]) && i > 0) { + this.raise(node.params[i].start, FlowErrors.ThisParamMustBeFirst); + } + } + + return super.checkParams(...arguments); + } + + parseParenAndDistinguishExpression(canBeArrow) { + return super.parseParenAndDistinguishExpression(canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1); + } + + parseSubscripts(base, startPos, startLoc, noCalls) { + if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startPos) !== -1) { + this.next(); + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + node.arguments = this.parseCallExpressionArguments(19, false); + base = this.finishNode(node, "CallExpression"); + } else if (base.type === "Identifier" && base.name === "async" && this.isRelational("<")) { + const state = this.state.clone(); + const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startPos, startLoc) || abort(), state); + if (!arrow.error && !arrow.aborted) return arrow.node; + const result = this.tryParse(() => super.parseSubscripts(base, startPos, startLoc, noCalls), state); + if (result.node && !result.error) return result.node; + + if (arrow.node) { + this.state = arrow.failState; + return arrow.node; + } + + if (result.node) { + this.state = result.failState; + return result.node; + } + + throw arrow.error || result.error; + } + + return super.parseSubscripts(base, startPos, startLoc, noCalls); + } + + parseSubscript(base, startPos, startLoc, noCalls, subscriptState) { + if (this.match(26) && this.isLookaheadToken_lt()) { + subscriptState.optionalChainMember = true; + + if (noCalls) { + subscriptState.stop = true; + return base; + } + + this.next(); + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + node.typeArguments = this.flowParseTypeParameterInstantiation(); + this.expect(18); + node.arguments = this.parseCallExpressionArguments(19, false); + node.optional = true; + return this.finishCallExpression(node, true); + } else if (!noCalls && this.shouldParseTypes() && this.isRelational("<")) { + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + const result = this.tryParse(() => { + node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(); + this.expect(18); + node.arguments = this.parseCallExpressionArguments(19, false); + if (subscriptState.optionalChainMember) node.optional = false; + return this.finishCallExpression(node, subscriptState.optionalChainMember); + }); + + if (result.node) { + if (result.error) this.state = result.failState; + return result.node; + } + } + + return super.parseSubscript(base, startPos, startLoc, noCalls, subscriptState); + } + + parseNewArguments(node) { + let targs = null; + + if (this.shouldParseTypes() && this.isRelational("<")) { + targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node; + } + + node.typeArguments = targs; + super.parseNewArguments(node); + } + + parseAsyncArrowWithTypeParameters(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + this.parseFunctionParams(node); + if (!this.parseArrow(node)) return; + return this.parseArrowExpression(node, undefined, true); + } + + readToken_mult_modulo(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 42 && next === 47 && this.state.hasFlowComment) { + this.state.hasFlowComment = false; + this.state.pos += 2; + this.nextToken(); + return; + } + + super.readToken_mult_modulo(code); + } + + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 124 && next === 125) { + this.finishOp(17, 2); + return; + } + + super.readToken_pipe_amp(code); + } + + parseTopLevel(file, program) { + const fileNode = super.parseTopLevel(file, program); + + if (this.state.hasFlowComment) { + this.raise(this.state.pos, FlowErrors.UnterminatedFlowComment); + } + + return fileNode; + } + + skipBlockComment() { + if (this.hasPlugin("flowComments") && this.skipFlowComment()) { + if (this.state.hasFlowComment) { + this.unexpected(null, FlowErrors.NestedFlowComment); + } + + this.hasFlowCommentCompletion(); + this.state.pos += this.skipFlowComment(); + this.state.hasFlowComment = true; + return; + } + + if (this.state.hasFlowComment) { + const end = this.input.indexOf("*-/", this.state.pos += 2); + + if (end === -1) { + throw this.raise(this.state.pos - 2, ErrorMessages.UnterminatedComment); + } + + this.state.pos = end + 3; + return; + } + + return super.skipBlockComment(); + } + + skipFlowComment() { + const { + pos + } = this.state; + let shiftToFirstNonWhiteSpace = 2; + + while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) { + shiftToFirstNonWhiteSpace++; + } + + const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos); + const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1); + + if (ch2 === 58 && ch3 === 58) { + return shiftToFirstNonWhiteSpace + 2; + } + + if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") { + return shiftToFirstNonWhiteSpace + 12; + } + + if (ch2 === 58 && ch3 !== 58) { + return shiftToFirstNonWhiteSpace; + } + + return false; + } + + hasFlowCommentCompletion() { + const end = this.input.indexOf("*/", this.state.pos); + + if (end === -1) { + throw this.raise(this.state.pos, ErrorMessages.UnterminatedComment); + } + } + + flowEnumErrorBooleanMemberNotInitialized(pos, { + enumName, + memberName + }) { + this.raise(pos, FlowErrors.EnumBooleanMemberNotInitialized, memberName, enumName); + } + + flowEnumErrorInvalidMemberName(pos, { + enumName, + memberName + }) { + const suggestion = memberName[0].toUpperCase() + memberName.slice(1); + this.raise(pos, FlowErrors.EnumInvalidMemberName, memberName, suggestion, enumName); + } + + flowEnumErrorDuplicateMemberName(pos, { + enumName, + memberName + }) { + this.raise(pos, FlowErrors.EnumDuplicateMemberName, memberName, enumName); + } + + flowEnumErrorInconsistentMemberValues(pos, { + enumName + }) { + this.raise(pos, FlowErrors.EnumInconsistentMemberValues, enumName); + } + + flowEnumErrorInvalidExplicitType(pos, { + enumName, + suppliedType + }) { + return this.raise(pos, suppliedType === null ? FlowErrors.EnumInvalidExplicitTypeUnknownSupplied : FlowErrors.EnumInvalidExplicitType, enumName, suppliedType); + } + + flowEnumErrorInvalidMemberInitializer(pos, { + enumName, + explicitType, + memberName + }) { + let message = null; + + switch (explicitType) { + case "boolean": + case "number": + case "string": + message = FlowErrors.EnumInvalidMemberInitializerPrimaryType; + break; + + case "symbol": + message = FlowErrors.EnumInvalidMemberInitializerSymbolType; + break; + + default: + message = FlowErrors.EnumInvalidMemberInitializerUnknownType; + } + + return this.raise(pos, message, enumName, memberName, explicitType); + } + + flowEnumErrorNumberMemberNotInitialized(pos, { + enumName, + memberName + }) { + this.raise(pos, FlowErrors.EnumNumberMemberNotInitialized, enumName, memberName); + } + + flowEnumErrorStringMemberInconsistentlyInitailized(pos, { + enumName + }) { + this.raise(pos, FlowErrors.EnumStringMemberInconsistentlyInitailized, enumName); + } + + flowEnumMemberInit() { + const startPos = this.state.start; + + const endOfInit = () => this.match(20) || this.match(16); + + switch (this.state.type) { + case 0: + { + const literal = this.parseNumericLiteral(this.state.value); + + if (endOfInit()) { + return { + type: "number", + pos: literal.start, + value: literal + }; + } + + return { + type: "invalid", + pos: startPos + }; + } + + case 4: + { + const literal = this.parseStringLiteral(this.state.value); + + if (endOfInit()) { + return { + type: "string", + pos: literal.start, + value: literal + }; + } + + return { + type: "invalid", + pos: startPos + }; + } + + case 84: + case 85: + { + const literal = this.parseBooleanLiteral(this.match(84)); + + if (endOfInit()) { + return { + type: "boolean", + pos: literal.start, + value: literal + }; + } + + return { + type: "invalid", + pos: startPos + }; + } + + default: + return { + type: "invalid", + pos: startPos + }; + } + } + + flowEnumMemberRaw() { + const pos = this.state.start; + const id = this.parseIdentifier(true); + const init = this.eat(35) ? this.flowEnumMemberInit() : { + type: "none", + pos + }; + return { + id, + init + }; + } + + flowEnumCheckExplicitTypeMismatch(pos, context, expectedType) { + const { + explicitType + } = context; + + if (explicitType === null) { + return; + } + + if (explicitType !== expectedType) { + this.flowEnumErrorInvalidMemberInitializer(pos, context); + } + } + + flowEnumMembers({ + enumName, + explicitType + }) { + const seenNames = new Set(); + const members = { + booleanMembers: [], + numberMembers: [], + stringMembers: [], + defaultedMembers: [] + }; + let hasUnknownMembers = false; + + while (!this.match(16)) { + if (this.eat(29)) { + hasUnknownMembers = true; + break; + } + + const memberNode = this.startNode(); + const { + id, + init + } = this.flowEnumMemberRaw(); + const memberName = id.name; + + if (memberName === "") { + continue; + } + + if (/^[a-z]/.test(memberName)) { + this.flowEnumErrorInvalidMemberName(id.start, { + enumName, + memberName + }); + } + + if (seenNames.has(memberName)) { + this.flowEnumErrorDuplicateMemberName(id.start, { + enumName, + memberName + }); + } + + seenNames.add(memberName); + const context = { + enumName, + explicitType, + memberName + }; + memberNode.id = id; + + switch (init.type) { + case "boolean": + { + this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "boolean"); + memberNode.init = init.value; + members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember")); + break; + } + + case "number": + { + this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "number"); + memberNode.init = init.value; + members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember")); + break; + } + + case "string": + { + this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "string"); + memberNode.init = init.value; + members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember")); + break; + } + + case "invalid": + { + throw this.flowEnumErrorInvalidMemberInitializer(init.pos, context); + } + + case "none": + { + switch (explicitType) { + case "boolean": + this.flowEnumErrorBooleanMemberNotInitialized(init.pos, context); + break; + + case "number": + this.flowEnumErrorNumberMemberNotInitialized(init.pos, context); + break; + + default: + members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember")); + } + } + } + + if (!this.match(16)) { + this.expect(20); + } + } + + return { + members, + hasUnknownMembers + }; + } + + flowEnumStringMembers(initializedMembers, defaultedMembers, { + enumName + }) { + if (initializedMembers.length === 0) { + return defaultedMembers; + } else if (defaultedMembers.length === 0) { + return initializedMembers; + } else if (defaultedMembers.length > initializedMembers.length) { + for (const member of initializedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitailized(member.start, { + enumName + }); + } + + return defaultedMembers; + } else { + for (const member of defaultedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitailized(member.start, { + enumName + }); + } + + return initializedMembers; + } + } + + flowEnumParseExplicitType({ + enumName + }) { + if (this.eatContextual("of")) { + if (!this.match(5)) { + throw this.flowEnumErrorInvalidExplicitType(this.state.start, { + enumName, + suppliedType: null + }); + } + + const { + value + } = this.state; + this.next(); + + if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") { + this.flowEnumErrorInvalidExplicitType(this.state.start, { + enumName, + suppliedType: value + }); + } + + return value; + } + + return null; + } + + flowEnumBody(node, { + enumName, + nameLoc + }) { + const explicitType = this.flowEnumParseExplicitType({ + enumName + }); + this.expect(13); + const { + members, + hasUnknownMembers + } = this.flowEnumMembers({ + enumName, + explicitType + }); + node.hasUnknownMembers = hasUnknownMembers; + + switch (explicitType) { + case "boolean": + node.explicitType = true; + node.members = members.booleanMembers; + this.expect(16); + return this.finishNode(node, "EnumBooleanBody"); + + case "number": + node.explicitType = true; + node.members = members.numberMembers; + this.expect(16); + return this.finishNode(node, "EnumNumberBody"); + + case "string": + node.explicitType = true; + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(16); + return this.finishNode(node, "EnumStringBody"); + + case "symbol": + node.members = members.defaultedMembers; + this.expect(16); + return this.finishNode(node, "EnumSymbolBody"); + + default: + { + const empty = () => { + node.members = []; + this.expect(16); + return this.finishNode(node, "EnumStringBody"); + }; + + node.explicitType = false; + const boolsLen = members.booleanMembers.length; + const numsLen = members.numberMembers.length; + const strsLen = members.stringMembers.length; + const defaultedLen = members.defaultedMembers.length; + + if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { + return empty(); + } else if (!boolsLen && !numsLen) { + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(16); + return this.finishNode(node, "EnumStringBody"); + } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorBooleanMemberNotInitialized(member.start, { + enumName, + memberName: member.id.name + }); + } + + node.members = members.booleanMembers; + this.expect(16); + return this.finishNode(node, "EnumBooleanBody"); + } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorNumberMemberNotInitialized(member.start, { + enumName, + memberName: member.id.name + }); + } + + node.members = members.numberMembers; + this.expect(16); + return this.finishNode(node, "EnumNumberBody"); + } else { + this.flowEnumErrorInconsistentMemberValues(nameLoc, { + enumName + }); + return empty(); + } + } + } + } + + flowParseEnumDeclaration(node) { + const id = this.parseIdentifier(); + node.id = id; + node.body = this.flowEnumBody(this.startNode(), { + enumName: id.name, + nameLoc: id.start + }); + return this.finishNode(node, "EnumDeclaration"); + } + + isLookaheadToken_lt() { + const next = this.nextTokenStart(); + + if (this.input.charCodeAt(next) === 60) { + const afterNext = this.input.charCodeAt(next + 1); + return afterNext !== 60 && afterNext !== 61; + } + + return false; + } + + maybeUnwrapTypeCastExpression(node) { + return node.type === "TypeCastExpression" ? node.expression : node; + } + +}); + +const entities = { + quot: "\u0022", + amp: "&", + apos: "\u0027", + lt: "<", + gt: ">", + nbsp: "\u00A0", + iexcl: "\u00A1", + cent: "\u00A2", + pound: "\u00A3", + curren: "\u00A4", + yen: "\u00A5", + brvbar: "\u00A6", + sect: "\u00A7", + uml: "\u00A8", + copy: "\u00A9", + ordf: "\u00AA", + laquo: "\u00AB", + not: "\u00AC", + shy: "\u00AD", + reg: "\u00AE", + macr: "\u00AF", + deg: "\u00B0", + plusmn: "\u00B1", + sup2: "\u00B2", + sup3: "\u00B3", + acute: "\u00B4", + micro: "\u00B5", + para: "\u00B6", + middot: "\u00B7", + cedil: "\u00B8", + sup1: "\u00B9", + ordm: "\u00BA", + raquo: "\u00BB", + frac14: "\u00BC", + frac12: "\u00BD", + frac34: "\u00BE", + iquest: "\u00BF", + Agrave: "\u00C0", + Aacute: "\u00C1", + Acirc: "\u00C2", + Atilde: "\u00C3", + Auml: "\u00C4", + Aring: "\u00C5", + AElig: "\u00C6", + Ccedil: "\u00C7", + Egrave: "\u00C8", + Eacute: "\u00C9", + Ecirc: "\u00CA", + Euml: "\u00CB", + Igrave: "\u00CC", + Iacute: "\u00CD", + Icirc: "\u00CE", + Iuml: "\u00CF", + ETH: "\u00D0", + Ntilde: "\u00D1", + Ograve: "\u00D2", + Oacute: "\u00D3", + Ocirc: "\u00D4", + Otilde: "\u00D5", + Ouml: "\u00D6", + times: "\u00D7", + Oslash: "\u00D8", + Ugrave: "\u00D9", + Uacute: "\u00DA", + Ucirc: "\u00DB", + Uuml: "\u00DC", + Yacute: "\u00DD", + THORN: "\u00DE", + szlig: "\u00DF", + agrave: "\u00E0", + aacute: "\u00E1", + acirc: "\u00E2", + atilde: "\u00E3", + auml: "\u00E4", + aring: "\u00E5", + aelig: "\u00E6", + ccedil: "\u00E7", + egrave: "\u00E8", + eacute: "\u00E9", + ecirc: "\u00EA", + euml: "\u00EB", + igrave: "\u00EC", + iacute: "\u00ED", + icirc: "\u00EE", + iuml: "\u00EF", + eth: "\u00F0", + ntilde: "\u00F1", + ograve: "\u00F2", + oacute: "\u00F3", + ocirc: "\u00F4", + otilde: "\u00F5", + ouml: "\u00F6", + divide: "\u00F7", + oslash: "\u00F8", + ugrave: "\u00F9", + uacute: "\u00FA", + ucirc: "\u00FB", + uuml: "\u00FC", + yacute: "\u00FD", + thorn: "\u00FE", + yuml: "\u00FF", + OElig: "\u0152", + oelig: "\u0153", + Scaron: "\u0160", + scaron: "\u0161", + Yuml: "\u0178", + fnof: "\u0192", + circ: "\u02C6", + tilde: "\u02DC", + Alpha: "\u0391", + Beta: "\u0392", + Gamma: "\u0393", + Delta: "\u0394", + Epsilon: "\u0395", + Zeta: "\u0396", + Eta: "\u0397", + Theta: "\u0398", + Iota: "\u0399", + Kappa: "\u039A", + Lambda: "\u039B", + Mu: "\u039C", + Nu: "\u039D", + Xi: "\u039E", + Omicron: "\u039F", + Pi: "\u03A0", + Rho: "\u03A1", + Sigma: "\u03A3", + Tau: "\u03A4", + Upsilon: "\u03A5", + Phi: "\u03A6", + Chi: "\u03A7", + Psi: "\u03A8", + Omega: "\u03A9", + alpha: "\u03B1", + beta: "\u03B2", + gamma: "\u03B3", + delta: "\u03B4", + epsilon: "\u03B5", + zeta: "\u03B6", + eta: "\u03B7", + theta: "\u03B8", + iota: "\u03B9", + kappa: "\u03BA", + lambda: "\u03BB", + mu: "\u03BC", + nu: "\u03BD", + xi: "\u03BE", + omicron: "\u03BF", + pi: "\u03C0", + rho: "\u03C1", + sigmaf: "\u03C2", + sigma: "\u03C3", + tau: "\u03C4", + upsilon: "\u03C5", + phi: "\u03C6", + chi: "\u03C7", + psi: "\u03C8", + omega: "\u03C9", + thetasym: "\u03D1", + upsih: "\u03D2", + piv: "\u03D6", + ensp: "\u2002", + emsp: "\u2003", + thinsp: "\u2009", + zwnj: "\u200C", + zwj: "\u200D", + lrm: "\u200E", + rlm: "\u200F", + ndash: "\u2013", + mdash: "\u2014", + lsquo: "\u2018", + rsquo: "\u2019", + sbquo: "\u201A", + ldquo: "\u201C", + rdquo: "\u201D", + bdquo: "\u201E", + dagger: "\u2020", + Dagger: "\u2021", + bull: "\u2022", + hellip: "\u2026", + permil: "\u2030", + prime: "\u2032", + Prime: "\u2033", + lsaquo: "\u2039", + rsaquo: "\u203A", + oline: "\u203E", + frasl: "\u2044", + euro: "\u20AC", + image: "\u2111", + weierp: "\u2118", + real: "\u211C", + trade: "\u2122", + alefsym: "\u2135", + larr: "\u2190", + uarr: "\u2191", + rarr: "\u2192", + darr: "\u2193", + harr: "\u2194", + crarr: "\u21B5", + lArr: "\u21D0", + uArr: "\u21D1", + rArr: "\u21D2", + dArr: "\u21D3", + hArr: "\u21D4", + forall: "\u2200", + part: "\u2202", + exist: "\u2203", + empty: "\u2205", + nabla: "\u2207", + isin: "\u2208", + notin: "\u2209", + ni: "\u220B", + prod: "\u220F", + sum: "\u2211", + minus: "\u2212", + lowast: "\u2217", + radic: "\u221A", + prop: "\u221D", + infin: "\u221E", + ang: "\u2220", + and: "\u2227", + or: "\u2228", + cap: "\u2229", + cup: "\u222A", + int: "\u222B", + there4: "\u2234", + sim: "\u223C", + cong: "\u2245", + asymp: "\u2248", + ne: "\u2260", + equiv: "\u2261", + le: "\u2264", + ge: "\u2265", + sub: "\u2282", + sup: "\u2283", + nsub: "\u2284", + sube: "\u2286", + supe: "\u2287", + oplus: "\u2295", + otimes: "\u2297", + perp: "\u22A5", + sdot: "\u22C5", + lceil: "\u2308", + rceil: "\u2309", + lfloor: "\u230A", + rfloor: "\u230B", + lang: "\u2329", + rang: "\u232A", + loz: "\u25CA", + spades: "\u2660", + clubs: "\u2663", + hearts: "\u2665", + diams: "\u2666" +}; + +const HEX_NUMBER = /^[\da-fA-F]+$/; +const DECIMAL_NUMBER = /^\d+$/; +const JsxErrors = makeErrorTemplates({ + AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.", + MissingClosingTagElement: "Expected corresponding JSX closing tag for <%0>.", + MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.", + UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?", + UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.", + UnterminatedJsxContent: "Unterminated JSX contents.", + UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?" +}, ErrorCodes.SyntaxError, "jsx"); +types.j_oTag = new TokContext("...", true); + +function isFragment(object) { + return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false; +} + +function getQualifiedJSXName(object) { + if (object.type === "JSXIdentifier") { + return object.name; + } + + if (object.type === "JSXNamespacedName") { + return object.namespace.name + ":" + object.name.name; + } + + if (object.type === "JSXMemberExpression") { + return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property); + } + + throw new Error("Node had unexpected type: " + object.type); +} + +var jsx = (superClass => class extends superClass { + jsxReadToken() { + let out = ""; + let chunkStart = this.state.pos; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(this.state.start, JsxErrors.UnterminatedJsxContent); + } + + const ch = this.input.charCodeAt(this.state.pos); + + switch (ch) { + case 60: + case 123: + if (this.state.pos === this.state.start) { + if (ch === 60 && this.state.exprAllowed) { + ++this.state.pos; + return this.finishToken(94); + } + + return super.getTokenFromCode(ch); + } + + out += this.input.slice(chunkStart, this.state.pos); + return this.finishToken(93, out); + + case 38: + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + break; + + case 62: + case 125: + + default: + if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(true); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + + } + } + } + + jsxReadNewLine(normalizeCRLF) { + const ch = this.input.charCodeAt(this.state.pos); + let out; + ++this.state.pos; + + if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + out = normalizeCRLF ? "\n" : "\r\n"; + } else { + out = String.fromCharCode(ch); + } + + ++this.state.curLine; + this.state.lineStart = this.state.pos; + return out; + } + + jsxReadString(quote) { + let out = ""; + let chunkStart = ++this.state.pos; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(this.state.start, ErrorMessages.UnterminatedString); + } + + const ch = this.input.charCodeAt(this.state.pos); + if (ch === quote) break; + + if (ch === 38) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(false); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + + out += this.input.slice(chunkStart, this.state.pos++); + return this.finishToken(4, out); + } + + jsxReadEntity() { + let str = ""; + let count = 0; + let entity; + let ch = this.input[this.state.pos]; + const startPos = ++this.state.pos; + + while (this.state.pos < this.length && count++ < 10) { + ch = this.input[this.state.pos++]; + + if (ch === ";") { + if (str[0] === "#") { + if (str[1] === "x") { + str = str.substr(2); + + if (HEX_NUMBER.test(str)) { + entity = String.fromCodePoint(parseInt(str, 16)); + } + } else { + str = str.substr(1); + + if (DECIMAL_NUMBER.test(str)) { + entity = String.fromCodePoint(parseInt(str, 10)); + } + } + } else { + entity = entities[str]; + } + + break; + } + + str += ch; + } + + if (!entity) { + this.state.pos = startPos; + return "&"; + } + + return entity; + } + + jsxReadWord() { + let ch; + const start = this.state.pos; + + do { + ch = this.input.charCodeAt(++this.state.pos); + } while (isIdentifierChar(ch) || ch === 45); + + return this.finishToken(92, this.input.slice(start, this.state.pos)); + } + + jsxParseIdentifier() { + const node = this.startNode(); + + if (this.match(92)) { + node.name = this.state.value; + } else if (tokenIsKeyword(this.state.type)) { + node.name = tokenLabelName(this.state.type); + } else { + this.unexpected(); + } + + this.next(); + return this.finishNode(node, "JSXIdentifier"); + } + + jsxParseNamespacedName() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const name = this.jsxParseIdentifier(); + if (!this.eat(22)) return name; + const node = this.startNodeAt(startPos, startLoc); + node.namespace = name; + node.name = this.jsxParseIdentifier(); + return this.finishNode(node, "JSXNamespacedName"); + } + + jsxParseElementName() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let node = this.jsxParseNamespacedName(); + + if (node.type === "JSXNamespacedName") { + return node; + } + + while (this.eat(24)) { + const newNode = this.startNodeAt(startPos, startLoc); + newNode.object = node; + newNode.property = this.jsxParseIdentifier(); + node = this.finishNode(newNode, "JSXMemberExpression"); + } + + return node; + } + + jsxParseAttributeValue() { + let node; + + switch (this.state.type) { + case 13: + node = this.startNode(); + this.next(); + node = this.jsxParseExpressionContainer(node); + + if (node.expression.type === "JSXEmptyExpression") { + this.raise(node.start, JsxErrors.AttributeIsEmpty); + } + + return node; + + case 94: + case 4: + return this.parseExprAtom(); + + default: + throw this.raise(this.state.start, JsxErrors.UnsupportedJsxValue); + } + } + + jsxParseEmptyExpression() { + const node = this.startNodeAt(this.state.lastTokEnd, this.state.lastTokEndLoc); + return this.finishNodeAt(node, "JSXEmptyExpression", this.state.start, this.state.startLoc); + } + + jsxParseSpreadChild(node) { + this.next(); + node.expression = this.parseExpression(); + this.expect(16); + return this.finishNode(node, "JSXSpreadChild"); + } + + jsxParseExpressionContainer(node) { + if (this.match(16)) { + node.expression = this.jsxParseEmptyExpression(); + } else { + const expression = this.parseExpression(); + node.expression = expression; + } + + this.expect(16); + return this.finishNode(node, "JSXExpressionContainer"); + } + + jsxParseAttribute() { + const node = this.startNode(); + + if (this.eat(13)) { + this.expect(29); + node.argument = this.parseMaybeAssignAllowIn(); + this.expect(16); + return this.finishNode(node, "JSXSpreadAttribute"); + } + + node.name = this.jsxParseNamespacedName(); + node.value = this.eat(35) ? this.jsxParseAttributeValue() : null; + return this.finishNode(node, "JSXAttribute"); + } + + jsxParseOpeningElementAt(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + + if (this.match(95)) { + this.expect(95); + return this.finishNode(node, "JSXOpeningFragment"); + } + + node.name = this.jsxParseElementName(); + return this.jsxParseOpeningElementAfterName(node); + } + + jsxParseOpeningElementAfterName(node) { + const attributes = []; + + while (!this.match(55) && !this.match(95)) { + attributes.push(this.jsxParseAttribute()); + } + + node.attributes = attributes; + node.selfClosing = this.eat(55); + this.expect(95); + return this.finishNode(node, "JSXOpeningElement"); + } + + jsxParseClosingElementAt(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + + if (this.match(95)) { + this.expect(95); + return this.finishNode(node, "JSXClosingFragment"); + } + + node.name = this.jsxParseElementName(); + this.expect(95); + return this.finishNode(node, "JSXClosingElement"); + } + + jsxParseElementAt(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + const children = []; + const openingElement = this.jsxParseOpeningElementAt(startPos, startLoc); + let closingElement = null; + + if (!openingElement.selfClosing) { + contents: for (;;) { + switch (this.state.type) { + case 94: + startPos = this.state.start; + startLoc = this.state.startLoc; + this.next(); + + if (this.eat(55)) { + closingElement = this.jsxParseClosingElementAt(startPos, startLoc); + break contents; + } + + children.push(this.jsxParseElementAt(startPos, startLoc)); + break; + + case 93: + children.push(this.parseExprAtom()); + break; + + case 13: + { + const node = this.startNode(); + this.next(); + + if (this.match(29)) { + children.push(this.jsxParseSpreadChild(node)); + } else { + children.push(this.jsxParseExpressionContainer(node)); + } + + break; + } + + default: + throw this.unexpected(); + } + } + + if (isFragment(openingElement) && !isFragment(closingElement)) { + this.raise(closingElement.start, JsxErrors.MissingClosingTagFragment); + } else if (!isFragment(openingElement) && isFragment(closingElement)) { + this.raise(closingElement.start, JsxErrors.MissingClosingTagElement, getQualifiedJSXName(openingElement.name)); + } else if (!isFragment(openingElement) && !isFragment(closingElement)) { + if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) { + this.raise(closingElement.start, JsxErrors.MissingClosingTagElement, getQualifiedJSXName(openingElement.name)); + } + } + } + + if (isFragment(openingElement)) { + node.openingFragment = openingElement; + node.closingFragment = closingElement; + } else { + node.openingElement = openingElement; + node.closingElement = closingElement; + } + + node.children = children; + + if (this.isRelational("<")) { + throw this.raise(this.state.start, JsxErrors.UnwrappedAdjacentJSXElements); + } + + return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement"); + } + + jsxParseElement() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + this.next(); + return this.jsxParseElementAt(startPos, startLoc); + } + + parseExprAtom(refExpressionErrors) { + if (this.match(93)) { + return this.parseLiteral(this.state.value, "JSXText"); + } else if (this.match(94)) { + return this.jsxParseElement(); + } else if (this.isRelational("<") && this.input.charCodeAt(this.state.pos) !== 33) { + this.finishToken(94); + return this.jsxParseElement(); + } else { + return super.parseExprAtom(refExpressionErrors); + } + } + + createLookaheadState(state) { + const lookaheadState = super.createLookaheadState(state); + lookaheadState.inPropertyName = state.inPropertyName; + return lookaheadState; + } + + getTokenFromCode(code) { + if (this.state.inPropertyName) return super.getTokenFromCode(code); + const context = this.curContext(); + + if (context === types.j_expr) { + return this.jsxReadToken(); + } + + if (context === types.j_oTag || context === types.j_cTag) { + if (isIdentifierStart(code)) { + return this.jsxReadWord(); + } + + if (code === 62) { + ++this.state.pos; + return this.finishToken(95); + } + + if ((code === 34 || code === 39) && context === types.j_oTag) { + return this.jsxReadString(code); + } + } + + if (code === 60 && this.state.exprAllowed && this.input.charCodeAt(this.state.pos + 1) !== 33) { + ++this.state.pos; + return this.finishToken(94); + } + + return super.getTokenFromCode(code); + } + + updateContext(prevType) { + super.updateContext(prevType); + const { + context, + type + } = this.state; + + if (type === 55 && prevType === 94) { + context.splice(-2, 2, types.j_cTag); + this.state.exprAllowed = false; + } else if (type === 94) { + context.push(types.j_expr, types.j_oTag); + } else if (type === 95) { + const out = context.pop(); + + if (out === types.j_oTag && prevType === 55 || out === types.j_cTag) { + context.pop(); + this.state.exprAllowed = context[context.length - 1] === types.j_expr; + } else { + this.state.exprAllowed = true; + } + } else if (tokenIsKeyword(type) && (prevType === 24 || prevType === 26)) { + this.state.exprAllowed = false; + } else { + this.state.exprAllowed = tokenComesBeforeExpression(type); + } + } + +}); + +class TypeScriptScope extends Scope { + constructor(...args) { + super(...args); + this.types = new Set(); + this.enums = new Set(); + this.constEnums = new Set(); + this.classes = new Set(); + this.exportOnlyBindings = new Set(); + } + +} + +class TypeScriptScopeHandler extends ScopeHandler { + createScope(flags) { + return new TypeScriptScope(flags); + } + + declareName(name, bindingType, pos) { + const scope = this.currentScope(); + + if (bindingType & BIND_FLAGS_TS_EXPORT_ONLY) { + this.maybeExportDefined(scope, name); + scope.exportOnlyBindings.add(name); + return; + } + + super.declareName(...arguments); + + if (bindingType & BIND_KIND_TYPE) { + if (!(bindingType & BIND_KIND_VALUE)) { + this.checkRedeclarationInScope(scope, name, bindingType, pos); + this.maybeExportDefined(scope, name); + } + + scope.types.add(name); + } + + if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.add(name); + if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.add(name); + if (bindingType & BIND_FLAGS_CLASS) scope.classes.add(name); + } + + isRedeclaredInScope(scope, name, bindingType) { + if (scope.enums.has(name)) { + if (bindingType & BIND_FLAGS_TS_ENUM) { + const isConst = !!(bindingType & BIND_FLAGS_TS_CONST_ENUM); + const wasConst = scope.constEnums.has(name); + return isConst !== wasConst; + } + + return true; + } + + if (bindingType & BIND_FLAGS_CLASS && scope.classes.has(name)) { + if (scope.lexical.has(name)) { + return !!(bindingType & BIND_KIND_VALUE); + } else { + return false; + } + } + + if (bindingType & BIND_KIND_TYPE && scope.types.has(name)) { + return true; + } + + return super.isRedeclaredInScope(...arguments); + } + + checkLocalExport(id) { + const topLevelScope = this.scopeStack[0]; + const { + name + } = id; + + if (!topLevelScope.types.has(name) && !topLevelScope.exportOnlyBindings.has(name)) { + super.checkLocalExport(id); + } + } + +} + +function nonNull(x) { + if (x == null) { + throw new Error(`Unexpected ${x} value.`); + } + + return x; +} + +function assert(x) { + if (!x) { + throw new Error("Assert fail"); + } +} + +const TSErrors = makeErrorTemplates({ + AbstractMethodHasImplementation: "Method '%0' cannot have an implementation because it is marked abstract.", + AbstractPropertyHasInitializer: "Property '%0' cannot have an initializer because it is marked abstract.", + AccesorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.", + AccesorCannotHaveTypeParameters: "An accessor cannot have type parameters.", + ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.", + ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.", + ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.", + DeclareAccessor: "'declare' is not allowed in %0ters.", + DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.", + DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.", + DuplicateAccessibilityModifier: "Accessibility modifier already seen.", + DuplicateModifier: "Duplicate modifier: '%0'.", + EmptyHeritageClauseType: "'%0' list cannot be empty.", + EmptyTypeArguments: "Type argument list cannot be empty.", + EmptyTypeParameters: "Type parameter list cannot be empty.", + ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.", + ImportAliasHasImportType: "An import alias can not use 'import type'.", + IncompatibleModifiers: "'%0' modifier cannot be used with '%1' modifier.", + IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.", + IndexSignatureHasAccessibility: "Index signatures cannot have an accessibility modifier ('%0').", + IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.", + IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.", + IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.", + InvalidModifierOnTypeMember: "'%0' modifier cannot appear on a type member.", + InvalidModifiersOrder: "'%0' modifier must precede '%1' modifier.", + InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.", + MissingInterfaceName: "'interface' declarations must be followed by an identifier.", + MixedLabeledAndUnlabeledElements: "Tuple members must all have names or all not have names.", + NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.", + NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.", + OptionalTypeBeforeRequired: "A required element cannot follow an optional element.", + OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.", + PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.", + PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.", + PrivateElementHasAccessibility: "Private elements cannot have an accessibility modifier ('%0').", + ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.", + SetAccesorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.", + SetAccesorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.", + SetAccesorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.", + StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.", + TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.", + UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.", + UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.", + UnexpectedTypeAnnotation: "Did not expect a type annotation here.", + UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.", + UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.", + UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.", + UnsupportedSignatureParameterKind: "Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0." +}, ErrorCodes.SyntaxError, "typescript"); + +function keywordTypeFromName(value) { + switch (value) { + case "any": + return "TSAnyKeyword"; + + case "boolean": + return "TSBooleanKeyword"; + + case "bigint": + return "TSBigIntKeyword"; + + case "never": + return "TSNeverKeyword"; + + case "number": + return "TSNumberKeyword"; + + case "object": + return "TSObjectKeyword"; + + case "string": + return "TSStringKeyword"; + + case "symbol": + return "TSSymbolKeyword"; + + case "undefined": + return "TSUndefinedKeyword"; + + case "unknown": + return "TSUnknownKeyword"; + + default: + return undefined; + } +} + +function tsIsAccessModifier(modifier) { + return modifier === "private" || modifier === "public" || modifier === "protected"; +} + +var typescript = (superClass => class extends superClass { + getScopeHandler() { + return TypeScriptScopeHandler; + } + + tsIsIdentifier() { + return this.match(5); + } + + tsTokenCanFollowModifier() { + return (this.match(8) || this.match(13) || this.match(54) || this.match(29) || this.match(6) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak(); + } + + tsNextTokenCanFollowModifier() { + this.next(); + return this.tsTokenCanFollowModifier(); + } + + tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock) { + if (!this.match(5)) { + return undefined; + } + + const modifier = this.state.value; + + if (allowedModifiers.indexOf(modifier) !== -1) { + if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) { + return undefined; + } + + if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) { + return modifier; + } + } + + return undefined; + } + + tsParseModifiers(modified, allowedModifiers, disallowedModifiers, errorTemplate, stopOnStartOfClassStaticBlock) { + const enforceOrder = (pos, modifier, before, after) => { + if (modifier === before && modified[after]) { + this.raise(pos, TSErrors.InvalidModifiersOrder, before, after); + } + }; + + const incompatible = (pos, modifier, mod1, mod2) => { + if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) { + this.raise(pos, TSErrors.IncompatibleModifiers, mod1, mod2); + } + }; + + for (;;) { + const startPos = this.state.start; + const modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []), stopOnStartOfClassStaticBlock); + if (!modifier) break; + + if (tsIsAccessModifier(modifier)) { + if (modified.accessibility) { + this.raise(startPos, TSErrors.DuplicateAccessibilityModifier); + } else { + enforceOrder(startPos, modifier, modifier, "override"); + enforceOrder(startPos, modifier, modifier, "static"); + enforceOrder(startPos, modifier, modifier, "readonly"); + modified.accessibility = modifier; + } + } else { + if (Object.hasOwnProperty.call(modified, modifier)) { + this.raise(startPos, TSErrors.DuplicateModifier, modifier); + } else { + enforceOrder(startPos, modifier, "static", "readonly"); + enforceOrder(startPos, modifier, "static", "override"); + enforceOrder(startPos, modifier, "override", "readonly"); + enforceOrder(startPos, modifier, "abstract", "override"); + incompatible(startPos, modifier, "declare", "override"); + incompatible(startPos, modifier, "static", "abstract"); + } + + modified[modifier] = true; + } + + if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) { + this.raise(startPos, errorTemplate, modifier); + } + } + } + + tsIsListTerminator(kind) { + switch (kind) { + case "EnumMembers": + case "TypeMembers": + return this.match(16); + + case "HeritageClauseElement": + return this.match(13); + + case "TupleElementTypes": + return this.match(11); + + case "TypeParametersOrArguments": + return this.isRelational(">"); + } + + throw new Error("Unreachable"); + } + + tsParseList(kind, parseElement) { + const result = []; + + while (!this.tsIsListTerminator(kind)) { + result.push(parseElement()); + } + + return result; + } + + tsParseDelimitedList(kind, parseElement) { + return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true)); + } + + tsParseDelimitedListWorker(kind, parseElement, expectSuccess) { + const result = []; + + for (;;) { + if (this.tsIsListTerminator(kind)) { + break; + } + + const element = parseElement(); + + if (element == null) { + return undefined; + } + + result.push(element); + + if (this.eat(20)) { + continue; + } + + if (this.tsIsListTerminator(kind)) { + break; + } + + if (expectSuccess) { + this.expect(20); + } + + return undefined; + } + + return result; + } + + tsParseBracketedList(kind, parseElement, bracket, skipFirstToken) { + if (!skipFirstToken) { + if (bracket) { + this.expect(8); + } else { + this.expectRelational("<"); + } + } + + const result = this.tsParseDelimitedList(kind, parseElement); + + if (bracket) { + this.expect(11); + } else { + this.expectRelational(">"); + } + + return result; + } + + tsParseImportType() { + const node = this.startNode(); + this.expect(82); + this.expect(18); + + if (!this.match(4)) { + this.raise(this.state.start, TSErrors.UnsupportedImportTypeArgument); + } + + node.argument = this.parseExprAtom(); + this.expect(19); + + if (this.eat(24)) { + node.qualifier = this.tsParseEntityName(true); + } + + if (this.isRelational("<")) { + node.typeParameters = this.tsParseTypeArguments(); + } + + return this.finishNode(node, "TSImportType"); + } + + tsParseEntityName(allowReservedWords) { + let entity = this.parseIdentifier(); + + while (this.eat(24)) { + const node = this.startNodeAtNode(entity); + node.left = entity; + node.right = this.parseIdentifier(allowReservedWords); + entity = this.finishNode(node, "TSQualifiedName"); + } + + return entity; + } + + tsParseTypeReference() { + const node = this.startNode(); + node.typeName = this.tsParseEntityName(false); + + if (!this.hasPrecedingLineBreak() && this.isRelational("<")) { + node.typeParameters = this.tsParseTypeArguments(); + } + + return this.finishNode(node, "TSTypeReference"); + } + + tsParseThisTypePredicate(lhs) { + this.next(); + const node = this.startNodeAtNode(lhs); + node.parameterName = lhs; + node.typeAnnotation = this.tsParseTypeAnnotation(false); + node.asserts = false; + return this.finishNode(node, "TSTypePredicate"); + } + + tsParseThisTypeNode() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSThisType"); + } + + tsParseTypeQuery() { + const node = this.startNode(); + this.expect(86); + + if (this.match(82)) { + node.exprName = this.tsParseImportType(); + } else { + node.exprName = this.tsParseEntityName(true); + } + + return this.finishNode(node, "TSTypeQuery"); + } + + tsParseTypeParameter() { + const node = this.startNode(); + node.name = this.tsParseTypeParameterName(); + node.constraint = this.tsEatThenParseType(80); + node.default = this.tsEatThenParseType(35); + return this.finishNode(node, "TSTypeParameter"); + } + + tsTryParseTypeParameters() { + if (this.isRelational("<")) { + return this.tsParseTypeParameters(); + } + } + + tsParseTypeParameters() { + const node = this.startNode(); + + if (this.isRelational("<") || this.match(94)) { + this.next(); + } else { + this.unexpected(); + } + + node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this), false, true); + + if (node.params.length === 0) { + this.raise(node.start, TSErrors.EmptyTypeParameters); + } + + return this.finishNode(node, "TSTypeParameterDeclaration"); + } + + tsTryNextParseConstantContext() { + if (this.lookahead().type === 74) { + this.next(); + return this.tsParseTypeReference(); + } + + return null; + } + + tsFillSignature(returnToken, signature) { + const returnTokenRequired = returnToken === 27; + signature.typeParameters = this.tsTryParseTypeParameters(); + this.expect(18); + signature.parameters = this.tsParseBindingListForSignature(); + + if (returnTokenRequired) { + signature.typeAnnotation = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } else if (this.match(returnToken)) { + signature.typeAnnotation = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } + } + + tsParseBindingListForSignature() { + return this.parseBindingList(19, 41).map(pattern => { + if (pattern.type !== "Identifier" && pattern.type !== "RestElement" && pattern.type !== "ObjectPattern" && pattern.type !== "ArrayPattern") { + this.raise(pattern.start, TSErrors.UnsupportedSignatureParameterKind, pattern.type); + } + + return pattern; + }); + } + + tsParseTypeMemberSemicolon() { + if (!this.eat(20) && !this.isLineTerminator()) { + this.expect(21); + } + } + + tsParseSignatureMember(kind, node) { + this.tsFillSignature(22, node); + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, kind); + } + + tsIsUnambiguouslyIndexSignature() { + this.next(); + return this.eat(5) && this.match(22); + } + + tsTryParseIndexSignature(node) { + if (!(this.match(8) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) { + return undefined; + } + + this.expect(8); + const id = this.parseIdentifier(); + id.typeAnnotation = this.tsParseTypeAnnotation(); + this.resetEndLocation(id); + this.expect(11); + node.parameters = [id]; + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, "TSIndexSignature"); + } + + tsParsePropertyOrMethodSignature(node, readonly) { + if (this.eat(25)) node.optional = true; + const nodeAny = node; + + if (this.match(18) || this.isRelational("<")) { + if (readonly) { + this.raise(node.start, TSErrors.ReadonlyForMethodSignature); + } + + const method = nodeAny; + + if (method.kind && this.isRelational("<")) { + this.raise(this.state.pos, TSErrors.AccesorCannotHaveTypeParameters); + } + + this.tsFillSignature(22, method); + this.tsParseTypeMemberSemicolon(); + + if (method.kind === "get") { + if (method.parameters.length > 0) { + this.raise(this.state.pos, ErrorMessages.BadGetterArity); + + if (this.isThisParam(method.parameters[0])) { + this.raise(this.state.pos, TSErrors.AccesorCannotDeclareThisParameter); + } + } + } else if (method.kind === "set") { + if (method.parameters.length !== 1) { + this.raise(this.state.pos, ErrorMessages.BadSetterArity); + } else { + const firstParameter = method.parameters[0]; + + if (this.isThisParam(firstParameter)) { + this.raise(this.state.pos, TSErrors.AccesorCannotDeclareThisParameter); + } + + if (firstParameter.type === "Identifier" && firstParameter.optional) { + this.raise(this.state.pos, TSErrors.SetAccesorCannotHaveOptionalParameter); + } + + if (firstParameter.type === "RestElement") { + this.raise(this.state.pos, TSErrors.SetAccesorCannotHaveRestParameter); + } + } + + if (method.typeAnnotation) { + this.raise(method.typeAnnotation.start, TSErrors.SetAccesorCannotHaveReturnType); + } + } else { + method.kind = "method"; + } + + return this.finishNode(method, "TSMethodSignature"); + } else { + const property = nodeAny; + if (readonly) property.readonly = true; + const type = this.tsTryParseTypeAnnotation(); + if (type) property.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(property, "TSPropertySignature"); + } + } + + tsParseTypeMember() { + const node = this.startNode(); + + if (this.match(18) || this.isRelational("<")) { + return this.tsParseSignatureMember("TSCallSignatureDeclaration", node); + } + + if (this.match(76)) { + const id = this.startNode(); + this.next(); + + if (this.match(18) || this.isRelational("<")) { + return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node); + } else { + node.key = this.createIdentifier(id, "new"); + return this.tsParsePropertyOrMethodSignature(node, false); + } + } + + this.tsParseModifiers(node, ["readonly"], ["declare", "abstract", "private", "protected", "public", "static", "override"], TSErrors.InvalidModifierOnTypeMember); + const idx = this.tsTryParseIndexSignature(node); + + if (idx) { + return idx; + } + + this.parsePropertyName(node, false); + + if (!node.computed && node.key.type === "Identifier" && (node.key.name === "get" || node.key.name === "set") && this.tsTokenCanFollowModifier()) { + node.kind = node.key.name; + this.parsePropertyName(node, false); + } + + return this.tsParsePropertyOrMethodSignature(node, !!node.readonly); + } + + tsParseTypeLiteral() { + const node = this.startNode(); + node.members = this.tsParseObjectTypeMembers(); + return this.finishNode(node, "TSTypeLiteral"); + } + + tsParseObjectTypeMembers() { + this.expect(13); + const members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this)); + this.expect(16); + return members; + } + + tsIsStartOfMappedType() { + this.next(); + + if (this.eat(52)) { + return this.isContextual("readonly"); + } + + if (this.isContextual("readonly")) { + this.next(); + } + + if (!this.match(8)) { + return false; + } + + this.next(); + + if (!this.tsIsIdentifier()) { + return false; + } + + this.next(); + return this.match(57); + } + + tsParseMappedTypeParameter() { + const node = this.startNode(); + node.name = this.tsParseTypeParameterName(); + node.constraint = this.tsExpectThenParseType(57); + return this.finishNode(node, "TSTypeParameter"); + } + + tsParseMappedType() { + const node = this.startNode(); + this.expect(13); + + if (this.match(52)) { + node.readonly = this.state.value; + this.next(); + this.expectContextual("readonly"); + } else if (this.eatContextual("readonly")) { + node.readonly = true; + } + + this.expect(8); + node.typeParameter = this.tsParseMappedTypeParameter(); + node.nameType = this.eatContextual("as") ? this.tsParseType() : null; + this.expect(11); + + if (this.match(52)) { + node.optional = this.state.value; + this.next(); + this.expect(25); + } else if (this.eat(25)) { + node.optional = true; + } + + node.typeAnnotation = this.tsTryParseType(); + this.semicolon(); + this.expect(16); + return this.finishNode(node, "TSMappedType"); + } + + tsParseTupleType() { + const node = this.startNode(); + node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false); + let seenOptionalElement = false; + let labeledElements = null; + node.elementTypes.forEach(elementNode => { + var _labeledElements; + + let { + type + } = elementNode; + + if (seenOptionalElement && type !== "TSRestType" && type !== "TSOptionalType" && !(type === "TSNamedTupleMember" && elementNode.optional)) { + this.raise(elementNode.start, TSErrors.OptionalTypeBeforeRequired); + } + + seenOptionalElement = seenOptionalElement || type === "TSNamedTupleMember" && elementNode.optional || type === "TSOptionalType"; + + if (type === "TSRestType") { + elementNode = elementNode.typeAnnotation; + type = elementNode.type; + } + + const isLabeled = type === "TSNamedTupleMember"; + labeledElements = (_labeledElements = labeledElements) != null ? _labeledElements : isLabeled; + + if (labeledElements !== isLabeled) { + this.raise(elementNode.start, TSErrors.MixedLabeledAndUnlabeledElements); + } + }); + return this.finishNode(node, "TSTupleType"); + } + + tsParseTupleElementType() { + const { + start: startPos, + startLoc + } = this.state; + const rest = this.eat(29); + let type = this.tsParseType(); + const optional = this.eat(25); + const labeled = this.eat(22); + + if (labeled) { + const labeledNode = this.startNodeAtNode(type); + labeledNode.optional = optional; + + if (type.type === "TSTypeReference" && !type.typeParameters && type.typeName.type === "Identifier") { + labeledNode.label = type.typeName; + } else { + this.raise(type.start, TSErrors.InvalidTupleMemberLabel); + labeledNode.label = type; + } + + labeledNode.elementType = this.tsParseType(); + type = this.finishNode(labeledNode, "TSNamedTupleMember"); + } else if (optional) { + const optionalTypeNode = this.startNodeAtNode(type); + optionalTypeNode.typeAnnotation = type; + type = this.finishNode(optionalTypeNode, "TSOptionalType"); + } + + if (rest) { + const restNode = this.startNodeAt(startPos, startLoc); + restNode.typeAnnotation = type; + type = this.finishNode(restNode, "TSRestType"); + } + + return type; + } + + tsParseParenthesizedType() { + const node = this.startNode(); + this.expect(18); + node.typeAnnotation = this.tsParseType(); + this.expect(19); + return this.finishNode(node, "TSParenthesizedType"); + } + + tsParseFunctionOrConstructorType(type, abstract) { + const node = this.startNode(); + + if (type === "TSConstructorType") { + node.abstract = !!abstract; + if (abstract) this.next(); + this.next(); + } + + this.tsFillSignature(27, node); + return this.finishNode(node, type); + } + + tsParseLiteralTypeNode() { + const node = this.startNode(); + + node.literal = (() => { + switch (this.state.type) { + case 0: + case 1: + case 4: + case 84: + case 85: + return this.parseExprAtom(); + + default: + throw this.unexpected(); + } + })(); + + return this.finishNode(node, "TSLiteralType"); + } + + tsParseTemplateLiteralType() { + const node = this.startNode(); + node.literal = this.parseTemplate(false); + return this.finishNode(node, "TSLiteralType"); + } + + parseTemplateSubstitution() { + if (this.state.inType) return this.tsParseType(); + return super.parseTemplateSubstitution(); + } + + tsParseThisTypeOrThisTypePredicate() { + const thisKeyword = this.tsParseThisTypeNode(); + + if (this.isContextual("is") && !this.hasPrecedingLineBreak()) { + return this.tsParseThisTypePredicate(thisKeyword); + } else { + return thisKeyword; + } + } + + tsParseNonArrayType() { + switch (this.state.type) { + case 5: + case 87: + case 83: + { + const type = this.match(87) ? "TSVoidKeyword" : this.match(83) ? "TSNullKeyword" : keywordTypeFromName(this.state.value); + + if (type !== undefined && this.lookaheadCharCode() !== 46) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, type); + } + + return this.tsParseTypeReference(); + } + + case 4: + case 0: + case 1: + case 84: + case 85: + return this.tsParseLiteralTypeNode(); + + case 52: + if (this.state.value === "-") { + const node = this.startNode(); + const nextToken = this.lookahead(); + + if (nextToken.type !== 0 && nextToken.type !== 1) { + throw this.unexpected(); + } + + node.literal = this.parseMaybeUnary(); + return this.finishNode(node, "TSLiteralType"); + } + + break; + + case 77: + return this.tsParseThisTypeOrThisTypePredicate(); + + case 86: + return this.tsParseTypeQuery(); + + case 82: + return this.tsParseImportType(); + + case 13: + return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral(); + + case 8: + return this.tsParseTupleType(); + + case 18: + return this.tsParseParenthesizedType(); + + case 30: + return this.tsParseTemplateLiteralType(); + } + + throw this.unexpected(); + } + + tsParseArrayTypeOrHigher() { + let type = this.tsParseNonArrayType(); + + while (!this.hasPrecedingLineBreak() && this.eat(8)) { + if (this.match(11)) { + const node = this.startNodeAtNode(type); + node.elementType = type; + this.expect(11); + type = this.finishNode(node, "TSArrayType"); + } else { + const node = this.startNodeAtNode(type); + node.objectType = type; + node.indexType = this.tsParseType(); + this.expect(11); + type = this.finishNode(node, "TSIndexedAccessType"); + } + } + + return type; + } + + tsParseTypeOperator(operator) { + const node = this.startNode(); + this.expectContextual(operator); + node.operator = operator; + node.typeAnnotation = this.tsParseTypeOperatorOrHigher(); + + if (operator === "readonly") { + this.tsCheckTypeAnnotationForReadOnly(node); + } + + return this.finishNode(node, "TSTypeOperator"); + } + + tsCheckTypeAnnotationForReadOnly(node) { + switch (node.typeAnnotation.type) { + case "TSTupleType": + case "TSArrayType": + return; + + default: + this.raise(node.start, TSErrors.UnexpectedReadonly); + } + } + + tsParseInferType() { + const node = this.startNode(); + this.expectContextual("infer"); + const typeParameter = this.startNode(); + typeParameter.name = this.tsParseTypeParameterName(); + node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter"); + return this.finishNode(node, "TSInferType"); + } + + tsParseTypeOperatorOrHigher() { + const operator = ["keyof", "unique", "readonly"].find(kw => this.isContextual(kw)); + return operator ? this.tsParseTypeOperator(operator) : this.isContextual("infer") ? this.tsParseInferType() : this.tsParseArrayTypeOrHigher(); + } + + tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) { + const node = this.startNode(); + const hasLeadingOperator = this.eat(operator); + const types = []; + + do { + types.push(parseConstituentType()); + } while (this.eat(operator)); + + if (types.length === 1 && !hasLeadingOperator) { + return types[0]; + } + + node.types = types; + return this.finishNode(node, kind); + } + + tsParseIntersectionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 48); + } + + tsParseUnionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 46); + } + + tsIsStartOfFunctionType() { + if (this.isRelational("<")) { + return true; + } + + return this.match(18) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this)); + } + + tsSkipParameterStart() { + if (this.match(5) || this.match(77)) { + this.next(); + return true; + } + + if (this.match(13)) { + let braceStackCounter = 1; + this.next(); + + while (braceStackCounter > 0) { + if (this.match(13)) { + ++braceStackCounter; + } else if (this.match(16)) { + --braceStackCounter; + } + + this.next(); + } + + return true; + } + + if (this.match(8)) { + let braceStackCounter = 1; + this.next(); + + while (braceStackCounter > 0) { + if (this.match(8)) { + ++braceStackCounter; + } else if (this.match(11)) { + --braceStackCounter; + } + + this.next(); + } + + return true; + } + + return false; + } + + tsIsUnambiguouslyStartOfFunctionType() { + this.next(); + + if (this.match(19) || this.match(29)) { + return true; + } + + if (this.tsSkipParameterStart()) { + if (this.match(22) || this.match(20) || this.match(25) || this.match(35)) { + return true; + } + + if (this.match(19)) { + this.next(); + + if (this.match(27)) { + return true; + } + } + } + + return false; + } + + tsParseTypeOrTypePredicateAnnotation(returnToken) { + return this.tsInType(() => { + const t = this.startNode(); + this.expect(returnToken); + const node = this.startNode(); + const asserts = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this)); + + if (asserts && this.match(77)) { + let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate(); + + if (thisTypePredicate.type === "TSThisType") { + node.parameterName = thisTypePredicate; + node.asserts = true; + node.typeAnnotation = null; + thisTypePredicate = this.finishNode(node, "TSTypePredicate"); + } else { + this.resetStartLocationFromNode(thisTypePredicate, node); + thisTypePredicate.asserts = true; + } + + t.typeAnnotation = thisTypePredicate; + return this.finishNode(t, "TSTypeAnnotation"); + } + + const typePredicateVariable = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this)); + + if (!typePredicateVariable) { + if (!asserts) { + return this.tsParseTypeAnnotation(false, t); + } + + node.parameterName = this.parseIdentifier(); + node.asserts = asserts; + node.typeAnnotation = null; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + } + + const type = this.tsParseTypeAnnotation(false); + node.parameterName = typePredicateVariable; + node.typeAnnotation = type; + node.asserts = asserts; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + }); + } + + tsTryParseTypeOrTypePredicateAnnotation() { + return this.match(22) ? this.tsParseTypeOrTypePredicateAnnotation(22) : undefined; + } + + tsTryParseTypeAnnotation() { + return this.match(22) ? this.tsParseTypeAnnotation() : undefined; + } + + tsTryParseType() { + return this.tsEatThenParseType(22); + } + + tsParseTypePredicatePrefix() { + const id = this.parseIdentifier(); + + if (this.isContextual("is") && !this.hasPrecedingLineBreak()) { + this.next(); + return id; + } + } + + tsParseTypePredicateAsserts() { + if (!this.match(5) || this.state.value !== "asserts") { + return false; + } + + const containsEsc = this.state.containsEsc; + this.next(); + + if (!this.match(5) && !this.match(77)) { + return false; + } + + if (containsEsc) { + this.raise(this.state.lastTokStart, ErrorMessages.InvalidEscapedReservedWord, "asserts"); + } + + return true; + } + + tsParseTypeAnnotation(eatColon = true, t = this.startNode()) { + this.tsInType(() => { + if (eatColon) this.expect(22); + t.typeAnnotation = this.tsParseType(); + }); + return this.finishNode(t, "TSTypeAnnotation"); + } + + tsParseType() { + assert(this.state.inType); + const type = this.tsParseNonConditionalType(); + + if (this.hasPrecedingLineBreak() || !this.eat(80)) { + return type; + } + + const node = this.startNodeAtNode(type); + node.checkType = type; + node.extendsType = this.tsParseNonConditionalType(); + this.expect(25); + node.trueType = this.tsParseType(); + this.expect(22); + node.falseType = this.tsParseType(); + return this.finishNode(node, "TSConditionalType"); + } + + isAbstractConstructorSignature() { + return this.isContextual("abstract") && this.lookahead().type === 76; + } + + tsParseNonConditionalType() { + if (this.tsIsStartOfFunctionType()) { + return this.tsParseFunctionOrConstructorType("TSFunctionType"); + } + + if (this.match(76)) { + return this.tsParseFunctionOrConstructorType("TSConstructorType"); + } else if (this.isAbstractConstructorSignature()) { + return this.tsParseFunctionOrConstructorType("TSConstructorType", true); + } + + return this.tsParseUnionTypeOrHigher(); + } + + tsParseTypeAssertion() { + const node = this.startNode(); + + const _const = this.tsTryNextParseConstantContext(); + + node.typeAnnotation = _const || this.tsNextThenParseType(); + this.expectRelational(">"); + node.expression = this.parseMaybeUnary(); + return this.finishNode(node, "TSTypeAssertion"); + } + + tsParseHeritageClause(descriptor) { + const originalStart = this.state.start; + const delimitedList = this.tsParseDelimitedList("HeritageClauseElement", this.tsParseExpressionWithTypeArguments.bind(this)); + + if (!delimitedList.length) { + this.raise(originalStart, TSErrors.EmptyHeritageClauseType, descriptor); + } + + return delimitedList; + } + + tsParseExpressionWithTypeArguments() { + const node = this.startNode(); + node.expression = this.tsParseEntityName(false); + + if (this.isRelational("<")) { + node.typeParameters = this.tsParseTypeArguments(); + } + + return this.finishNode(node, "TSExpressionWithTypeArguments"); + } + + tsParseInterfaceDeclaration(node) { + if (this.match(5)) { + node.id = this.parseIdentifier(); + this.checkLVal(node.id, "typescript interface declaration", BIND_TS_INTERFACE); + } else { + node.id = null; + this.raise(this.state.start, TSErrors.MissingInterfaceName); + } + + node.typeParameters = this.tsTryParseTypeParameters(); + + if (this.eat(80)) { + node.extends = this.tsParseHeritageClause("extends"); + } + + const body = this.startNode(); + body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)); + node.body = this.finishNode(body, "TSInterfaceBody"); + return this.finishNode(node, "TSInterfaceDeclaration"); + } + + tsParseTypeAliasDeclaration(node) { + node.id = this.parseIdentifier(); + this.checkLVal(node.id, "typescript type alias", BIND_TS_TYPE); + node.typeParameters = this.tsTryParseTypeParameters(); + node.typeAnnotation = this.tsInType(() => { + this.expect(35); + + if (this.isContextual("intrinsic") && this.lookahead().type !== 24) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSIntrinsicKeyword"); + } + + return this.tsParseType(); + }); + this.semicolon(); + return this.finishNode(node, "TSTypeAliasDeclaration"); + } + + tsInNoContext(cb) { + const oldContext = this.state.context; + this.state.context = [oldContext[0]]; + + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } + + tsInType(cb) { + const oldInType = this.state.inType; + this.state.inType = true; + + try { + return cb(); + } finally { + this.state.inType = oldInType; + } + } + + tsEatThenParseType(token) { + return !this.match(token) ? undefined : this.tsNextThenParseType(); + } + + tsExpectThenParseType(token) { + return this.tsDoThenParseType(() => this.expect(token)); + } + + tsNextThenParseType() { + return this.tsDoThenParseType(() => this.next()); + } + + tsDoThenParseType(cb) { + return this.tsInType(() => { + cb(); + return this.tsParseType(); + }); + } + + tsParseEnumMember() { + const node = this.startNode(); + node.id = this.match(4) ? this.parseExprAtom() : this.parseIdentifier(true); + + if (this.eat(35)) { + node.initializer = this.parseMaybeAssignAllowIn(); + } + + return this.finishNode(node, "TSEnumMember"); + } + + tsParseEnumDeclaration(node, isConst) { + if (isConst) node.const = true; + node.id = this.parseIdentifier(); + this.checkLVal(node.id, "typescript enum declaration", isConst ? BIND_TS_CONST_ENUM : BIND_TS_ENUM); + this.expect(13); + node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); + this.expect(16); + return this.finishNode(node, "TSEnumDeclaration"); + } + + tsParseModuleBlock() { + const node = this.startNode(); + this.scope.enter(SCOPE_OTHER); + this.expect(13); + this.parseBlockOrModuleBlockBody(node.body = [], undefined, true, 16); + this.scope.exit(); + return this.finishNode(node, "TSModuleBlock"); + } + + tsParseModuleOrNamespaceDeclaration(node, nested = false) { + node.id = this.parseIdentifier(); + + if (!nested) { + this.checkLVal(node.id, "module or namespace declaration", BIND_TS_NAMESPACE); + } + + if (this.eat(24)) { + const inner = this.startNode(); + this.tsParseModuleOrNamespaceDeclaration(inner, true); + node.body = inner; + } else { + this.scope.enter(SCOPE_TS_MODULE); + this.prodParam.enter(PARAM); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } + + return this.finishNode(node, "TSModuleDeclaration"); + } + + tsParseAmbientExternalModuleDeclaration(node) { + if (this.isContextual("global")) { + node.global = true; + node.id = this.parseIdentifier(); + } else if (this.match(4)) { + node.id = this.parseExprAtom(); + } else { + this.unexpected(); + } + + if (this.match(13)) { + this.scope.enter(SCOPE_TS_MODULE); + this.prodParam.enter(PARAM); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } else { + this.semicolon(); + } + + return this.finishNode(node, "TSModuleDeclaration"); + } + + tsParseImportEqualsDeclaration(node, isExport) { + node.isExport = isExport || false; + node.id = this.parseIdentifier(); + this.checkLVal(node.id, "import equals declaration", BIND_LEXICAL); + this.expect(35); + const moduleReference = this.tsParseModuleReference(); + + if (node.importKind === "type" && moduleReference.type !== "TSExternalModuleReference") { + this.raise(moduleReference.start, TSErrors.ImportAliasHasImportType); + } + + node.moduleReference = moduleReference; + this.semicolon(); + return this.finishNode(node, "TSImportEqualsDeclaration"); + } + + tsIsExternalModuleReference() { + return this.isContextual("require") && this.lookaheadCharCode() === 40; + } + + tsParseModuleReference() { + return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false); + } + + tsParseExternalModuleReference() { + const node = this.startNode(); + this.expectContextual("require"); + this.expect(18); + + if (!this.match(4)) { + throw this.unexpected(); + } + + node.expression = this.parseExprAtom(); + this.expect(19); + return this.finishNode(node, "TSExternalModuleReference"); + } + + tsLookAhead(f) { + const state = this.state.clone(); + const res = f(); + this.state = state; + return res; + } + + tsTryParseAndCatch(f) { + const result = this.tryParse(abort => f() || abort()); + if (result.aborted || !result.node) return undefined; + if (result.error) this.state = result.failState; + return result.node; + } + + tsTryParse(f) { + const state = this.state.clone(); + const result = f(); + + if (result !== undefined && result !== false) { + return result; + } else { + this.state = state; + return undefined; + } + } + + tsTryParseDeclare(nany) { + if (this.isLineTerminator()) { + return; + } + + let starttype = this.state.type; + let kind; + + if (this.isContextual("let")) { + starttype = 73; + kind = "let"; + } + + return this.tsInAmbientContext(() => { + switch (starttype) { + case 67: + nany.declare = true; + return this.parseFunctionStatement(nany, false, true); + + case 79: + nany.declare = true; + return this.parseClass(nany, true, false); + + case 74: + if (this.match(74) && this.isLookaheadContextual("enum")) { + this.expect(74); + this.expectContextual("enum"); + return this.tsParseEnumDeclaration(nany, true); + } + + case 73: + kind = kind || this.state.value; + return this.parseVarStatement(nany, kind); + + case 5: + { + const value = this.state.value; + + if (value === "global") { + return this.tsParseAmbientExternalModuleDeclaration(nany); + } else { + return this.tsParseDeclaration(nany, value, true); + } + } + } + }); + } + + tsTryParseExportDeclaration() { + return this.tsParseDeclaration(this.startNode(), this.state.value, true); + } + + tsParseExpressionStatement(node, expr) { + switch (expr.name) { + case "declare": + { + const declaration = this.tsTryParseDeclare(node); + + if (declaration) { + declaration.declare = true; + return declaration; + } + + break; + } + + case "global": + if (this.match(13)) { + this.scope.enter(SCOPE_TS_MODULE); + this.prodParam.enter(PARAM); + const mod = node; + mod.global = true; + mod.id = expr; + mod.body = this.tsParseModuleBlock(); + this.scope.exit(); + this.prodParam.exit(); + return this.finishNode(mod, "TSModuleDeclaration"); + } + + break; + + default: + return this.tsParseDeclaration(node, expr.name, false); + } + } + + tsParseDeclaration(node, value, next) { + switch (value) { + case "abstract": + if (this.tsCheckLineTerminator(next) && (this.match(79) || this.match(5))) { + return this.tsParseAbstractDeclaration(node); + } + + break; + + case "enum": + if (next || this.match(5)) { + if (next) this.next(); + return this.tsParseEnumDeclaration(node, false); + } + + break; + + case "interface": + if (this.tsCheckLineTerminator(next) && this.match(5)) { + return this.tsParseInterfaceDeclaration(node); + } + + break; + + case "module": + if (this.tsCheckLineTerminator(next)) { + if (this.match(4)) { + return this.tsParseAmbientExternalModuleDeclaration(node); + } else if (this.match(5)) { + return this.tsParseModuleOrNamespaceDeclaration(node); + } + } + + break; + + case "namespace": + if (this.tsCheckLineTerminator(next) && this.match(5)) { + return this.tsParseModuleOrNamespaceDeclaration(node); + } + + break; + + case "type": + if (this.tsCheckLineTerminator(next) && this.match(5)) { + return this.tsParseTypeAliasDeclaration(node); + } + + break; + } + } + + tsCheckLineTerminator(next) { + if (next) { + if (this.hasFollowingLineBreak()) return false; + this.next(); + return true; + } + + return !this.isLineTerminator(); + } + + tsTryParseGenericAsyncArrowFunction(startPos, startLoc) { + if (!this.isRelational("<")) { + return undefined; + } + + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = true; + const res = this.tsTryParseAndCatch(() => { + const node = this.startNodeAt(startPos, startLoc); + node.typeParameters = this.tsParseTypeParameters(); + super.parseFunctionParams(node); + node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(); + this.expect(27); + return node; + }); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + + if (!res) { + return undefined; + } + + return this.parseArrowExpression(res, null, true); + } + + tsParseTypeArguments() { + const node = this.startNode(); + node.params = this.tsInType(() => this.tsInNoContext(() => { + this.expectRelational("<"); + return this.tsParseDelimitedList("TypeParametersOrArguments", this.tsParseType.bind(this)); + })); + + if (node.params.length === 0) { + this.raise(node.start, TSErrors.EmptyTypeArguments); + } + + this.expectRelational(">"); + return this.finishNode(node, "TSTypeParameterInstantiation"); + } + + tsIsDeclarationStart() { + if (this.match(5)) { + switch (this.state.value) { + case "abstract": + case "declare": + case "enum": + case "interface": + case "module": + case "namespace": + case "type": + return true; + } + } + + return false; + } + + isExportDefaultSpecifier() { + if (this.tsIsDeclarationStart()) return false; + return super.isExportDefaultSpecifier(); + } + + parseAssignableListItem(allowModifiers, decorators) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let accessibility; + let readonly = false; + let override = false; + + if (allowModifiers !== undefined) { + const modified = {}; + this.tsParseModifiers(modified, ["public", "private", "protected", "override", "readonly"]); + accessibility = modified.accessibility; + override = modified.override; + readonly = modified.readonly; + + if (allowModifiers === false && (accessibility || readonly || override)) { + this.raise(startPos, TSErrors.UnexpectedParameterModifier); + } + } + + const left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left); + const elt = this.parseMaybeDefault(left.start, left.loc.start, left); + + if (accessibility || readonly || override) { + const pp = this.startNodeAt(startPos, startLoc); + + if (decorators.length) { + pp.decorators = decorators; + } + + if (accessibility) pp.accessibility = accessibility; + if (readonly) pp.readonly = readonly; + if (override) pp.override = override; + + if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") { + this.raise(pp.start, TSErrors.UnsupportedParameterPropertyKind); + } + + pp.parameter = elt; + return this.finishNode(pp, "TSParameterProperty"); + } + + if (decorators.length) { + left.decorators = decorators; + } + + return elt; + } + + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(22)) { + node.returnType = this.tsParseTypeOrTypePredicateAnnotation(22); + } + + const bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" ? "TSDeclareMethod" : undefined; + + if (bodilessType && !this.match(13) && this.isLineTerminator()) { + this.finishNode(node, bodilessType); + return; + } + + if (bodilessType === "TSDeclareFunction" && this.state.isAmbientContext) { + this.raise(node.start, TSErrors.DeclareFunctionHasImplementation); + + if (node.declare) { + super.parseFunctionBodyAndFinish(node, bodilessType, isMethod); + return; + } + } + + super.parseFunctionBodyAndFinish(node, type, isMethod); + } + + registerFunctionStatementId(node) { + if (!node.body && node.id) { + this.checkLVal(node.id, "function name", BIND_TS_AMBIENT); + } else { + super.registerFunctionStatementId(...arguments); + } + } + + tsCheckForInvalidTypeCasts(items) { + items.forEach(node => { + if ((node == null ? void 0 : node.type) === "TSTypeCastExpression") { + this.raise(node.typeAnnotation.start, TSErrors.UnexpectedTypeAnnotation); + } + }); + } + + toReferencedList(exprList, isInParens) { + this.tsCheckForInvalidTypeCasts(exprList); + return exprList; + } + + parseArrayLike(...args) { + const node = super.parseArrayLike(...args); + + if (node.type === "ArrayExpression") { + this.tsCheckForInvalidTypeCasts(node.elements); + } + + return node; + } + + parseSubscript(base, startPos, startLoc, noCalls, state) { + if (!this.hasPrecedingLineBreak() && this.match(40)) { + this.state.exprAllowed = false; + this.next(); + const nonNullExpression = this.startNodeAt(startPos, startLoc); + nonNullExpression.expression = base; + return this.finishNode(nonNullExpression, "TSNonNullExpression"); + } + + let isOptionalCall = false; + + if (this.match(26) && this.lookaheadCharCode() === 60) { + if (noCalls) { + state.stop = true; + return base; + } + + state.optionalChainMember = isOptionalCall = true; + this.next(); + } + + if (this.isRelational("<")) { + let missingParenErrorPos; + const result = this.tsTryParseAndCatch(() => { + if (!noCalls && this.atPossibleAsyncArrow(base)) { + const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(startPos, startLoc); + + if (asyncArrowFn) { + return asyncArrowFn; + } + } + + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + const typeArguments = this.tsParseTypeArguments(); + + if (typeArguments) { + if (isOptionalCall && !this.match(18)) { + missingParenErrorPos = this.state.pos; + this.unexpected(); + } + + if (!noCalls && this.eat(18)) { + node.arguments = this.parseCallExpressionArguments(19, false); + this.tsCheckForInvalidTypeCasts(node.arguments); + node.typeParameters = typeArguments; + + if (state.optionalChainMember) { + node.optional = isOptionalCall; + } + + return this.finishCallExpression(node, state.optionalChainMember); + } else if (this.match(30)) { + const result = this.parseTaggedTemplateExpression(base, startPos, startLoc, state); + result.typeParameters = typeArguments; + return result; + } + } + + this.unexpected(); + }); + + if (missingParenErrorPos) { + this.unexpected(missingParenErrorPos, 18); + } + + if (result) return result; + } + + return super.parseSubscript(base, startPos, startLoc, noCalls, state); + } + + parseNewArguments(node) { + if (this.isRelational("<")) { + const typeParameters = this.tsTryParseAndCatch(() => { + const args = this.tsParseTypeArguments(); + if (!this.match(18)) this.unexpected(); + return args; + }); + + if (typeParameters) { + node.typeParameters = typeParameters; + } + } + + super.parseNewArguments(node); + } + + parseExprOp(left, leftStartPos, leftStartLoc, minPrec) { + if (tokenOperatorPrecedence(57) > minPrec && !this.hasPrecedingLineBreak() && this.isContextual("as")) { + const node = this.startNodeAt(leftStartPos, leftStartLoc); + node.expression = left; + + const _const = this.tsTryNextParseConstantContext(); + + if (_const) { + node.typeAnnotation = _const; + } else { + node.typeAnnotation = this.tsNextThenParseType(); + } + + this.finishNode(node, "TSAsExpression"); + this.reScan_lt_gt(); + return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec); + } + + return super.parseExprOp(left, leftStartPos, leftStartLoc, minPrec); + } + + checkReservedWord(word, startLoc, checkKeywords, isBinding) {} + + checkDuplicateExports() {} + + parseImport(node) { + node.importKind = "value"; + + if (this.match(5) || this.match(54) || this.match(13)) { + let ahead = this.lookahead(); + + if (this.isContextual("type") && ahead.type !== 20 && !(ahead.type === 5 && ahead.value === "from") && ahead.type !== 35) { + node.importKind = "type"; + this.next(); + ahead = this.lookahead(); + } + + if (this.match(5) && ahead.type === 35) { + return this.tsParseImportEqualsDeclaration(node); + } + } + + const importNode = super.parseImport(node); + + if (importNode.importKind === "type" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === "ImportDefaultSpecifier") { + this.raise(importNode.start, TSErrors.TypeImportCannotSpecifyDefaultAndNamed); + } + + return importNode; + } + + parseExport(node) { + if (this.match(82)) { + this.next(); + + if (this.isContextual("type") && this.lookaheadCharCode() !== 61) { + node.importKind = "type"; + this.next(); + } else { + node.importKind = "value"; + } + + return this.tsParseImportEqualsDeclaration(node, true); + } else if (this.eat(35)) { + const assign = node; + assign.expression = this.parseExpression(); + this.semicolon(); + return this.finishNode(assign, "TSExportAssignment"); + } else if (this.eatContextual("as")) { + const decl = node; + this.expectContextual("namespace"); + decl.id = this.parseIdentifier(); + this.semicolon(); + return this.finishNode(decl, "TSNamespaceExportDeclaration"); + } else { + if (this.isContextual("type") && this.lookahead().type === 13) { + this.next(); + node.exportKind = "type"; + } else { + node.exportKind = "value"; + } + + return super.parseExport(node); + } + } + + isAbstractClass() { + return this.isContextual("abstract") && this.lookahead().type === 79; + } + + parseExportDefaultExpression() { + if (this.isAbstractClass()) { + const cls = this.startNode(); + this.next(); + cls.abstract = true; + this.parseClass(cls, true, true); + return cls; + } + + if (this.state.value === "interface") { + const interfaceNode = this.startNode(); + this.next(); + const result = this.tsParseInterfaceDeclaration(interfaceNode); + if (result) return result; + } + + return super.parseExportDefaultExpression(); + } + + parseStatementContent(context, topLevel) { + if (this.state.type === 74) { + const ahead = this.lookahead(); + + if (ahead.type === 5 && ahead.value === "enum") { + const node = this.startNode(); + this.expect(74); + this.expectContextual("enum"); + return this.tsParseEnumDeclaration(node, true); + } + } + + return super.parseStatementContent(context, topLevel); + } + + parseAccessModifier() { + return this.tsParseModifier(["public", "protected", "private"]); + } + + tsHasSomeModifiers(member, modifiers) { + return modifiers.some(modifier => { + if (tsIsAccessModifier(modifier)) { + return member.accessibility === modifier; + } + + return !!member[modifier]; + }); + } + + tsIsStartOfStaticBlocks() { + return this.isContextual("static") && this.lookaheadCharCode() === 123; + } + + parseClassMember(classBody, member, state) { + const modifiers = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"]; + this.tsParseModifiers(member, modifiers, undefined, undefined, true); + + const callParseClassMemberWithIsStatic = () => { + if (this.tsIsStartOfStaticBlocks()) { + this.next(); + this.next(); + + if (this.tsHasSomeModifiers(member, modifiers)) { + this.raise(this.state.pos, TSErrors.StaticBlockCannotHaveModifier); + } + + this.parseClassStaticBlock(classBody, member); + } else { + this.parseClassMemberWithIsStatic(classBody, member, state, !!member.static); + } + }; + + if (member.declare) { + this.tsInAmbientContext(callParseClassMemberWithIsStatic); + } else { + callParseClassMemberWithIsStatic(); + } + } + + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const idx = this.tsTryParseIndexSignature(member); + + if (idx) { + classBody.body.push(idx); + + if (member.abstract) { + this.raise(member.start, TSErrors.IndexSignatureHasAbstract); + } + + if (member.accessibility) { + this.raise(member.start, TSErrors.IndexSignatureHasAccessibility, member.accessibility); + } + + if (member.declare) { + this.raise(member.start, TSErrors.IndexSignatureHasDeclare); + } + + if (member.override) { + this.raise(member.start, TSErrors.IndexSignatureHasOverride); + } + + return; + } + + if (!this.state.inAbstractClass && member.abstract) { + this.raise(member.start, TSErrors.NonAbstractClassHasAbstractMethod); + } + + if (member.override) { + if (!state.hadSuperClass) { + this.raise(member.start, TSErrors.OverrideNotInSubClass); + } + } + + super.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + + parsePostMemberNameModifiers(methodOrProp) { + const optional = this.eat(25); + if (optional) methodOrProp.optional = true; + + if (methodOrProp.readonly && this.match(18)) { + this.raise(methodOrProp.start, TSErrors.ClassMethodHasReadonly); + } + + if (methodOrProp.declare && this.match(18)) { + this.raise(methodOrProp.start, TSErrors.ClassMethodHasDeclare); + } + } + + parseExpressionStatement(node, expr) { + const decl = expr.type === "Identifier" ? this.tsParseExpressionStatement(node, expr) : undefined; + return decl || super.parseExpressionStatement(node, expr); + } + + shouldParseExportDeclaration() { + if (this.tsIsDeclarationStart()) return true; + return super.shouldParseExportDeclaration(); + } + + parseConditional(expr, startPos, startLoc, refExpressionErrors) { + if (!this.state.maybeInArrowParameters || !this.match(25)) { + return super.parseConditional(expr, startPos, startLoc, refExpressionErrors); + } + + const result = this.tryParse(() => super.parseConditional(expr, startPos, startLoc)); + + if (!result.node) { + if (result.error) { + super.setOptionalParametersError(refExpressionErrors, result.error); + } + + return expr; + } + + if (result.error) this.state = result.failState; + return result.node; + } + + parseParenItem(node, startPos, startLoc) { + node = super.parseParenItem(node, startPos, startLoc); + + if (this.eat(25)) { + node.optional = true; + this.resetEndLocation(node); + } + + if (this.match(22)) { + const typeCastNode = this.startNodeAt(startPos, startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.tsParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TSTypeCastExpression"); + } + + return node; + } + + parseExportDeclaration(node) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const isDeclare = this.eatContextual("declare"); + + if (isDeclare && (this.isContextual("declare") || !this.shouldParseExportDeclaration())) { + throw this.raise(this.state.start, TSErrors.ExpectedAmbientAfterExportDeclare); + } + + let declaration; + + if (this.match(5)) { + declaration = this.tsTryParseExportDeclaration(); + } + + if (!declaration) { + declaration = super.parseExportDeclaration(node); + } + + if (declaration && (declaration.type === "TSInterfaceDeclaration" || declaration.type === "TSTypeAliasDeclaration" || isDeclare)) { + node.exportKind = "type"; + } + + if (declaration && isDeclare) { + this.resetStartLocation(declaration, startPos, startLoc); + declaration.declare = true; + } + + return declaration; + } + + parseClassId(node, isStatement, optionalId) { + if ((!isStatement || optionalId) && this.isContextual("implements")) { + return; + } + + super.parseClassId(node, isStatement, optionalId, node.declare ? BIND_TS_AMBIENT : BIND_CLASS); + const typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) node.typeParameters = typeParameters; + } + + parseClassPropertyAnnotation(node) { + if (!node.optional && this.eat(40)) { + node.definite = true; + } + + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + } + + parseClassProperty(node) { + this.parseClassPropertyAnnotation(node); + + if (this.state.isAmbientContext && this.match(35)) { + this.raise(this.state.start, TSErrors.DeclareClassFieldHasInitializer); + } + + if (node.abstract && this.match(35)) { + const { + key + } = node; + this.raise(this.state.start, TSErrors.AbstractPropertyHasInitializer, key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(key.start, key.end)}]`); + } + + return super.parseClassProperty(node); + } + + parseClassPrivateProperty(node) { + if (node.abstract) { + this.raise(node.start, TSErrors.PrivateElementHasAbstract); + } + + if (node.accessibility) { + this.raise(node.start, TSErrors.PrivateElementHasAccessibility, node.accessibility); + } + + this.parseClassPropertyAnnotation(node); + return super.parseClassPrivateProperty(node); + } + + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + const typeParameters = this.tsTryParseTypeParameters(); + + if (typeParameters && isConstructor) { + this.raise(typeParameters.start, TSErrors.ConstructorHasTypeParameters); + } + + if (method.declare && (method.kind === "get" || method.kind === "set")) { + this.raise(method.start, TSErrors.DeclareAccessor, method.kind); + } + + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + } + + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + + parseClassSuper(node) { + super.parseClassSuper(node); + + if (node.superClass && this.isRelational("<")) { + node.superTypeParameters = this.tsParseTypeArguments(); + } + + if (this.eatContextual("implements")) { + node.implements = this.tsParseHeritageClause("implements"); + } + } + + parseObjPropValue(prop, ...args) { + const typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) prop.typeParameters = typeParameters; + super.parseObjPropValue(prop, ...args); + } + + parseFunctionParams(node, allowModifiers) { + const typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) node.typeParameters = typeParameters; + super.parseFunctionParams(node, allowModifiers); + } + + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + + if (decl.id.type === "Identifier" && this.eat(40)) { + decl.definite = true; + } + + const type = this.tsTryParseTypeAnnotation(); + + if (type) { + decl.id.typeAnnotation = type; + this.resetEndLocation(decl.id); + } + } + + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(22)) { + node.returnType = this.tsParseTypeAnnotation(); + } + + return super.parseAsyncArrowFromCallExpression(node, call); + } + + parseMaybeAssign(...args) { + var _jsx, _jsx2, _typeCast, _jsx3, _typeCast2, _jsx4, _typeCast3; + + let state; + let jsx; + let typeCast; + + if (this.hasPlugin("jsx") && (this.match(94) || this.isRelational("<"))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(...args), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + + if (context[context.length - 1] === types.j_oTag) { + context.length -= 2; + } else if (context[context.length - 1] === types.j_expr) { + context.length -= 1; + } + } + + if (!((_jsx = jsx) != null && _jsx.error) && !this.isRelational("<")) { + return super.parseMaybeAssign(...args); + } + + let typeParameters; + state = state || this.state.clone(); + const arrow = this.tryParse(abort => { + var _expr$extra, _typeParameters; + + typeParameters = this.tsParseTypeParameters(); + const expr = super.parseMaybeAssign(...args); + + if (expr.type !== "ArrowFunctionExpression" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { + abort(); + } + + if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) { + this.resetStartLocationFromNode(expr, typeParameters); + } + + expr.typeParameters = typeParameters; + return expr; + }, state); + if (!arrow.error && !arrow.aborted) return arrow.node; + + if (!jsx) { + assert(!this.hasPlugin("jsx")); + typeCast = this.tryParse(() => super.parseMaybeAssign(...args), state); + if (!typeCast.error) return typeCast.node; + } + + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + + if (arrow.node) { + this.state = arrow.failState; + return arrow.node; + } + + if ((_typeCast = typeCast) != null && _typeCast.node) { + this.state = typeCast.failState; + return typeCast.node; + } + + if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + if ((_typeCast2 = typeCast) != null && _typeCast2.thrown) throw typeCast.error; + throw ((_jsx4 = jsx) == null ? void 0 : _jsx4.error) || arrow.error || ((_typeCast3 = typeCast) == null ? void 0 : _typeCast3.error); + } + + parseMaybeUnary(refExpressionErrors) { + if (!this.hasPlugin("jsx") && this.isRelational("<")) { + return this.tsParseTypeAssertion(); + } else { + return super.parseMaybeUnary(refExpressionErrors); + } + } + + parseArrow(node) { + if (this.match(22)) { + const result = this.tryParse(abort => { + const returnType = this.tsParseTypeOrTypePredicateAnnotation(22); + if (this.canInsertSemicolon() || !this.match(27)) abort(); + return returnType; + }); + if (result.aborted) return; + + if (!result.thrown) { + if (result.error) this.state = result.failState; + node.returnType = result.node; + } + } + + return super.parseArrow(node); + } + + parseAssignableListItemTypes(param) { + if (this.eat(25)) { + if (param.type !== "Identifier" && !this.state.isAmbientContext && !this.state.inType) { + this.raise(param.start, TSErrors.PatternIsOptional); + } + + param.optional = true; + } + + const type = this.tsTryParseTypeAnnotation(); + if (type) param.typeAnnotation = type; + this.resetEndLocation(param); + return param; + } + + isAssignable(node, isBinding) { + switch (node.type) { + case "TSTypeCastExpression": + return this.isAssignable(node.expression, isBinding); + + case "TSParameterProperty": + return true; + + default: + return super.isAssignable(node, isBinding); + } + } + + toAssignable(node, isLHS = false) { + switch (node.type) { + case "TSTypeCastExpression": + return super.toAssignable(this.typeCastToParameter(node), isLHS); + + case "TSParameterProperty": + return super.toAssignable(node, isLHS); + + case "ParenthesizedExpression": + return this.toAssignableParenthesizedExpression(node, isLHS); + + case "TSAsExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + node.expression = this.toAssignable(node.expression, isLHS); + return node; + + default: + return super.toAssignable(node, isLHS); + } + } + + toAssignableParenthesizedExpression(node, isLHS) { + switch (node.expression.type) { + case "TSAsExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + case "ParenthesizedExpression": + node.expression = this.toAssignable(node.expression, isLHS); + return node; + + default: + return super.toAssignable(node, isLHS); + } + } + + checkLVal(expr, contextDescription, ...args) { + var _expr$extra2; + + switch (expr.type) { + case "TSTypeCastExpression": + return; + + case "TSParameterProperty": + this.checkLVal(expr.parameter, "parameter property", ...args); + return; + + case "TSAsExpression": + case "TSTypeAssertion": + if (!args[0] && contextDescription !== "parenthesized expression" && !((_expr$extra2 = expr.extra) != null && _expr$extra2.parenthesized)) { + this.raise(expr.start, ErrorMessages.InvalidLhs, contextDescription); + break; + } + + this.checkLVal(expr.expression, "parenthesized expression", ...args); + return; + + case "TSNonNullExpression": + this.checkLVal(expr.expression, contextDescription, ...args); + return; + + default: + super.checkLVal(expr, contextDescription, ...args); + return; + } + } + + parseBindingAtom() { + switch (this.state.type) { + case 77: + return this.parseIdentifier(true); + + default: + return super.parseBindingAtom(); + } + } + + parseMaybeDecoratorArguments(expr) { + if (this.isRelational("<")) { + const typeArguments = this.tsParseTypeArguments(); + + if (this.match(18)) { + const call = super.parseMaybeDecoratorArguments(expr); + call.typeParameters = typeArguments; + return call; + } + + this.unexpected(this.state.start, 18); + } + + return super.parseMaybeDecoratorArguments(expr); + } + + checkCommaAfterRest(close) { + if (this.state.isAmbientContext && this.match(20) && this.lookaheadCharCode() === close) { + this.next(); + } else { + super.checkCommaAfterRest(close); + } + } + + isClassMethod() { + return this.isRelational("<") || super.isClassMethod(); + } + + isClassProperty() { + return this.match(40) || this.match(22) || super.isClassProperty(); + } + + parseMaybeDefault(...args) { + const node = super.parseMaybeDefault(...args); + + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(node.typeAnnotation.start, TSErrors.TypeAnnotationAfterAssign); + } + + return node; + } + + getTokenFromCode(code) { + if (this.state.inType && (code === 62 || code === 60)) { + return this.finishOp(50, 1); + } else { + return super.getTokenFromCode(code); + } + } + + reScan_lt_gt() { + if (this.match(50)) { + const code = this.input.charCodeAt(this.state.start); + + if (code === 60 || code === 62) { + this.state.pos -= 1; + this.readToken_lt_gt(code); + } + } + } + + toAssignableList(exprList) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; + if (!expr) continue; + + switch (expr.type) { + case "TSTypeCastExpression": + exprList[i] = this.typeCastToParameter(expr); + break; + + case "TSAsExpression": + case "TSTypeAssertion": + if (!this.state.maybeInArrowParameters) { + exprList[i] = this.typeCastToParameter(expr); + } else { + this.raise(expr.start, TSErrors.UnexpectedTypeCastInParameter); + } + + break; + } + } + + return super.toAssignableList(...arguments); + } + + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.end, node.typeAnnotation.loc.end); + return node.expression; + } + + shouldParseArrow(params) { + if (this.match(22)) { + return params.every(expr => this.isAssignable(expr, true)); + } + + return super.shouldParseArrow(params); + } + + shouldParseAsyncArrow() { + return this.match(22) || super.shouldParseAsyncArrow(); + } + + canHaveLeadingDecorator() { + return super.canHaveLeadingDecorator() || this.isAbstractClass(); + } + + jsxParseOpeningElementAfterName(node) { + if (this.isRelational("<")) { + const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArguments()); + if (typeArguments) node.typeParameters = typeArguments; + } + + return super.jsxParseOpeningElementAfterName(node); + } + + getGetterSetterExpectedParamCount(method) { + const baseCount = super.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + const firstParam = params[0]; + const hasContextParam = firstParam && this.isThisParam(firstParam); + return hasContextParam ? baseCount + 1 : baseCount; + } + + parseCatchClauseParam() { + const param = super.parseCatchClauseParam(); + const type = this.tsTryParseTypeAnnotation(); + + if (type) { + param.typeAnnotation = type; + this.resetEndLocation(param); + } + + return param; + } + + tsInAmbientContext(cb) { + const oldIsAmbientContext = this.state.isAmbientContext; + this.state.isAmbientContext = true; + + try { + return cb(); + } finally { + this.state.isAmbientContext = oldIsAmbientContext; + } + } + + parseClass(node, ...args) { + const oldInAbstractClass = this.state.inAbstractClass; + this.state.inAbstractClass = !!node.abstract; + + try { + return super.parseClass(node, ...args); + } finally { + this.state.inAbstractClass = oldInAbstractClass; + } + } + + tsParseAbstractDeclaration(node) { + if (this.match(79)) { + node.abstract = true; + return this.parseClass(node, true, false); + } else if (this.isContextual("interface")) { + if (!this.hasFollowingLineBreak()) { + node.abstract = true; + this.raise(node.start, TSErrors.NonClassMethodPropertyHasAbstractModifer); + this.next(); + return this.tsParseInterfaceDeclaration(node); + } + } else { + this.unexpected(null, 79); + } + } + + parseMethod(...args) { + const method = super.parseMethod(...args); + + if (method.abstract) { + const hasBody = this.hasPlugin("estree") ? !!method.value.body : !!method.body; + + if (hasBody) { + const { + key + } = method; + this.raise(method.start, TSErrors.AbstractMethodHasImplementation, key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(key.start, key.end)}]`); + } + } + + return method; + } + + tsParseTypeParameterName() { + const typeName = this.parseIdentifier(); + return typeName.name; + } + + shouldParseAsAmbientContext() { + return !!this.getPluginOption("typescript", "dts"); + } + + parse() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + + return super.parse(); + } + + getExpression() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + + return super.getExpression(); + } + +}); + +const PlaceHolderErrors = makeErrorTemplates({ + ClassNameIsRequired: "A class name is required." +}, ErrorCodes.SyntaxError); +var placeholders = (superClass => class extends superClass { + parsePlaceholder(expectedNode) { + if (this.match(96)) { + const node = this.startNode(); + this.next(); + this.assertNoSpace("Unexpected space in placeholder."); + node.name = super.parseIdentifier(true); + this.assertNoSpace("Unexpected space in placeholder."); + this.expect(96); + return this.finishPlaceholder(node, expectedNode); + } + } + + finishPlaceholder(node, expectedNode) { + const isFinished = !!(node.expectedNode && node.type === "Placeholder"); + node.expectedNode = expectedNode; + return isFinished ? node : this.finishNode(node, "Placeholder"); + } + + getTokenFromCode(code) { + if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) { + return this.finishOp(96, 2); + } + + return super.getTokenFromCode(...arguments); + } + + parseExprAtom() { + return this.parsePlaceholder("Expression") || super.parseExprAtom(...arguments); + } + + parseIdentifier() { + return this.parsePlaceholder("Identifier") || super.parseIdentifier(...arguments); + } + + checkReservedWord(word) { + if (word !== undefined) super.checkReservedWord(...arguments); + } + + parseBindingAtom() { + return this.parsePlaceholder("Pattern") || super.parseBindingAtom(...arguments); + } + + checkLVal(expr) { + if (expr.type !== "Placeholder") super.checkLVal(...arguments); + } + + toAssignable(node) { + if (node && node.type === "Placeholder" && node.expectedNode === "Expression") { + node.expectedNode = "Pattern"; + return node; + } + + return super.toAssignable(...arguments); + } + + isLet(context) { + if (super.isLet(context)) { + return true; + } + + if (!this.isContextual("let")) { + return false; + } + + if (context) return false; + const nextToken = this.lookahead(); + + if (nextToken.type === 96) { + return true; + } + + return false; + } + + verifyBreakContinue(node) { + if (node.label && node.label.type === "Placeholder") return; + super.verifyBreakContinue(...arguments); + } + + parseExpressionStatement(node, expr) { + if (expr.type !== "Placeholder" || expr.extra && expr.extra.parenthesized) { + return super.parseExpressionStatement(...arguments); + } + + if (this.match(22)) { + const stmt = node; + stmt.label = this.finishPlaceholder(expr, "Identifier"); + this.next(); + stmt.body = this.parseStatement("label"); + return this.finishNode(stmt, "LabeledStatement"); + } + + this.semicolon(); + node.name = expr.name; + return this.finishPlaceholder(node, "Statement"); + } + + parseBlock() { + return this.parsePlaceholder("BlockStatement") || super.parseBlock(...arguments); + } + + parseFunctionId() { + return this.parsePlaceholder("Identifier") || super.parseFunctionId(...arguments); + } + + parseClass(node, isStatement, optionalId) { + const type = isStatement ? "ClassDeclaration" : "ClassExpression"; + this.next(); + this.takeDecorators(node); + const oldStrict = this.state.strict; + const placeholder = this.parsePlaceholder("Identifier"); + + if (placeholder) { + if (this.match(80) || this.match(96) || this.match(13)) { + node.id = placeholder; + } else if (optionalId || !isStatement) { + node.id = null; + node.body = this.finishPlaceholder(placeholder, "ClassBody"); + return this.finishNode(node, type); + } else { + this.unexpected(null, PlaceHolderErrors.ClassNameIsRequired); + } + } else { + this.parseClassId(node, isStatement, optionalId); + } + + this.parseClassSuper(node); + node.body = this.parsePlaceholder("ClassBody") || this.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, type); + } + + parseExport(node) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseExport(...arguments); + + if (!this.isContextual("from") && !this.match(20)) { + node.specifiers = []; + node.source = null; + node.declaration = this.finishPlaceholder(placeholder, "Declaration"); + return this.finishNode(node, "ExportNamedDeclaration"); + } + + this.expectPlugin("exportDefaultFrom"); + const specifier = this.startNode(); + specifier.exported = placeholder; + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return super.parseExport(node); + } + + isExportDefaultSpecifier() { + if (this.match(64)) { + const next = this.nextTokenStart(); + + if (this.isUnparsedContextual(next, "from")) { + if (this.input.startsWith(tokenLabelName(96), this.nextTokenStartSince(next + 4))) { + return true; + } + } + } + + return super.isExportDefaultSpecifier(); + } + + maybeParseExportDefaultSpecifier(node) { + if (node.specifiers && node.specifiers.length > 0) { + return true; + } + + return super.maybeParseExportDefaultSpecifier(...arguments); + } + + checkExport(node) { + const { + specifiers + } = node; + + if (specifiers != null && specifiers.length) { + node.specifiers = specifiers.filter(node => node.exported.type === "Placeholder"); + } + + super.checkExport(node); + node.specifiers = specifiers; + } + + parseImport(node) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseImport(...arguments); + node.specifiers = []; + + if (!this.isContextual("from") && !this.match(20)) { + node.source = this.finishPlaceholder(placeholder, "StringLiteral"); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + + const specifier = this.startNodeAtNode(placeholder); + specifier.local = placeholder; + this.finishNode(specifier, "ImportDefaultSpecifier"); + node.specifiers.push(specifier); + + if (this.eat(20)) { + const hasStarImport = this.maybeParseStarImportSpecifier(node); + if (!hasStarImport) this.parseNamedImportSpecifiers(node); + } + + this.expectContextual("from"); + node.source = this.parseImportSource(); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + + parseImportSource() { + return this.parsePlaceholder("StringLiteral") || super.parseImportSource(...arguments); + } + +}); + +var v8intrinsic = (superClass => class extends superClass { + parseV8Intrinsic() { + if (this.match(53)) { + const v8IntrinsicStart = this.state.start; + const node = this.startNode(); + this.eat(53); + + if (this.match(5)) { + const name = this.parseIdentifierName(this.state.start); + const identifier = this.createIdentifier(node, name); + identifier.type = "V8IntrinsicIdentifier"; + + if (this.match(18)) { + return identifier; + } + } + + this.unexpected(v8IntrinsicStart); + } + } + + parseExprAtom() { + return this.parseV8Intrinsic() || super.parseExprAtom(...arguments); + } + +}); + +function hasPlugin(plugins, name) { + return plugins.some(plugin => { + if (Array.isArray(plugin)) { + return plugin[0] === name; + } else { + return plugin === name; + } + }); +} +function getPluginOption(plugins, name, option) { + const plugin = plugins.find(plugin => { + if (Array.isArray(plugin)) { + return plugin[0] === name; + } else { + return plugin === name; + } + }); + + if (plugin && Array.isArray(plugin)) { + return plugin[1][option]; + } + + return null; +} +const PIPELINE_PROPOSALS = ["minimal", "fsharp", "hack", "smart"]; +const TOPIC_TOKENS = ["%", "#"]; +const RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"]; +function validatePlugins(plugins) { + if (hasPlugin(plugins, "decorators")) { + if (hasPlugin(plugins, "decorators-legacy")) { + throw new Error("Cannot use the decorators and decorators-legacy plugin together"); + } + + const decoratorsBeforeExport = getPluginOption(plugins, "decorators", "decoratorsBeforeExport"); + + if (decoratorsBeforeExport == null) { + throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option," + " whose value must be a boolean. If you are migrating from" + " Babylon/Babel 6 or want to use the old decorators proposal, you" + " should use the 'decorators-legacy' plugin instead of 'decorators'."); + } else if (typeof decoratorsBeforeExport !== "boolean") { + throw new Error("'decoratorsBeforeExport' must be a boolean."); + } + } + + if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) { + throw new Error("Cannot combine flow and typescript plugins."); + } + + if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) { + throw new Error("Cannot combine placeholders and v8intrinsic plugins."); + } + + if (hasPlugin(plugins, "pipelineOperator")) { + const proposal = getPluginOption(plugins, "pipelineOperator", "proposal"); + + if (!PIPELINE_PROPOSALS.includes(proposal)) { + const proposalList = PIPELINE_PROPOSALS.map(p => `"${p}"`).join(", "); + throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${proposalList}.`); + } + + const tupleSyntaxIsHash = hasPlugin(plugins, "recordAndTuple") && getPluginOption(plugins, "recordAndTuple", "syntaxType") === "hash"; + + if (proposal === "hack") { + if (hasPlugin(plugins, "placeholders")) { + throw new Error("Cannot combine placeholders plugin and Hack-style pipes."); + } + + if (hasPlugin(plugins, "v8intrinsic")) { + throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes."); + } + + const topicToken = getPluginOption(plugins, "pipelineOperator", "topicToken"); + + if (!TOPIC_TOKENS.includes(topicToken)) { + const tokenList = TOPIC_TOKENS.map(t => `"${t}"`).join(", "); + throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${tokenList}.`); + } + + if (topicToken === "#" && tupleSyntaxIsHash) { + throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.'); + } + } else if (proposal === "smart" && tupleSyntaxIsHash) { + throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.'); + } + } + + if (hasPlugin(plugins, "moduleAttributes")) { + { + if (hasPlugin(plugins, "importAssertions")) { + throw new Error("Cannot combine importAssertions and moduleAttributes plugins."); + } + + const moduleAttributesVerionPluginOption = getPluginOption(plugins, "moduleAttributes", "version"); + + if (moduleAttributesVerionPluginOption !== "may-2020") { + throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'."); + } + } + } + + if (hasPlugin(plugins, "recordAndTuple") && !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins, "recordAndTuple", "syntaxType"))) { + throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(", ")); + } + + if (hasPlugin(plugins, "asyncDoExpressions") && !hasPlugin(plugins, "doExpressions")) { + const error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins."); + error.missingPlugins = "doExpressions"; + throw error; + } +} +const mixinPlugins = { + estree, + jsx, + flow, + typescript, + v8intrinsic, + placeholders +}; +const mixinPluginNames = Object.keys(mixinPlugins); + +const defaultOptions = { + sourceType: "script", + sourceFilename: undefined, + startLine: 1, + allowAwaitOutsideFunction: false, + allowReturnOutsideFunction: false, + allowImportExportEverywhere: false, + allowSuperOutsideMethod: false, + allowUndeclaredExports: false, + plugins: [], + strictMode: null, + ranges: false, + tokens: false, + createParenthesizedExpressions: false, + errorRecovery: false, + attachComment: true +}; +function getOptions(opts) { + const options = {}; + + for (const key of Object.keys(defaultOptions)) { + options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key]; + } + + return options; +} + +const unwrapParenthesizedExpression = node => { + return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node; +}; + +class LValParser extends NodeUtils { + toAssignable(node, isLHS = false) { + var _node$extra, _node$extra3; + + let parenthesized = undefined; + + if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) { + parenthesized = unwrapParenthesizedExpression(node); + + if (isLHS) { + if (parenthesized.type === "Identifier") { + this.expressionScope.recordParenthesizedIdentifierError(node.start, ErrorMessages.InvalidParenthesizedAssignment); + } else if (parenthesized.type !== "MemberExpression") { + this.raise(node.start, ErrorMessages.InvalidParenthesizedAssignment); + } + } else { + this.raise(node.start, ErrorMessages.InvalidParenthesizedAssignment); + } + } + + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + break; + + case "ObjectExpression": + node.type = "ObjectPattern"; + + for (let i = 0, length = node.properties.length, last = length - 1; i < length; i++) { + var _node$extra2; + + const prop = node.properties[i]; + const isLast = i === last; + this.toAssignableObjectExpressionProp(prop, isLast, isLHS); + + if (isLast && prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingComma) { + this.raiseRestNotLast(node.extra.trailingComma); + } + } + + break; + + case "ObjectProperty": + this.toAssignable(node.value, isLHS); + break; + + case "SpreadElement": + { + this.checkToRestConversion(node); + node.type = "RestElement"; + const arg = node.argument; + this.toAssignable(arg, isLHS); + break; + } + + case "ArrayExpression": + node.type = "ArrayPattern"; + this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingComma, isLHS); + break; + + case "AssignmentExpression": + if (node.operator !== "=") { + this.raise(node.left.end, ErrorMessages.MissingEqInAssignment); + } + + node.type = "AssignmentPattern"; + delete node.operator; + this.toAssignable(node.left, isLHS); + break; + + case "ParenthesizedExpression": + this.toAssignable(parenthesized, isLHS); + break; + } + + return node; + } + + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.type === "ObjectMethod") { + const error = prop.kind === "get" || prop.kind === "set" ? ErrorMessages.PatternHasAccessor : ErrorMessages.PatternHasMethod; + this.raise(prop.key.start, error); + } else if (prop.type === "SpreadElement" && !isLast) { + this.raiseRestNotLast(prop.start); + } else { + this.toAssignable(prop, isLHS); + } + } + + toAssignableList(exprList, trailingCommaPos, isLHS) { + let end = exprList.length; + + if (end) { + const last = exprList[end - 1]; + + if ((last == null ? void 0 : last.type) === "RestElement") { + --end; + } else if ((last == null ? void 0 : last.type) === "SpreadElement") { + last.type = "RestElement"; + let arg = last.argument; + this.toAssignable(arg, isLHS); + arg = unwrapParenthesizedExpression(arg); + + if (arg.type !== "Identifier" && arg.type !== "MemberExpression" && arg.type !== "ArrayPattern" && arg.type !== "ObjectPattern") { + this.unexpected(arg.start); + } + + if (trailingCommaPos) { + this.raiseTrailingCommaAfterRest(trailingCommaPos); + } + + --end; + } + } + + for (let i = 0; i < end; i++) { + const elt = exprList[i]; + + if (elt) { + this.toAssignable(elt, isLHS); + + if (elt.type === "RestElement") { + this.raiseRestNotLast(elt.start); + } + } + } + + return exprList; + } + + isAssignable(node, isBinding) { + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + return true; + + case "ObjectExpression": + { + const last = node.properties.length - 1; + return node.properties.every((prop, i) => { + return prop.type !== "ObjectMethod" && (i === last || prop.type !== "SpreadElement") && this.isAssignable(prop); + }); + } + + case "ObjectProperty": + return this.isAssignable(node.value); + + case "SpreadElement": + return this.isAssignable(node.argument); + + case "ArrayExpression": + return node.elements.every(element => element === null || this.isAssignable(element)); + + case "AssignmentExpression": + return node.operator === "="; + + case "ParenthesizedExpression": + return this.isAssignable(node.expression); + + case "MemberExpression": + case "OptionalMemberExpression": + return !isBinding; + + default: + return false; + } + } + + toReferencedList(exprList, isParenthesizedExpr) { + return exprList; + } + + toReferencedListDeep(exprList, isParenthesizedExpr) { + this.toReferencedList(exprList, isParenthesizedExpr); + + for (const expr of exprList) { + if ((expr == null ? void 0 : expr.type) === "ArrayExpression") { + this.toReferencedListDeep(expr.elements); + } + } + } + + parseSpread(refExpressionErrors, refNeedsArrowPos) { + const node = this.startNode(); + this.next(); + node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined, refNeedsArrowPos); + return this.finishNode(node, "SpreadElement"); + } + + parseRestBinding() { + const node = this.startNode(); + this.next(); + node.argument = this.parseBindingAtom(); + return this.finishNode(node, "RestElement"); + } + + parseBindingAtom() { + switch (this.state.type) { + case 8: + { + const node = this.startNode(); + this.next(); + node.elements = this.parseBindingList(11, 93, true); + return this.finishNode(node, "ArrayPattern"); + } + + case 13: + return this.parseObjectLike(16, true); + } + + return this.parseIdentifier(); + } + + parseBindingList(close, closeCharCode, allowEmpty, allowModifiers) { + const elts = []; + let first = true; + + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(20); + } + + if (allowEmpty && this.match(20)) { + elts.push(null); + } else if (this.eat(close)) { + break; + } else if (this.match(29)) { + elts.push(this.parseAssignableListItemTypes(this.parseRestBinding())); + this.checkCommaAfterRest(closeCharCode); + this.expect(close); + break; + } else { + const decorators = []; + + if (this.match(32) && this.hasPlugin("decorators")) { + this.raise(this.state.start, ErrorMessages.UnsupportedParameterDecorator); + } + + while (this.match(32)) { + decorators.push(this.parseDecorator()); + } + + elts.push(this.parseAssignableListItem(allowModifiers, decorators)); + } + } + + return elts; + } + + parseAssignableListItem(allowModifiers, decorators) { + const left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left); + const elt = this.parseMaybeDefault(left.start, left.loc.start, left); + + if (decorators.length) { + left.decorators = decorators; + } + + return elt; + } + + parseAssignableListItemTypes(param) { + return param; + } + + parseMaybeDefault(startPos, startLoc, left) { + var _startLoc, _startPos, _left; + + startLoc = (_startLoc = startLoc) != null ? _startLoc : this.state.startLoc; + startPos = (_startPos = startPos) != null ? _startPos : this.state.start; + left = (_left = left) != null ? _left : this.parseBindingAtom(); + if (!this.eat(35)) return left; + const node = this.startNodeAt(startPos, startLoc); + node.left = left; + node.right = this.parseMaybeAssignAllowIn(); + return this.finishNode(node, "AssignmentPattern"); + } + + checkLVal(expr, contextDescription, bindingType = BIND_NONE, checkClashes, disallowLetBinding, strictModeChanged = false) { + switch (expr.type) { + case "Identifier": + { + const { + name + } = expr; + + if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(name, this.inModule) : isStrictBindOnlyReservedWord(name))) { + this.raise(expr.start, bindingType === BIND_NONE ? ErrorMessages.StrictEvalArguments : ErrorMessages.StrictEvalArgumentsBinding, name); + } + + if (checkClashes) { + if (checkClashes.has(name)) { + this.raise(expr.start, ErrorMessages.ParamDupe); + } else { + checkClashes.add(name); + } + } + + if (disallowLetBinding && name === "let") { + this.raise(expr.start, ErrorMessages.LetInLexicalBinding); + } + + if (!(bindingType & BIND_NONE)) { + this.scope.declareName(name, bindingType, expr.start); + } + + break; + } + + case "MemberExpression": + if (bindingType !== BIND_NONE) { + this.raise(expr.start, ErrorMessages.InvalidPropertyBindingPattern); + } + + break; + + case "ObjectPattern": + for (let prop of expr.properties) { + if (this.isObjectProperty(prop)) prop = prop.value;else if (this.isObjectMethod(prop)) continue; + this.checkLVal(prop, "object destructuring pattern", bindingType, checkClashes, disallowLetBinding); + } + + break; + + case "ArrayPattern": + for (const elem of expr.elements) { + if (elem) { + this.checkLVal(elem, "array destructuring pattern", bindingType, checkClashes, disallowLetBinding); + } + } + + break; + + case "AssignmentPattern": + this.checkLVal(expr.left, "assignment pattern", bindingType, checkClashes); + break; + + case "RestElement": + this.checkLVal(expr.argument, "rest element", bindingType, checkClashes); + break; + + case "ParenthesizedExpression": + this.checkLVal(expr.expression, "parenthesized expression", bindingType, checkClashes); + break; + + default: + { + this.raise(expr.start, bindingType === BIND_NONE ? ErrorMessages.InvalidLhs : ErrorMessages.InvalidLhsBinding, contextDescription); + } + } + } + + checkToRestConversion(node) { + if (node.argument.type !== "Identifier" && node.argument.type !== "MemberExpression") { + this.raise(node.argument.start, ErrorMessages.InvalidRestAssignmentPattern); + } + } + + checkCommaAfterRest(close) { + if (this.match(20)) { + if (this.lookaheadCharCode() === close) { + this.raiseTrailingCommaAfterRest(this.state.start); + } else { + this.raiseRestNotLast(this.state.start); + } + } + } + + raiseRestNotLast(pos) { + throw this.raise(pos, ErrorMessages.ElementAfterRest); + } + + raiseTrailingCommaAfterRest(pos) { + this.raise(pos, ErrorMessages.RestTrailingComma); + } + +} + +const invalidHackPipeBodies = new Map([["ArrowFunctionExpression", "arrow function"], ["AssignmentExpression", "assignment"], ["ConditionalExpression", "conditional"], ["YieldExpression", "yield"]]); +class ExpressionParser extends LValParser { + checkProto(prop, isRecord, protoRef, refExpressionErrors) { + if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) { + return; + } + + const key = prop.key; + const name = key.type === "Identifier" ? key.name : key.value; + + if (name === "__proto__") { + if (isRecord) { + this.raise(key.start, ErrorMessages.RecordNoProto); + return; + } + + if (protoRef.used) { + if (refExpressionErrors) { + if (refExpressionErrors.doubleProto === -1) { + refExpressionErrors.doubleProto = key.start; + } + } else { + this.raise(key.start, ErrorMessages.DuplicateProto); + } + } + + protoRef.used = true; + } + } + + shouldExitDescending(expr, potentialArrowAt) { + return expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt; + } + + getExpression() { + this.enterInitialScopes(); + this.nextToken(); + const expr = this.parseExpression(); + + if (!this.match(7)) { + this.unexpected(); + } + + this.finalizeRemainingComments(); + expr.comments = this.state.comments; + expr.errors = this.state.errors; + + if (this.options.tokens) { + expr.tokens = this.tokens; + } + + return expr; + } + + parseExpression(disallowIn, refExpressionErrors) { + if (disallowIn) { + return this.disallowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + + return this.allowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + + parseExpressionBase(refExpressionErrors) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const expr = this.parseMaybeAssign(refExpressionErrors); + + if (this.match(20)) { + const node = this.startNodeAt(startPos, startLoc); + node.expressions = [expr]; + + while (this.eat(20)) { + node.expressions.push(this.parseMaybeAssign(refExpressionErrors)); + } + + this.toReferencedList(node.expressions); + return this.finishNode(node, "SequenceExpression"); + } + + return expr; + } + + parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) { + return this.disallowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + + parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) { + return this.allowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + + setOptionalParametersError(refExpressionErrors, resultError) { + var _resultError$pos; + + refExpressionErrors.optionalParameters = (_resultError$pos = resultError == null ? void 0 : resultError.pos) != null ? _resultError$pos : this.state.start; + } + + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + + if (this.isContextual("yield")) { + if (this.prodParam.hasYield) { + let left = this.parseYield(); + + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startPos, startLoc); + } + + return left; + } + } + + let ownExpressionErrors; + + if (refExpressionErrors) { + ownExpressionErrors = false; + } else { + refExpressionErrors = new ExpressionErrors(); + ownExpressionErrors = true; + } + + if (this.match(18) || this.match(5)) { + this.state.potentialArrowAt = this.state.start; + } + + let left = this.parseMaybeConditional(refExpressionErrors); + + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startPos, startLoc); + } + + if (tokenIsAssignment(this.state.type)) { + const node = this.startNodeAt(startPos, startLoc); + const operator = this.state.value; + node.operator = operator; + + if (this.match(35)) { + node.left = this.toAssignable(left, true); + refExpressionErrors.doubleProto = -1; + } else { + node.left = left; + } + + if (refExpressionErrors.shorthandAssign >= node.left.start) { + refExpressionErrors.shorthandAssign = -1; + } + + this.checkLVal(left, "assignment expression"); + this.next(); + node.right = this.parseMaybeAssign(); + return this.finishNode(node, "AssignmentExpression"); + } else if (ownExpressionErrors) { + this.checkExpressionErrors(refExpressionErrors, true); + } + + return left; + } + + parseMaybeConditional(refExpressionErrors) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprOps(refExpressionErrors); + + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + + return this.parseConditional(expr, startPos, startLoc, refExpressionErrors); + } + + parseConditional(expr, startPos, startLoc, refExpressionErrors) { + if (this.eat(25)) { + const node = this.startNodeAt(startPos, startLoc); + node.test = expr; + node.consequent = this.parseMaybeAssignAllowIn(); + this.expect(22); + node.alternate = this.parseMaybeAssign(); + return this.finishNode(node, "ConditionalExpression"); + } + + return expr; + } + + parseMaybeUnaryOrPrivate(refExpressionErrors) { + return this.match(6) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors); + } + + parseExprOps(refExpressionErrors) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors); + + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + + return this.parseExprOp(expr, startPos, startLoc, -1); + } + + parseExprOp(left, leftStartPos, leftStartLoc, minPrec) { + if (this.isPrivateName(left)) { + const value = this.getPrivateNameSV(left); + const { + start + } = left; + + if (minPrec >= tokenOperatorPrecedence(57) || !this.prodParam.hasIn || !this.match(57)) { + this.raise(start, ErrorMessages.PrivateInExpectedIn, value); + } + + this.classScope.usePrivateName(value, start); + } + + const op = this.state.type; + + if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(57))) { + let prec = tokenOperatorPrecedence(op); + + if (prec > minPrec) { + if (op === 42) { + this.expectPlugin("pipelineOperator"); + + if (this.state.inFSharpPipelineDirectBody) { + return left; + } + + this.checkPipelineAtInfixOperator(left, leftStartPos); + } + + const node = this.startNodeAt(leftStartPos, leftStartLoc); + node.left = left; + node.operator = this.state.value; + const logical = op === 44 || op === 45; + const coalesce = op === 43; + + if (coalesce) { + prec = tokenOperatorPrecedence(45); + } + + this.next(); + + if (op === 42 && this.getPluginOption("pipelineOperator", "proposal") === "minimal") { + if (this.match(5) && this.state.value === "await" && this.prodParam.hasAwait) { + throw this.raise(this.state.start, ErrorMessages.UnexpectedAwaitAfterPipelineBody); + } + } + + node.right = this.parseExprOpRightExpr(op, prec); + this.finishNode(node, logical || coalesce ? "LogicalExpression" : "BinaryExpression"); + const nextOp = this.state.type; + + if (coalesce && (nextOp === 44 || nextOp === 45) || logical && nextOp === 43) { + throw this.raise(this.state.start, ErrorMessages.MixingCoalesceWithLogical); + } + + return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec); + } + } + + return left; + } + + parseExprOpRightExpr(op, prec) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + + switch (op) { + case 42: + switch (this.getPluginOption("pipelineOperator", "proposal")) { + case "hack": + return this.withTopicBindingContext(() => { + return this.parseHackPipeBody(); + }); + + case "smart": + return this.withTopicBindingContext(() => { + if (this.prodParam.hasYield && this.isContextual("yield")) { + throw this.raise(this.state.start, ErrorMessages.PipeBodyIsTighter, this.state.value); + } + + return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startPos, startLoc); + }); + + case "fsharp": + return this.withSoloAwaitPermittingContext(() => { + return this.parseFSharpPipelineBody(prec); + }); + } + + default: + return this.parseExprOpBaseRightExpr(op, prec); + } + } + + parseExprOpBaseRightExpr(op, prec) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startPos, startLoc, tokenIsRightAssociative(op) ? prec - 1 : prec); + } + + parseHackPipeBody() { + var _body$extra; + + const { + start + } = this.state; + const body = this.parseMaybeAssign(); + + if (invalidHackPipeBodies.has(body.type) && !((_body$extra = body.extra) != null && _body$extra.parenthesized)) { + this.raise(start, ErrorMessages.PipeUnparenthesizedBody, invalidHackPipeBodies.get(body.type)); + } + + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(start, ErrorMessages.PipeTopicUnused); + } + + return body; + } + + checkExponentialAfterUnary(node) { + if (this.match(56)) { + this.raise(node.argument.start, ErrorMessages.UnexpectedTokenUnaryExponentiation); + } + } + + parseMaybeUnary(refExpressionErrors, sawUnary) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const isAwait = this.isContextual("await"); + + if (isAwait && this.isAwaitAllowed()) { + this.next(); + const expr = this.parseAwait(startPos, startLoc); + if (!sawUnary) this.checkExponentialAfterUnary(expr); + return expr; + } + + const update = this.match(39); + const node = this.startNode(); + + if (tokenIsPrefix(this.state.type)) { + node.operator = this.state.value; + node.prefix = true; + + if (this.match(71)) { + this.expectPlugin("throwExpressions"); + } + + const isDelete = this.match(88); + this.next(); + node.argument = this.parseMaybeUnary(null, true); + this.checkExpressionErrors(refExpressionErrors, true); + + if (this.state.strict && isDelete) { + const arg = node.argument; + + if (arg.type === "Identifier") { + this.raise(node.start, ErrorMessages.StrictDelete); + } else if (this.hasPropertyAsPrivateName(arg)) { + this.raise(node.start, ErrorMessages.DeletePrivateField); + } + } + + if (!update) { + if (!sawUnary) this.checkExponentialAfterUnary(node); + return this.finishNode(node, "UnaryExpression"); + } + } + + const expr = this.parseUpdate(node, update, refExpressionErrors); + + if (isAwait) { + const { + type + } = this.state; + const startsExpr = this.hasPlugin("v8intrinsic") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(53); + + if (startsExpr && !this.isAmbiguousAwait()) { + this.raiseOverwrite(startPos, ErrorMessages.AwaitNotInAsyncContext); + return this.parseAwait(startPos, startLoc); + } + } + + return expr; + } + + parseUpdate(node, update, refExpressionErrors) { + if (update) { + this.checkLVal(node.argument, "prefix operation"); + return this.finishNode(node, "UpdateExpression"); + } + + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let expr = this.parseExprSubscripts(refExpressionErrors); + if (this.checkExpressionErrors(refExpressionErrors, false)) return expr; + + while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startPos, startLoc); + node.operator = this.state.value; + node.prefix = false; + node.argument = expr; + this.checkLVal(expr, "postfix operation"); + this.next(); + expr = this.finishNode(node, "UpdateExpression"); + } + + return expr; + } + + parseExprSubscripts(refExpressionErrors) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprAtom(refExpressionErrors); + + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + + return this.parseSubscripts(expr, startPos, startLoc); + } + + parseSubscripts(base, startPos, startLoc, noCalls) { + const state = { + optionalChainMember: false, + maybeAsyncArrow: this.atPossibleAsyncArrow(base), + stop: false + }; + + do { + base = this.parseSubscript(base, startPos, startLoc, noCalls, state); + state.maybeAsyncArrow = false; + } while (!state.stop); + + return base; + } + + parseSubscript(base, startPos, startLoc, noCalls, state) { + if (!noCalls && this.eat(23)) { + return this.parseBind(base, startPos, startLoc, noCalls, state); + } else if (this.match(30)) { + return this.parseTaggedTemplateExpression(base, startPos, startLoc, state); + } + + let optional = false; + + if (this.match(26)) { + if (noCalls && this.lookaheadCharCode() === 40) { + state.stop = true; + return base; + } + + state.optionalChainMember = optional = true; + this.next(); + } + + if (!noCalls && this.match(18)) { + return this.parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional); + } else { + const computed = this.eat(8); + + if (computed || optional || this.eat(24)) { + return this.parseMember(base, startPos, startLoc, state, computed, optional); + } else { + state.stop = true; + return base; + } + } + } + + parseMember(base, startPos, startLoc, state, computed, optional) { + const node = this.startNodeAt(startPos, startLoc); + node.object = base; + node.computed = computed; + const privateName = !computed && this.match(6) && this.state.value; + const property = computed ? this.parseExpression() : privateName ? this.parsePrivateName() : this.parseIdentifier(true); + + if (privateName !== false) { + if (node.object.type === "Super") { + this.raise(startPos, ErrorMessages.SuperPrivateField); + } + + this.classScope.usePrivateName(privateName, property.start); + } + + node.property = property; + + if (computed) { + this.expect(11); + } + + if (state.optionalChainMember) { + node.optional = optional; + return this.finishNode(node, "OptionalMemberExpression"); + } else { + return this.finishNode(node, "MemberExpression"); + } + } + + parseBind(base, startPos, startLoc, noCalls, state) { + const node = this.startNodeAt(startPos, startLoc); + node.object = base; + node.callee = this.parseNoCallExpr(); + state.stop = true; + return this.parseSubscripts(this.finishNode(node, "BindExpression"), startPos, startLoc, noCalls); + } + + parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional) { + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + let refExpressionErrors = null; + this.state.maybeInArrowParameters = true; + this.next(); + let node = this.startNodeAt(startPos, startLoc); + node.callee = base; + + if (state.maybeAsyncArrow) { + this.expressionScope.enter(newAsyncArrowScope()); + refExpressionErrors = new ExpressionErrors(); + } + + if (state.optionalChainMember) { + node.optional = optional; + } + + if (optional) { + node.arguments = this.parseCallExpressionArguments(19); + } else { + node.arguments = this.parseCallExpressionArguments(19, base.type === "Import", base.type !== "Super", node, refExpressionErrors); + } + + this.finishCallExpression(node, state.optionalChainMember); + + if (state.maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) { + state.stop = true; + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + node = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startPos, startLoc), node); + } else { + if (state.maybeAsyncArrow) { + this.checkExpressionErrors(refExpressionErrors, true); + this.expressionScope.exit(); + } + + this.toReferencedArguments(node); + } + + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return node; + } + + toReferencedArguments(node, isParenthesizedExpr) { + this.toReferencedListDeep(node.arguments, isParenthesizedExpr); + } + + parseTaggedTemplateExpression(base, startPos, startLoc, state) { + const node = this.startNodeAt(startPos, startLoc); + node.tag = base; + node.quasi = this.parseTemplate(true); + + if (state.optionalChainMember) { + this.raise(startPos, ErrorMessages.OptionalChainingNoTemplate); + } + + return this.finishNode(node, "TaggedTemplateExpression"); + } + + atPossibleAsyncArrow(base) { + return base.type === "Identifier" && base.name === "async" && this.state.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && base.start === this.state.potentialArrowAt; + } + + finishCallExpression(node, optional) { + if (node.callee.type === "Import") { + if (node.arguments.length === 2) { + { + if (!this.hasPlugin("moduleAttributes")) { + this.expectPlugin("importAssertions"); + } + } + } + + if (node.arguments.length === 0 || node.arguments.length > 2) { + this.raise(node.start, ErrorMessages.ImportCallArity, this.hasPlugin("importAssertions") || this.hasPlugin("moduleAttributes") ? "one or two arguments" : "one argument"); + } else { + for (const arg of node.arguments) { + if (arg.type === "SpreadElement") { + this.raise(arg.start, ErrorMessages.ImportCallSpreadArgument); + } + } + } + } + + return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression"); + } + + parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) { + const elts = []; + let first = true; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(20); + + if (this.match(close)) { + if (dynamicImport && !this.hasPlugin("importAssertions") && !this.hasPlugin("moduleAttributes")) { + this.raise(this.state.lastTokStart, ErrorMessages.ImportCallArgumentTrailingComma); + } + + if (nodeForExtra) { + this.addExtra(nodeForExtra, "trailingComma", this.state.lastTokStart); + } + + this.next(); + break; + } + } + + elts.push(this.parseExprListItem(false, refExpressionErrors, allowPlaceholder)); + } + + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return elts; + } + + shouldParseAsyncArrow() { + return this.match(27) && !this.canInsertSemicolon(); + } + + parseAsyncArrowFromCallExpression(node, call) { + var _call$extra; + + this.resetPreviousNodeTrailingComments(call); + this.expect(27); + this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingComma); + setInnerComments(node, call.innerComments); + setInnerComments(node, call.callee.trailingComments); + return node; + } + + parseNoCallExpr() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + return this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true); + } + + parseExprAtom(refExpressionErrors) { + let node; + + switch (this.state.type) { + case 78: + return this.parseSuper(); + + case 82: + node = this.startNode(); + this.next(); + + if (this.match(24)) { + return this.parseImportMetaProperty(node); + } + + if (!this.match(18)) { + this.raise(this.state.lastTokStart, ErrorMessages.UnsupportedImport); + } + + return this.finishNode(node, "Import"); + + case 77: + node = this.startNode(); + this.next(); + return this.finishNode(node, "ThisExpression"); + + case 5: + { + if (this.isContextual("module") && this.lookaheadCharCode() === 123 && !this.hasFollowingLineBreak()) { + return this.parseModuleExpression(); + } + + const canBeArrow = this.state.potentialArrowAt === this.state.start; + const containsEsc = this.state.containsEsc; + const id = this.parseIdentifier(); + + if (!containsEsc && id.name === "async" && !this.canInsertSemicolon()) { + if (this.match(67)) { + this.resetPreviousNodeTrailingComments(id); + this.next(); + return this.parseFunction(this.startNodeAtNode(id), undefined, true); + } else if (this.match(5)) { + if (this.lookaheadCharCode() === 61) { + return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id)); + } else { + return id; + } + } else if (this.match(89)) { + this.resetPreviousNodeTrailingComments(id); + return this.parseDo(this.startNodeAtNode(id), true); + } + } + + if (canBeArrow && this.match(27) && !this.canInsertSemicolon()) { + this.next(); + return this.parseArrowExpression(this.startNodeAtNode(id), [id], false); + } + + return id; + } + + case 89: + { + return this.parseDo(this.startNode(), false); + } + + case 55: + case 37: + { + this.readRegexp(); + return this.parseRegExpLiteral(this.state.value); + } + + case 0: + return this.parseNumericLiteral(this.state.value); + + case 1: + return this.parseBigIntLiteral(this.state.value); + + case 2: + return this.parseDecimalLiteral(this.state.value); + + case 4: + return this.parseStringLiteral(this.state.value); + + case 83: + return this.parseNullLiteral(); + + case 84: + return this.parseBooleanLiteral(true); + + case 85: + return this.parseBooleanLiteral(false); + + case 18: + { + const canBeArrow = this.state.potentialArrowAt === this.state.start; + return this.parseParenAndDistinguishExpression(canBeArrow); + } + + case 10: + case 9: + { + return this.parseArrayLike(this.state.type === 10 ? 12 : 11, false, true, refExpressionErrors); + } + + case 8: + { + return this.parseArrayLike(11, true, false, refExpressionErrors); + } + + case 14: + case 15: + { + return this.parseObjectLike(this.state.type === 14 ? 17 : 16, false, true, refExpressionErrors); + } + + case 13: + { + return this.parseObjectLike(16, false, false, refExpressionErrors); + } + + case 67: + return this.parseFunctionOrFunctionSent(); + + case 32: + this.parseDecorators(); + + case 79: + node = this.startNode(); + this.takeDecorators(node); + return this.parseClass(node, false); + + case 76: + return this.parseNewOrNewTarget(); + + case 30: + return this.parseTemplate(false); + + case 23: + { + node = this.startNode(); + this.next(); + node.object = null; + const callee = node.callee = this.parseNoCallExpr(); + + if (callee.type === "MemberExpression") { + return this.finishNode(node, "BindExpression"); + } else { + throw this.raise(callee.start, ErrorMessages.UnsupportedBind); + } + } + + case 6: + { + this.raise(this.state.start, ErrorMessages.PrivateInExpectedIn, this.state.value); + return this.parsePrivateName(); + } + + case 38: + if (this.getPluginOption("pipelineOperator", "proposal") === "hack" && this.getPluginOption("pipelineOperator", "topicToken") === "%") { + this.state.value = "%"; + this.state.type = 53; + this.state.pos--; + this.state.end--; + this.state.endLoc.column--; + } else { + throw this.unexpected(); + } + + case 53: + case 33: + { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + + if (pipeProposal) { + node = this.startNode(); + const start = this.state.start; + const tokenType = this.state.type; + this.next(); + return this.finishTopicReference(node, start, pipeProposal, tokenType); + } + } + + case 50: + { + if (this.state.value === "<") { + const lookaheadCh = this.input.codePointAt(this.nextTokenStart()); + + if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) { + this.expectOnePlugin(["jsx", "flow", "typescript"]); + } + } + } + + default: + throw this.unexpected(); + } + } + + finishTopicReference(node, start, pipeProposal, tokenType) { + if (this.testTopicReferenceConfiguration(pipeProposal, start, tokenType)) { + let nodeType; + + if (pipeProposal === "smart") { + nodeType = "PipelinePrimaryTopicReference"; + } else { + nodeType = "TopicReference"; + } + + if (!this.topicReferenceIsAllowedInCurrentContext()) { + if (pipeProposal === "smart") { + this.raise(start, ErrorMessages.PrimaryTopicNotAllowed); + } else { + this.raise(start, ErrorMessages.PipeTopicUnbound); + } + } + + this.registerTopicReference(); + return this.finishNode(node, nodeType); + } else { + throw this.raise(start, ErrorMessages.PipeTopicUnconfiguredToken, tokenLabelName(tokenType)); + } + } + + testTopicReferenceConfiguration(pipeProposal, start, tokenType) { + switch (pipeProposal) { + case "hack": + { + const pluginTopicToken = this.getPluginOption("pipelineOperator", "topicToken"); + return tokenLabelName(tokenType) === pluginTopicToken; + } + + case "smart": + return tokenType === 33; + + default: + throw this.raise(start, ErrorMessages.PipeTopicRequiresHackPipes); + } + } + + parseAsyncArrowUnaryFunction(node) { + this.prodParam.enter(functionFlags(true, this.prodParam.hasYield)); + const params = [this.parseIdentifier()]; + this.prodParam.exit(); + + if (this.hasPrecedingLineBreak()) { + this.raise(this.state.pos, ErrorMessages.LineTerminatorBeforeArrow); + } + + this.expect(27); + this.parseArrowExpression(node, params, true); + return node; + } + + parseDo(node, isAsync) { + this.expectPlugin("doExpressions"); + + if (isAsync) { + this.expectPlugin("asyncDoExpressions"); + } + + node.async = isAsync; + this.next(); + const oldLabels = this.state.labels; + this.state.labels = []; + + if (isAsync) { + this.prodParam.enter(PARAM_AWAIT); + node.body = this.parseBlock(); + this.prodParam.exit(); + } else { + node.body = this.parseBlock(); + } + + this.state.labels = oldLabels; + return this.finishNode(node, "DoExpression"); + } + + parseSuper() { + const node = this.startNode(); + this.next(); + + if (this.match(18) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) { + this.raise(node.start, ErrorMessages.SuperNotAllowed); + } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) { + this.raise(node.start, ErrorMessages.UnexpectedSuper); + } + + if (!this.match(18) && !this.match(8) && !this.match(24)) { + this.raise(node.start, ErrorMessages.UnsupportedSuper); + } + + return this.finishNode(node, "Super"); + } + + parseMaybePrivateName(isPrivateNameAllowed) { + const isPrivate = this.match(6); + + if (isPrivate) { + if (!isPrivateNameAllowed) { + this.raise(this.state.start + 1, ErrorMessages.UnexpectedPrivateField); + } + + return this.parsePrivateName(); + } else { + return this.parseIdentifier(true); + } + } + + parsePrivateName() { + const node = this.startNode(); + const id = this.startNodeAt(this.state.start + 1, new Position(this.state.curLine, this.state.start + 1 - this.state.lineStart)); + const name = this.state.value; + this.next(); + node.id = this.createIdentifier(id, name); + return this.finishNode(node, "PrivateName"); + } + + parseFunctionOrFunctionSent() { + const node = this.startNode(); + this.next(); + + if (this.prodParam.hasYield && this.match(24)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "function"); + this.next(); + return this.parseMetaProperty(node, meta, "sent"); + } + + return this.parseFunction(node); + } + + parseMetaProperty(node, meta, propertyName) { + node.meta = meta; + + if (meta.name === "function" && propertyName === "sent") { + if (this.isContextual(propertyName)) { + this.expectPlugin("functionSent"); + } else if (!this.hasPlugin("functionSent")) { + this.unexpected(); + } + } + + const containsEsc = this.state.containsEsc; + node.property = this.parseIdentifier(true); + + if (node.property.name !== propertyName || containsEsc) { + this.raise(node.property.start, ErrorMessages.UnsupportedMetaProperty, meta.name, propertyName); + } + + return this.finishNode(node, "MetaProperty"); + } + + parseImportMetaProperty(node) { + const id = this.createIdentifier(this.startNodeAtNode(node), "import"); + this.next(); + + if (this.isContextual("meta")) { + if (!this.inModule) { + this.raise(id.start, SourceTypeModuleErrorMessages.ImportMetaOutsideModule); + } + + this.sawUnambiguousESM = true; + } + + return this.parseMetaProperty(node, id, "meta"); + } + + parseLiteralAtNode(value, type, node) { + this.addExtra(node, "rawValue", value); + this.addExtra(node, "raw", this.input.slice(node.start, this.state.end)); + node.value = value; + this.next(); + return this.finishNode(node, type); + } + + parseLiteral(value, type) { + const node = this.startNode(); + return this.parseLiteralAtNode(value, type, node); + } + + parseStringLiteral(value) { + return this.parseLiteral(value, "StringLiteral"); + } + + parseNumericLiteral(value) { + return this.parseLiteral(value, "NumericLiteral"); + } + + parseBigIntLiteral(value) { + return this.parseLiteral(value, "BigIntLiteral"); + } + + parseDecimalLiteral(value) { + return this.parseLiteral(value, "DecimalLiteral"); + } + + parseRegExpLiteral(value) { + const node = this.parseLiteral(value.value, "RegExpLiteral"); + node.pattern = value.pattern; + node.flags = value.flags; + return node; + } + + parseBooleanLiteral(value) { + const node = this.startNode(); + node.value = value; + this.next(); + return this.finishNode(node, "BooleanLiteral"); + } + + parseNullLiteral() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "NullLiteral"); + } + + parseParenAndDistinguishExpression(canBeArrow) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let val; + this.next(); + this.expressionScope.enter(newArrowHeadScope()); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.maybeInArrowParameters = true; + this.state.inFSharpPipelineDirectBody = false; + const innerStartPos = this.state.start; + const innerStartLoc = this.state.startLoc; + const exprList = []; + const refExpressionErrors = new ExpressionErrors(); + let first = true; + let spreadStart; + let optionalCommaStart; + + while (!this.match(19)) { + if (first) { + first = false; + } else { + this.expect(20, refExpressionErrors.optionalParameters === -1 ? null : refExpressionErrors.optionalParameters); + + if (this.match(19)) { + optionalCommaStart = this.state.start; + break; + } + } + + if (this.match(29)) { + const spreadNodeStartPos = this.state.start; + const spreadNodeStartLoc = this.state.startLoc; + spreadStart = this.state.start; + exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartPos, spreadNodeStartLoc)); + this.checkCommaAfterRest(41); + break; + } else { + exprList.push(this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem)); + } + } + + const innerEndPos = this.state.lastTokEnd; + const innerEndLoc = this.state.lastTokEndLoc; + this.expect(19); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let arrowNode = this.startNodeAt(startPos, startLoc); + + if (canBeArrow && this.shouldParseArrow(exprList) && (arrowNode = this.parseArrow(arrowNode))) { + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + this.parseArrowExpression(arrowNode, exprList, false); + return arrowNode; + } + + this.expressionScope.exit(); + + if (!exprList.length) { + this.unexpected(this.state.lastTokStart); + } + + if (optionalCommaStart) this.unexpected(optionalCommaStart); + if (spreadStart) this.unexpected(spreadStart); + this.checkExpressionErrors(refExpressionErrors, true); + this.toReferencedListDeep(exprList, true); + + if (exprList.length > 1) { + val = this.startNodeAt(innerStartPos, innerStartLoc); + val.expressions = exprList; + this.finishNode(val, "SequenceExpression"); + this.resetEndLocation(val, innerEndPos, innerEndLoc); + } else { + val = exprList[0]; + } + + if (!this.options.createParenthesizedExpressions) { + this.addExtra(val, "parenthesized", true); + this.addExtra(val, "parenStart", startPos); + return val; + } + + const parenExpression = this.startNodeAt(startPos, startLoc); + parenExpression.expression = val; + this.finishNode(parenExpression, "ParenthesizedExpression"); + return parenExpression; + } + + shouldParseArrow(params) { + return !this.canInsertSemicolon(); + } + + parseArrow(node) { + if (this.eat(27)) { + return node; + } + } + + parseParenItem(node, startPos, startLoc) { + return node; + } + + parseNewOrNewTarget() { + const node = this.startNode(); + this.next(); + + if (this.match(24)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "new"); + this.next(); + const metaProp = this.parseMetaProperty(node, meta, "target"); + + if (!this.scope.inNonArrowFunction && !this.scope.inClass) { + this.raise(metaProp.start, ErrorMessages.UnexpectedNewTarget); + } + + return metaProp; + } + + return this.parseNew(node); + } + + parseNew(node) { + node.callee = this.parseNoCallExpr(); + + if (node.callee.type === "Import") { + this.raise(node.callee.start, ErrorMessages.ImportCallNotNewExpression); + } else if (this.isOptionalChain(node.callee)) { + this.raise(this.state.lastTokEnd, ErrorMessages.OptionalChainingNoNew); + } else if (this.eat(26)) { + this.raise(this.state.start, ErrorMessages.OptionalChainingNoNew); + } + + this.parseNewArguments(node); + return this.finishNode(node, "NewExpression"); + } + + parseNewArguments(node) { + if (this.eat(18)) { + const args = this.parseExprList(19); + this.toReferencedList(args); + node.arguments = args; + } else { + node.arguments = []; + } + } + + parseTemplateElement(isTagged) { + const elem = this.startNode(); + + if (this.state.value === null) { + if (!isTagged) { + this.raise(this.state.start + 1, ErrorMessages.InvalidEscapeSequenceTemplate); + } + } + + elem.value = { + raw: this.input.slice(this.state.start, this.state.end).replace(/\r\n?/g, "\n"), + cooked: this.state.value + }; + this.next(); + elem.tail = this.match(30); + return this.finishNode(elem, "TemplateElement"); + } + + parseTemplate(isTagged) { + const node = this.startNode(); + this.next(); + node.expressions = []; + let curElt = this.parseTemplateElement(isTagged); + node.quasis = [curElt]; + + while (!curElt.tail) { + this.expect(31); + node.expressions.push(this.parseTemplateSubstitution()); + this.expect(16); + node.quasis.push(curElt = this.parseTemplateElement(isTagged)); + } + + this.next(); + return this.finishNode(node, "TemplateLiteral"); + } + + parseTemplateSubstitution() { + return this.parseExpression(); + } + + parseObjectLike(close, isPattern, isRecord, refExpressionErrors) { + if (isRecord) { + this.expectPlugin("recordAndTuple"); + } + + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + const propHash = Object.create(null); + let first = true; + const node = this.startNode(); + node.properties = []; + this.next(); + + while (!this.match(close)) { + if (first) { + first = false; + } else { + this.expect(20); + + if (this.match(close)) { + this.addExtra(node, "trailingComma", this.state.lastTokStart); + break; + } + } + + const prop = this.parsePropertyDefinition(isPattern, refExpressionErrors); + + if (!isPattern) { + this.checkProto(prop, isRecord, propHash, refExpressionErrors); + } + + if (isRecord && !this.isObjectProperty(prop) && prop.type !== "SpreadElement") { + this.raise(prop.start, ErrorMessages.InvalidRecordProperty); + } + + if (prop.shorthand) { + this.addExtra(prop, "shorthand", true); + } + + node.properties.push(prop); + } + + this.next(); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let type = "ObjectExpression"; + + if (isPattern) { + type = "ObjectPattern"; + } else if (isRecord) { + type = "RecordExpression"; + } + + return this.finishNode(node, type); + } + + maybeAsyncOrAccessorProp(prop) { + return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(8) || this.match(54)); + } + + parsePropertyDefinition(isPattern, refExpressionErrors) { + let decorators = []; + + if (this.match(32)) { + if (this.hasPlugin("decorators")) { + this.raise(this.state.start, ErrorMessages.UnsupportedPropertyDecorator); + } + + while (this.match(32)) { + decorators.push(this.parseDecorator()); + } + } + + const prop = this.startNode(); + let isGenerator = false; + let isAsync = false; + let isAccessor = false; + let startPos; + let startLoc; + + if (this.match(29)) { + if (decorators.length) this.unexpected(); + + if (isPattern) { + this.next(); + prop.argument = this.parseIdentifier(); + this.checkCommaAfterRest(125); + return this.finishNode(prop, "RestElement"); + } + + return this.parseSpread(); + } + + if (decorators.length) { + prop.decorators = decorators; + decorators = []; + } + + prop.method = false; + + if (isPattern || refExpressionErrors) { + startPos = this.state.start; + startLoc = this.state.startLoc; + } + + if (!isPattern) { + isGenerator = this.eat(54); + } + + const containsEsc = this.state.containsEsc; + const key = this.parsePropertyName(prop, false); + + if (!isPattern && !isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) { + const keyName = key.name; + + if (keyName === "async" && !this.hasPrecedingLineBreak()) { + isAsync = true; + this.resetPreviousNodeTrailingComments(key); + isGenerator = this.eat(54); + this.parsePropertyName(prop, false); + } + + if (keyName === "get" || keyName === "set") { + isAccessor = true; + this.resetPreviousNodeTrailingComments(key); + prop.kind = keyName; + + if (this.match(54)) { + isGenerator = true; + this.raise(this.state.pos, ErrorMessages.AccessorIsGenerator, keyName); + this.next(); + } + + this.parsePropertyName(prop, false); + } + } + + this.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + return prop; + } + + getGetterSetterExpectedParamCount(method) { + return method.kind === "get" ? 0 : 1; + } + + getObjectOrClassMethodParams(method) { + return method.params; + } + + checkGetterSetterParams(method) { + var _params; + + const paramCount = this.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + const start = method.start; + + if (params.length !== paramCount) { + if (method.kind === "get") { + this.raise(start, ErrorMessages.BadGetterArity); + } else { + this.raise(start, ErrorMessages.BadSetterArity); + } + } + + if (method.kind === "set" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === "RestElement") { + this.raise(start, ErrorMessages.BadSetterRestParameter); + } + } + + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { + if (isAccessor) { + this.parseMethod(prop, isGenerator, false, false, false, "ObjectMethod"); + this.checkGetterSetterParams(prop); + return prop; + } + + if (isAsync || isGenerator || this.match(18)) { + if (isPattern) this.unexpected(); + prop.kind = "method"; + prop.method = true; + return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod"); + } + } + + parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) { + prop.shorthand = false; + + if (this.eat(22)) { + prop.value = isPattern ? this.parseMaybeDefault(this.state.start, this.state.startLoc) : this.parseMaybeAssignAllowIn(refExpressionErrors); + return this.finishNode(prop, "ObjectProperty"); + } + + if (!prop.computed && prop.key.type === "Identifier") { + this.checkReservedWord(prop.key.name, prop.key.start, true, false); + + if (isPattern) { + prop.value = this.parseMaybeDefault(startPos, startLoc, cloneIdentifier(prop.key)); + } else if (this.match(35) && refExpressionErrors) { + if (refExpressionErrors.shorthandAssign === -1) { + refExpressionErrors.shorthandAssign = this.state.start; + } + + prop.value = this.parseMaybeDefault(startPos, startLoc, cloneIdentifier(prop.key)); + } else { + prop.value = cloneIdentifier(prop.key); + } + + prop.shorthand = true; + return this.finishNode(prop, "ObjectProperty"); + } + } + + parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors); + if (!node) this.unexpected(); + return node; + } + + parsePropertyName(prop, isPrivateNameAllowed) { + if (this.eat(8)) { + prop.computed = true; + prop.key = this.parseMaybeAssignAllowIn(); + this.expect(11); + } else { + const oldInPropertyName = this.state.inPropertyName; + this.state.inPropertyName = true; + const type = this.state.type; + prop.key = type === 0 || type === 4 || type === 1 || type === 2 ? this.parseExprAtom() : this.parseMaybePrivateName(isPrivateNameAllowed); + + if (type !== 6) { + prop.computed = false; + } + + this.state.inPropertyName = oldInPropertyName; + } + + return prop.key; + } + + initFunction(node, isAsync) { + node.id = null; + node.generator = false; + node.async = !!isAsync; + } + + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + this.initFunction(node, isAsync); + node.generator = !!isGenerator; + const allowModifiers = isConstructor; + this.scope.enter(SCOPE_FUNCTION | SCOPE_SUPER | (inClassScope ? SCOPE_CLASS : 0) | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0)); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + this.parseFunctionParams(node, allowModifiers); + this.parseFunctionBodyAndFinish(node, type, true); + this.prodParam.exit(); + this.scope.exit(); + return node; + } + + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + if (isTuple) { + this.expectPlugin("recordAndTuple"); + } + + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + const node = this.startNode(); + this.next(); + node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return this.finishNode(node, isTuple ? "TupleExpression" : "ArrayExpression"); + } + + parseArrowExpression(node, params, isAsync, trailingCommaPos) { + this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW); + let flags = functionFlags(isAsync, false); + + if (!this.match(8) && this.prodParam.hasIn) { + flags |= PARAM_IN; + } + + this.prodParam.enter(flags); + this.initFunction(node, isAsync); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + + if (params) { + this.state.maybeInArrowParameters = true; + this.setArrowFunctionParameters(node, params, trailingCommaPos); + } + + this.state.maybeInArrowParameters = false; + this.parseFunctionBody(node, true); + this.prodParam.exit(); + this.scope.exit(); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return this.finishNode(node, "ArrowFunctionExpression"); + } + + setArrowFunctionParameters(node, params, trailingCommaPos) { + node.params = this.toAssignableList(params, trailingCommaPos, false); + } + + parseFunctionBodyAndFinish(node, type, isMethod = false) { + this.parseFunctionBody(node, false, isMethod); + this.finishNode(node, type); + } + + parseFunctionBody(node, allowExpression, isMethod = false) { + const isExpression = allowExpression && !this.match(13); + this.expressionScope.enter(newExpressionScope()); + + if (isExpression) { + node.body = this.parseMaybeAssign(); + this.checkParams(node, false, allowExpression, false); + } else { + const oldStrict = this.state.strict; + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(this.prodParam.currentFlags() | PARAM_RETURN); + node.body = this.parseBlock(true, false, hasStrictModeDirective => { + const nonSimple = !this.isSimpleParamList(node.params); + + if (hasStrictModeDirective && nonSimple) { + const errorPos = (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.end : node.start; + this.raise(errorPos, ErrorMessages.IllegalLanguageModeDirective); + } + + const strictModeChanged = !oldStrict && this.state.strict; + this.checkParams(node, !this.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged); + + if (this.state.strict && node.id) { + this.checkLVal(node.id, "function name", BIND_OUTSIDE, undefined, undefined, strictModeChanged); + } + }); + this.prodParam.exit(); + this.expressionScope.exit(); + this.state.labels = oldLabels; + } + } + + isSimpleParamList(params) { + for (let i = 0, len = params.length; i < len; i++) { + if (params[i].type !== "Identifier") return false; + } + + return true; + } + + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + const checkClashes = new Set(); + + for (const param of node.params) { + this.checkLVal(param, "function parameter list", BIND_VAR, allowDuplicates ? null : checkClashes, undefined, strictModeChanged); + } + } + + parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) { + const elts = []; + let first = true; + + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(20); + + if (this.match(close)) { + if (nodeForExtra) { + this.addExtra(nodeForExtra, "trailingComma", this.state.lastTokStart); + } + + this.next(); + break; + } + } + + elts.push(this.parseExprListItem(allowEmpty, refExpressionErrors)); + } + + return elts; + } + + parseExprListItem(allowEmpty, refExpressionErrors, allowPlaceholder) { + let elt; + + if (this.match(20)) { + if (!allowEmpty) { + this.raise(this.state.pos, ErrorMessages.UnexpectedToken, ","); + } + + elt = null; + } else if (this.match(29)) { + const spreadNodeStartPos = this.state.start; + const spreadNodeStartLoc = this.state.startLoc; + elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartPos, spreadNodeStartLoc); + } else if (this.match(25)) { + this.expectPlugin("partialApplication"); + + if (!allowPlaceholder) { + this.raise(this.state.start, ErrorMessages.UnexpectedArgumentPlaceholder); + } + + const node = this.startNode(); + this.next(); + elt = this.finishNode(node, "ArgumentPlaceholder"); + } else { + elt = this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem); + } + + return elt; + } + + parseIdentifier(liberal) { + const node = this.startNode(); + const name = this.parseIdentifierName(node.start, liberal); + return this.createIdentifier(node, name); + } + + createIdentifier(node, name) { + node.name = name; + node.loc.identifierName = name; + return this.finishNode(node, "Identifier"); + } + + parseIdentifierName(pos, liberal) { + let name; + const { + start, + type + } = this.state; + + if (type === 5) { + name = this.state.value; + } else if (tokenIsKeyword(type)) { + name = tokenLabelName(type); + } else { + throw this.unexpected(); + } + + if (liberal) { + this.state.type = 5; + } else { + this.checkReservedWord(name, start, tokenIsKeyword(type), false); + } + + this.next(); + return name; + } + + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word.length > 10) { + return; + } + + if (!canBeReservedWord(word)) { + return; + } + + if (word === "yield") { + if (this.prodParam.hasYield) { + this.raise(startLoc, ErrorMessages.YieldBindingIdentifier); + return; + } + } else if (word === "await") { + if (this.prodParam.hasAwait) { + this.raise(startLoc, ErrorMessages.AwaitBindingIdentifier); + return; + } else if (this.scope.inStaticBlock) { + this.raise(startLoc, ErrorMessages.AwaitBindingIdentifierInStaticBlock); + return; + } else { + this.expressionScope.recordAsyncArrowParametersError(startLoc, ErrorMessages.AwaitBindingIdentifier); + } + } else if (word === "arguments") { + if (this.scope.inClassAndNotInNonArrowFunction) { + this.raise(startLoc, ErrorMessages.ArgumentsInClass); + return; + } + } + + if (checkKeywords && isKeyword(word)) { + this.raise(startLoc, ErrorMessages.UnexpectedKeyword, word); + return; + } + + const reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord; + + if (reservedTest(word, this.inModule)) { + this.raise(startLoc, ErrorMessages.UnexpectedReservedWord, word); + } + } + + isAwaitAllowed() { + if (this.prodParam.hasAwait) return true; + + if (this.options.allowAwaitOutsideFunction && !this.scope.inFunction) { + return true; + } + + return false; + } + + parseAwait(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + this.expressionScope.recordParameterInitializerError(node.start, ErrorMessages.AwaitExpressionFormalParameter); + + if (this.eat(54)) { + this.raise(node.start, ErrorMessages.ObsoleteAwaitStar); + } + + if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) { + if (this.isAmbiguousAwait()) { + this.ambiguousScriptDifferentAst = true; + } else { + this.sawUnambiguousESM = true; + } + } + + if (!this.state.soloAwait) { + node.argument = this.parseMaybeUnary(null, true); + } + + return this.finishNode(node, "AwaitExpression"); + } + + isAmbiguousAwait() { + return this.hasPrecedingLineBreak() || this.match(52) || this.match(18) || this.match(8) || this.match(30) || this.match(3) || this.match(55) || this.hasPlugin("v8intrinsic") && this.match(53); + } + + parseYield() { + const node = this.startNode(); + this.expressionScope.recordParameterInitializerError(node.start, ErrorMessages.YieldInParameter); + this.next(); + let delegating = false; + let argument = null; + + if (!this.hasPrecedingLineBreak()) { + delegating = this.eat(54); + + switch (this.state.type) { + case 21: + case 7: + case 16: + case 19: + case 11: + case 17: + case 22: + case 20: + if (!delegating) break; + + default: + argument = this.parseMaybeAssign(); + } + } + + node.delegate = delegating; + node.argument = argument; + return this.finishNode(node, "YieldExpression"); + } + + checkPipelineAtInfixOperator(left, leftStartPos) { + if (this.getPluginOption("pipelineOperator", "proposal") === "smart") { + if (left.type === "SequenceExpression") { + this.raise(leftStartPos, ErrorMessages.PipelineHeadSequenceExpression); + } + } + } + + checkHackPipeBodyEarlyErrors(startPos) { + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(startPos, ErrorMessages.PipeTopicUnused); + } + } + + parseSmartPipelineBodyInStyle(childExpr, startPos, startLoc) { + const bodyNode = this.startNodeAt(startPos, startLoc); + + if (this.isSimpleReference(childExpr)) { + bodyNode.callee = childExpr; + return this.finishNode(bodyNode, "PipelineBareFunction"); + } else { + this.checkSmartPipeTopicBodyEarlyErrors(startPos); + bodyNode.expression = childExpr; + return this.finishNode(bodyNode, "PipelineTopicExpression"); + } + } + + isSimpleReference(expression) { + switch (expression.type) { + case "MemberExpression": + return !expression.computed && this.isSimpleReference(expression.object); + + case "Identifier": + return true; + + default: + return false; + } + } + + checkSmartPipeTopicBodyEarlyErrors(startPos) { + if (this.match(27)) { + throw this.raise(this.state.start, ErrorMessages.PipelineBodyNoArrow); + } else if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(startPos, ErrorMessages.PipelineTopicUnused); + } + } + + withTopicBindingContext(callback) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 1, + maxTopicIndex: null + }; + + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } + + withSmartMixTopicForbiddingContext(callback) { + const proposal = this.getPluginOption("pipelineOperator", "proposal"); + + if (proposal === "smart") { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } else { + return callback(); + } + } + + withSoloAwaitPermittingContext(callback) { + const outerContextSoloAwaitState = this.state.soloAwait; + this.state.soloAwait = true; + + try { + return callback(); + } finally { + this.state.soloAwait = outerContextSoloAwaitState; + } + } + + allowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToSet = PARAM_IN & ~flags; + + if (prodParamToSet) { + this.prodParam.enter(flags | PARAM_IN); + + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + + return callback(); + } + + disallowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToClear = PARAM_IN & flags; + + if (prodParamToClear) { + this.prodParam.enter(flags & ~PARAM_IN); + + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + + return callback(); + } + + registerTopicReference() { + this.state.topicContext.maxTopicIndex = 0; + } + + topicReferenceIsAllowedInCurrentContext() { + return this.state.topicContext.maxNumOfResolvableTopics >= 1; + } + + topicReferenceWasUsedInCurrentContext() { + return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0; + } + + parseFSharpPipelineBody(prec) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + this.state.potentialArrowAt = this.state.start; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = true; + const ret = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startPos, startLoc, prec); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return ret; + } + + parseModuleExpression() { + this.expectPlugin("moduleBlocks"); + const node = this.startNode(); + this.next(); + this.eat(13); + const revertScopes = this.initializeScopes(true); + this.enterInitialScopes(); + const program = this.startNode(); + + try { + node.body = this.parseProgram(program, 16, "module"); + } finally { + revertScopes(); + } + + this.eat(16); + return this.finishNode(node, "ModuleExpression"); + } + +} + +const loopLabel = { + kind: "loop" +}, + switchLabel = { + kind: "switch" +}; +const FUNC_NO_FLAGS = 0b000, + FUNC_STATEMENT = 0b001, + FUNC_HANGING_STATEMENT = 0b010, + FUNC_NULLABLE_ID = 0b100; +const loneSurrogate = /[\uD800-\uDFFF]/u; +const keywordRelationalOperator = /in(?:stanceof)?/y; + +function babel7CompatTokens(tokens) { + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i]; + const { + type + } = token; + + if (type === 6) { + { + const { + loc, + start, + value, + end + } = token; + const hashEndPos = start + 1; + const hashEndLoc = new Position(loc.start.line, loc.start.column + 1); + tokens.splice(i, 1, new Token({ + type: getExportedToken(33), + value: "#", + start: start, + end: hashEndPos, + startLoc: loc.start, + endLoc: hashEndLoc + }), new Token({ + type: getExportedToken(5), + value: value, + start: hashEndPos, + end: end, + startLoc: hashEndLoc, + endLoc: loc.end + })); + i++; + continue; + } + } + + if (typeof type === "number") { + token.type = getExportedToken(type); + } + } + + return tokens; +} + +class StatementParser extends ExpressionParser { + parseTopLevel(file, program) { + file.program = this.parseProgram(program); + file.comments = this.state.comments; + if (this.options.tokens) file.tokens = babel7CompatTokens(this.tokens); + return this.finishNode(file, "File"); + } + + parseProgram(program, end = 7, sourceType = this.options.sourceType) { + program.sourceType = sourceType; + program.interpreter = this.parseInterpreterDirective(); + this.parseBlockBody(program, true, true, end); + + if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) { + for (const [name] of Array.from(this.scope.undefinedExports)) { + const pos = this.scope.undefinedExports.get(name); + this.raise(pos, ErrorMessages.ModuleExportUndefined, name); + } + } + + return this.finishNode(program, "Program"); + } + + stmtToDirective(stmt) { + const directive = stmt; + directive.type = "Directive"; + directive.value = directive.expression; + delete directive.expression; + const directiveLiteral = directive.value; + const raw = this.input.slice(directiveLiteral.start, directiveLiteral.end); + const val = directiveLiteral.value = raw.slice(1, -1); + this.addExtra(directiveLiteral, "raw", raw); + this.addExtra(directiveLiteral, "rawValue", val); + directiveLiteral.type = "DirectiveLiteral"; + return directive; + } + + parseInterpreterDirective() { + if (!this.match(34)) { + return null; + } + + const node = this.startNode(); + node.value = this.state.value; + this.next(); + return this.finishNode(node, "InterpreterDirective"); + } + + isLet(context) { + if (!this.isContextual("let")) { + return false; + } + + return this.isLetKeyword(context); + } + + isLetKeyword(context) { + const next = this.nextTokenStart(); + const nextCh = this.codePointAtPos(next); + + if (nextCh === 92 || nextCh === 91) { + return true; + } + + if (context) return false; + if (nextCh === 123) return true; + + if (isIdentifierStart(nextCh)) { + keywordRelationalOperator.lastIndex = next; + + if (keywordRelationalOperator.test(this.input)) { + const endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex); + + if (!isIdentifierChar(endCh) && endCh !== 92) { + return false; + } + } + + return true; + } + + return false; + } + + parseStatement(context, topLevel) { + if (this.match(32)) { + this.parseDecorators(true); + } + + return this.parseStatementContent(context, topLevel); + } + + parseStatementContent(context, topLevel) { + let starttype = this.state.type; + const node = this.startNode(); + let kind; + + if (this.isLet(context)) { + starttype = 73; + kind = "let"; + } + + switch (starttype) { + case 59: + return this.parseBreakContinueStatement(node, true); + + case 62: + return this.parseBreakContinueStatement(node, false); + + case 63: + return this.parseDebuggerStatement(node); + + case 89: + return this.parseDoStatement(node); + + case 90: + return this.parseForStatement(node); + + case 67: + if (this.lookaheadCharCode() === 46) break; + + if (context) { + if (this.state.strict) { + this.raise(this.state.start, ErrorMessages.StrictFunction); + } else if (context !== "if" && context !== "label") { + this.raise(this.state.start, ErrorMessages.SloppyFunction); + } + } + + return this.parseFunctionStatement(node, false, !context); + + case 79: + if (context) this.unexpected(); + return this.parseClass(node, true); + + case 68: + return this.parseIfStatement(node); + + case 69: + return this.parseReturnStatement(node); + + case 70: + return this.parseSwitchStatement(node); + + case 71: + return this.parseThrowStatement(node); + + case 72: + return this.parseTryStatement(node); + + case 74: + case 73: + kind = kind || this.state.value; + + if (context && kind !== "var") { + this.raise(this.state.start, ErrorMessages.UnexpectedLexicalDeclaration); + } + + return this.parseVarStatement(node, kind); + + case 91: + return this.parseWhileStatement(node); + + case 75: + return this.parseWithStatement(node); + + case 13: + return this.parseBlock(); + + case 21: + return this.parseEmptyStatement(node); + + case 82: + { + const nextTokenCharCode = this.lookaheadCharCode(); + + if (nextTokenCharCode === 40 || nextTokenCharCode === 46) { + break; + } + } + + case 81: + { + if (!this.options.allowImportExportEverywhere && !topLevel) { + this.raise(this.state.start, ErrorMessages.UnexpectedImportExport); + } + + this.next(); + let result; + + if (starttype === 82) { + result = this.parseImport(node); + + if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) { + this.sawUnambiguousESM = true; + } + } else { + result = this.parseExport(node); + + if (result.type === "ExportNamedDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportAllDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportDefaultDeclaration") { + this.sawUnambiguousESM = true; + } + } + + this.assertModuleNodeAllowed(node); + return result; + } + + default: + { + if (this.isAsyncFunction()) { + if (context) { + this.raise(this.state.start, ErrorMessages.AsyncFunctionInSingleStatementContext); + } + + this.next(); + return this.parseFunctionStatement(node, true, !context); + } + } + } + + const maybeName = this.state.value; + const expr = this.parseExpression(); + + if (starttype === 5 && expr.type === "Identifier" && this.eat(22)) { + return this.parseLabeledStatement(node, maybeName, expr, context); + } else { + return this.parseExpressionStatement(node, expr); + } + } + + assertModuleNodeAllowed(node) { + if (!this.options.allowImportExportEverywhere && !this.inModule) { + this.raise(node.start, SourceTypeModuleErrorMessages.ImportOutsideModule); + } + } + + takeDecorators(node) { + const decorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; + + if (decorators.length) { + node.decorators = decorators; + this.resetStartLocationFromNode(node, decorators[0]); + this.state.decoratorStack[this.state.decoratorStack.length - 1] = []; + } + } + + canHaveLeadingDecorator() { + return this.match(79); + } + + parseDecorators(allowExport) { + const currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; + + while (this.match(32)) { + const decorator = this.parseDecorator(); + currentContextDecorators.push(decorator); + } + + if (this.match(81)) { + if (!allowExport) { + this.unexpected(); + } + + if (this.hasPlugin("decorators") && !this.getPluginOption("decorators", "decoratorsBeforeExport")) { + this.raise(this.state.start, ErrorMessages.DecoratorExportClass); + } + } else if (!this.canHaveLeadingDecorator()) { + throw this.raise(this.state.start, ErrorMessages.UnexpectedLeadingDecorator); + } + } + + parseDecorator() { + this.expectOnePlugin(["decorators-legacy", "decorators"]); + const node = this.startNode(); + this.next(); + + if (this.hasPlugin("decorators")) { + this.state.decoratorStack.push([]); + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let expr; + + if (this.eat(18)) { + expr = this.parseExpression(); + this.expect(19); + } else { + expr = this.parseIdentifier(false); + + while (this.eat(24)) { + const node = this.startNodeAt(startPos, startLoc); + node.object = expr; + node.property = this.parseIdentifier(true); + node.computed = false; + expr = this.finishNode(node, "MemberExpression"); + } + } + + node.expression = this.parseMaybeDecoratorArguments(expr); + this.state.decoratorStack.pop(); + } else { + node.expression = this.parseExprSubscripts(); + } + + return this.finishNode(node, "Decorator"); + } + + parseMaybeDecoratorArguments(expr) { + if (this.eat(18)) { + const node = this.startNodeAtNode(expr); + node.callee = expr; + node.arguments = this.parseCallExpressionArguments(19, false); + this.toReferencedList(node.arguments); + return this.finishNode(node, "CallExpression"); + } + + return expr; + } + + parseBreakContinueStatement(node, isBreak) { + this.next(); + + if (this.isLineTerminator()) { + node.label = null; + } else { + node.label = this.parseIdentifier(); + this.semicolon(); + } + + this.verifyBreakContinue(node, isBreak); + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); + } + + verifyBreakContinue(node, isBreak) { + let i; + + for (i = 0; i < this.state.labels.length; ++i) { + const lab = this.state.labels[i]; + + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === "loop")) break; + if (node.label && isBreak) break; + } + } + + if (i === this.state.labels.length) { + this.raise(node.start, ErrorMessages.IllegalBreakContinue, isBreak ? "break" : "continue"); + } + } + + parseDebuggerStatement(node) { + this.next(); + this.semicolon(); + return this.finishNode(node, "DebuggerStatement"); + } + + parseHeaderExpression() { + this.expect(18); + const val = this.parseExpression(); + this.expect(19); + return val; + } + + parseDoStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("do")); + this.state.labels.pop(); + this.expect(91); + node.test = this.parseHeaderExpression(); + this.eat(21); + return this.finishNode(node, "DoWhileStatement"); + } + + parseForStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + let awaitAt = -1; + + if (this.isAwaitAllowed() && this.eatContextual("await")) { + awaitAt = this.state.lastTokStart; + } + + this.scope.enter(SCOPE_OTHER); + this.expect(18); + + if (this.match(21)) { + if (awaitAt > -1) { + this.unexpected(awaitAt); + } + + return this.parseFor(node, null); + } + + const startsWithLet = this.isContextual("let"); + const isLet = startsWithLet && this.isLetKeyword(); + + if (this.match(73) || this.match(74) || isLet) { + const init = this.startNode(); + const kind = isLet ? "let" : this.state.value; + this.next(); + this.parseVar(init, true, kind); + this.finishNode(init, "VariableDeclaration"); + + if ((this.match(57) || this.isContextual("of")) && init.declarations.length === 1) { + return this.parseForIn(node, init, awaitAt); + } + + if (awaitAt > -1) { + this.unexpected(awaitAt); + } + + return this.parseFor(node, init); + } + + const startsWithUnescapedName = this.match(5) && !this.state.containsEsc; + const refExpressionErrors = new ExpressionErrors(); + const init = this.parseExpression(true, refExpressionErrors); + const isForOf = this.isContextual("of"); + + if (isForOf) { + if (startsWithLet) { + this.raise(init.start, ErrorMessages.ForOfLet); + } else if (awaitAt === -1 && startsWithUnescapedName && init.type === "Identifier" && init.name === "async") { + this.raise(init.start, ErrorMessages.ForOfAsync); + } + } + + if (isForOf || this.match(57)) { + this.toAssignable(init, true); + const description = isForOf ? "for-of statement" : "for-in statement"; + this.checkLVal(init, description); + return this.parseForIn(node, init, awaitAt); + } else { + this.checkExpressionErrors(refExpressionErrors, true); + } + + if (awaitAt > -1) { + this.unexpected(awaitAt); + } + + return this.parseFor(node, init); + } + + parseFunctionStatement(node, isAsync, declarationPosition) { + this.next(); + return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), isAsync); + } + + parseIfStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + node.consequent = this.parseStatement("if"); + node.alternate = this.eat(65) ? this.parseStatement("if") : null; + return this.finishNode(node, "IfStatement"); + } + + parseReturnStatement(node) { + if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) { + this.raise(this.state.start, ErrorMessages.IllegalReturn); + } + + this.next(); + + if (this.isLineTerminator()) { + node.argument = null; + } else { + node.argument = this.parseExpression(); + this.semicolon(); + } + + return this.finishNode(node, "ReturnStatement"); + } + + parseSwitchStatement(node) { + this.next(); + node.discriminant = this.parseHeaderExpression(); + const cases = node.cases = []; + this.expect(13); + this.state.labels.push(switchLabel); + this.scope.enter(SCOPE_OTHER); + let cur; + + for (let sawDefault; !this.match(16);) { + if (this.match(60) || this.match(64)) { + const isCase = this.match(60); + if (cur) this.finishNode(cur, "SwitchCase"); + cases.push(cur = this.startNode()); + cur.consequent = []; + this.next(); + + if (isCase) { + cur.test = this.parseExpression(); + } else { + if (sawDefault) { + this.raise(this.state.lastTokStart, ErrorMessages.MultipleDefaultsInSwitch); + } + + sawDefault = true; + cur.test = null; + } + + this.expect(22); + } else { + if (cur) { + cur.consequent.push(this.parseStatement(null)); + } else { + this.unexpected(); + } + } + } + + this.scope.exit(); + if (cur) this.finishNode(cur, "SwitchCase"); + this.next(); + this.state.labels.pop(); + return this.finishNode(node, "SwitchStatement"); + } + + parseThrowStatement(node) { + this.next(); + + if (this.hasPrecedingLineBreak()) { + this.raise(this.state.lastTokEnd, ErrorMessages.NewlineAfterThrow); + } + + node.argument = this.parseExpression(); + this.semicolon(); + return this.finishNode(node, "ThrowStatement"); + } + + parseCatchClauseParam() { + const param = this.parseBindingAtom(); + const simple = param.type === "Identifier"; + this.scope.enter(simple ? SCOPE_SIMPLE_CATCH : 0); + this.checkLVal(param, "catch clause", BIND_LEXICAL); + return param; + } + + parseTryStatement(node) { + this.next(); + node.block = this.parseBlock(); + node.handler = null; + + if (this.match(61)) { + const clause = this.startNode(); + this.next(); + + if (this.match(18)) { + this.expect(18); + clause.param = this.parseCatchClauseParam(); + this.expect(19); + } else { + clause.param = null; + this.scope.enter(SCOPE_OTHER); + } + + clause.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(false, false)); + this.scope.exit(); + node.handler = this.finishNode(clause, "CatchClause"); + } + + node.finalizer = this.eat(66) ? this.parseBlock() : null; + + if (!node.handler && !node.finalizer) { + this.raise(node.start, ErrorMessages.NoCatchOrFinally); + } + + return this.finishNode(node, "TryStatement"); + } + + parseVarStatement(node, kind) { + this.next(); + this.parseVar(node, false, kind); + this.semicolon(); + return this.finishNode(node, "VariableDeclaration"); + } + + parseWhileStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("while")); + this.state.labels.pop(); + return this.finishNode(node, "WhileStatement"); + } + + parseWithStatement(node) { + if (this.state.strict) { + this.raise(this.state.start, ErrorMessages.StrictWith); + } + + this.next(); + node.object = this.parseHeaderExpression(); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("with")); + return this.finishNode(node, "WithStatement"); + } + + parseEmptyStatement(node) { + this.next(); + return this.finishNode(node, "EmptyStatement"); + } + + parseLabeledStatement(node, maybeName, expr, context) { + for (const label of this.state.labels) { + if (label.name === maybeName) { + this.raise(expr.start, ErrorMessages.LabelRedeclaration, maybeName); + } + } + + const kind = tokenIsLoop(this.state.type) ? "loop" : this.match(70) ? "switch" : null; + + for (let i = this.state.labels.length - 1; i >= 0; i--) { + const label = this.state.labels[i]; + + if (label.statementStart === node.start) { + label.statementStart = this.state.start; + label.kind = kind; + } else { + break; + } + } + + this.state.labels.push({ + name: maybeName, + kind: kind, + statementStart: this.state.start + }); + node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label"); + this.state.labels.pop(); + node.label = expr; + return this.finishNode(node, "LabeledStatement"); + } + + parseExpressionStatement(node, expr) { + node.expression = expr; + this.semicolon(); + return this.finishNode(node, "ExpressionStatement"); + } + + parseBlock(allowDirectives = false, createNewLexicalScope = true, afterBlockParse) { + const node = this.startNode(); + + if (allowDirectives) { + this.state.strictErrors.clear(); + } + + this.expect(13); + + if (createNewLexicalScope) { + this.scope.enter(SCOPE_OTHER); + } + + this.parseBlockBody(node, allowDirectives, false, 16, afterBlockParse); + + if (createNewLexicalScope) { + this.scope.exit(); + } + + return this.finishNode(node, "BlockStatement"); + } + + isValidDirective(stmt) { + return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized; + } + + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + const body = node.body = []; + const directives = node.directives = []; + this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse); + } + + parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) { + const oldStrict = this.state.strict; + let hasStrictModeDirective = false; + let parsedNonDirective = false; + + while (!this.match(end)) { + const stmt = this.parseStatement(null, topLevel); + + if (directives && !parsedNonDirective) { + if (this.isValidDirective(stmt)) { + const directive = this.stmtToDirective(stmt); + directives.push(directive); + + if (!hasStrictModeDirective && directive.value.value === "use strict") { + hasStrictModeDirective = true; + this.setStrict(true); + } + + continue; + } + + parsedNonDirective = true; + this.state.strictErrors.clear(); + } + + body.push(stmt); + } + + if (afterBlockParse) { + afterBlockParse.call(this, hasStrictModeDirective); + } + + if (!oldStrict) { + this.setStrict(false); + } + + this.next(); + } + + parseFor(node, init) { + node.init = init; + this.semicolon(false); + node.test = this.match(21) ? null : this.parseExpression(); + this.semicolon(false); + node.update = this.match(19) ? null : this.parseExpression(); + this.expect(19); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("for")); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, "ForStatement"); + } + + parseForIn(node, init, awaitAt) { + const isForIn = this.match(57); + this.next(); + + if (isForIn) { + if (awaitAt > -1) this.unexpected(awaitAt); + } else { + node.await = awaitAt > -1; + } + + if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) { + this.raise(init.start, ErrorMessages.ForInOfLoopInitializer, isForIn ? "for-in" : "for-of"); + } else if (init.type === "AssignmentPattern") { + this.raise(init.start, ErrorMessages.InvalidLhs, "for-loop"); + } + + node.left = init; + node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn(); + this.expect(19); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("for")); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement"); + } + + parseVar(node, isFor, kind) { + const declarations = node.declarations = []; + const isTypescript = this.hasPlugin("typescript"); + node.kind = kind; + + for (;;) { + const decl = this.startNode(); + this.parseVarId(decl, kind); + + if (this.eat(35)) { + decl.init = isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn(); + } else { + if (kind === "const" && !(this.match(57) || this.isContextual("of"))) { + if (!isTypescript) { + this.raise(this.state.lastTokEnd, ErrorMessages.DeclarationMissingInitializer, "Const declarations"); + } + } else if (decl.id.type !== "Identifier" && !(isFor && (this.match(57) || this.isContextual("of")))) { + this.raise(this.state.lastTokEnd, ErrorMessages.DeclarationMissingInitializer, "Complex binding patterns"); + } + + decl.init = null; + } + + declarations.push(this.finishNode(decl, "VariableDeclarator")); + if (!this.eat(20)) break; + } + + return node; + } + + parseVarId(decl, kind) { + decl.id = this.parseBindingAtom(); + this.checkLVal(decl.id, "variable declaration", kind === "var" ? BIND_VAR : BIND_LEXICAL, undefined, kind !== "var"); + } + + parseFunction(node, statement = FUNC_NO_FLAGS, isAsync = false) { + const isStatement = statement & FUNC_STATEMENT; + const isHangingStatement = statement & FUNC_HANGING_STATEMENT; + const requireId = !!isStatement && !(statement & FUNC_NULLABLE_ID); + this.initFunction(node, isAsync); + + if (this.match(54) && isHangingStatement) { + this.raise(this.state.start, ErrorMessages.GeneratorInSingleStatementContext); + } + + node.generator = this.eat(54); + + if (isStatement) { + node.id = this.parseFunctionId(requireId); + } + + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = false; + this.scope.enter(SCOPE_FUNCTION); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + + if (!isStatement) { + node.id = this.parseFunctionId(); + } + + this.parseFunctionParams(node, false); + this.withSmartMixTopicForbiddingContext(() => { + this.parseFunctionBodyAndFinish(node, isStatement ? "FunctionDeclaration" : "FunctionExpression"); + }); + this.prodParam.exit(); + this.scope.exit(); + + if (isStatement && !isHangingStatement) { + this.registerFunctionStatementId(node); + } + + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return node; + } + + parseFunctionId(requireId) { + return requireId || this.match(5) ? this.parseIdentifier() : null; + } + + parseFunctionParams(node, allowModifiers) { + this.expect(18); + this.expressionScope.enter(newParameterDeclarationScope()); + node.params = this.parseBindingList(19, 41, false, allowModifiers); + this.expressionScope.exit(); + } + + registerFunctionStatementId(node) { + if (!node.id) return; + this.scope.declareName(node.id.name, this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION, node.id.start); + } + + parseClass(node, isStatement, optionalId) { + this.next(); + this.takeDecorators(node); + const oldStrict = this.state.strict; + this.state.strict = true; + this.parseClassId(node, isStatement, optionalId); + this.parseClassSuper(node); + node.body = this.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression"); + } + + isClassProperty() { + return this.match(35) || this.match(21) || this.match(16); + } + + isClassMethod() { + return this.match(18); + } + + isNonstaticConstructor(method) { + return !method.computed && !method.static && (method.key.name === "constructor" || method.key.value === "constructor"); + } + + parseClassBody(hadSuperClass, oldStrict) { + this.classScope.enter(); + const state = { + hadConstructor: false, + hadSuperClass + }; + let decorators = []; + const classBody = this.startNode(); + classBody.body = []; + this.expect(13); + this.withSmartMixTopicForbiddingContext(() => { + while (!this.match(16)) { + if (this.eat(21)) { + if (decorators.length > 0) { + throw this.raise(this.state.lastTokEnd, ErrorMessages.DecoratorSemicolon); + } + + continue; + } + + if (this.match(32)) { + decorators.push(this.parseDecorator()); + continue; + } + + const member = this.startNode(); + + if (decorators.length) { + member.decorators = decorators; + this.resetStartLocationFromNode(member, decorators[0]); + decorators = []; + } + + this.parseClassMember(classBody, member, state); + + if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) { + this.raise(member.start, ErrorMessages.DecoratorConstructor); + } + } + }); + this.state.strict = oldStrict; + this.next(); + + if (decorators.length) { + throw this.raise(this.state.start, ErrorMessages.TrailingDecorator); + } + + this.classScope.exit(); + return this.finishNode(classBody, "ClassBody"); + } + + parseClassMemberFromModifier(classBody, member) { + const key = this.parseIdentifier(true); + + if (this.isClassMethod()) { + const method = member; + method.kind = "method"; + method.computed = false; + method.key = key; + method.static = false; + this.pushClassMethod(classBody, method, false, false, false, false); + return true; + } else if (this.isClassProperty()) { + const prop = member; + prop.computed = false; + prop.key = key; + prop.static = false; + classBody.body.push(this.parseClassProperty(prop)); + return true; + } + + this.resetPreviousNodeTrailingComments(key); + return false; + } + + parseClassMember(classBody, member, state) { + const isStatic = this.isContextual("static"); + + if (isStatic) { + if (this.parseClassMemberFromModifier(classBody, member)) { + return; + } + + if (this.eat(13)) { + this.parseClassStaticBlock(classBody, member); + return; + } + } + + this.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const publicMethod = member; + const privateMethod = member; + const publicProp = member; + const privateProp = member; + const method = publicMethod; + const publicMember = publicMethod; + member.static = isStatic; + + if (this.eat(54)) { + method.kind = "method"; + const isPrivateName = this.match(6); + this.parseClassElementName(method); + + if (isPrivateName) { + this.pushClassPrivateMethod(classBody, privateMethod, true, false); + return; + } + + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(publicMethod.key.start, ErrorMessages.ConstructorIsGenerator); + } + + this.pushClassMethod(classBody, publicMethod, true, false, false, false); + return; + } + + const isContextual = this.match(5) && !this.state.containsEsc; + const isPrivate = this.match(6); + const key = this.parseClassElementName(member); + const maybeQuestionTokenStart = this.state.start; + this.parsePostMemberNameModifiers(publicMember); + + if (this.isClassMethod()) { + method.kind = "method"; + + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + return; + } + + const isConstructor = this.isNonstaticConstructor(publicMethod); + let allowsDirectSuper = false; + + if (isConstructor) { + publicMethod.kind = "constructor"; + + if (state.hadConstructor && !this.hasPlugin("typescript")) { + this.raise(key.start, ErrorMessages.DuplicateConstructor); + } + + if (isConstructor && this.hasPlugin("typescript") && member.override) { + this.raise(key.start, ErrorMessages.OverrideOnConstructor); + } + + state.hadConstructor = true; + allowsDirectSuper = state.hadSuperClass; + } + + this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper); + } else if (this.isClassProperty()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else if (isContextual && key.name === "async" && !this.isLineTerminator()) { + this.resetPreviousNodeTrailingComments(key); + const isGenerator = this.eat(54); + + if (publicMember.optional) { + this.unexpected(maybeQuestionTokenStart); + } + + method.kind = "method"; + const isPrivate = this.match(6); + this.parseClassElementName(method); + this.parsePostMemberNameModifiers(publicMember); + + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(publicMethod.key.start, ErrorMessages.ConstructorIsAsync); + } + + this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false); + } + } else if (isContextual && (key.name === "get" || key.name === "set") && !(this.match(54) && this.isLineTerminator())) { + this.resetPreviousNodeTrailingComments(key); + method.kind = key.name; + const isPrivate = this.match(6); + this.parseClassElementName(publicMethod); + + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(publicMethod.key.start, ErrorMessages.ConstructorIsAccessor); + } + + this.pushClassMethod(classBody, publicMethod, false, false, false, false); + } + + this.checkGetterSetterParams(publicMethod); + } else if (this.isLineTerminator()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else { + this.unexpected(); + } + } + + parseClassElementName(member) { + const { + type, + value, + start + } = this.state; + + if ((type === 5 || type === 4) && member.static && value === "prototype") { + this.raise(start, ErrorMessages.StaticPrototype); + } + + if (type === 6 && value === "constructor") { + this.raise(start, ErrorMessages.ConstructorClassPrivateField); + } + + return this.parsePropertyName(member, true); + } + + parseClassStaticBlock(classBody, member) { + var _member$decorators; + + this.expectPlugin("classStaticBlock", member.start); + this.scope.enter(SCOPE_CLASS | SCOPE_STATIC_BLOCK | SCOPE_SUPER); + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(PARAM); + const body = member.body = []; + this.parseBlockOrModuleBlockBody(body, undefined, false, 16); + this.prodParam.exit(); + this.scope.exit(); + this.state.labels = oldLabels; + classBody.body.push(this.finishNode(member, "StaticBlock")); + + if ((_member$decorators = member.decorators) != null && _member$decorators.length) { + this.raise(member.start, ErrorMessages.DecoratorStaticBlock); + } + } + + pushClassProperty(classBody, prop) { + if (!prop.computed && (prop.key.name === "constructor" || prop.key.value === "constructor")) { + this.raise(prop.key.start, ErrorMessages.ConstructorClassField); + } + + classBody.body.push(this.parseClassProperty(prop)); + } + + pushClassPrivateProperty(classBody, prop) { + const node = this.parseClassPrivateProperty(prop); + classBody.body.push(node); + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.start); + } + + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true)); + } + + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const node = this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true); + classBody.body.push(node); + const kind = node.kind === "get" ? node.static ? CLASS_ELEMENT_STATIC_GETTER : CLASS_ELEMENT_INSTANCE_GETTER : node.kind === "set" ? node.static ? CLASS_ELEMENT_STATIC_SETTER : CLASS_ELEMENT_INSTANCE_SETTER : CLASS_ELEMENT_OTHER; + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.start); + } + + parsePostMemberNameModifiers(methodOrProp) {} + + parseClassPrivateProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassPrivateProperty"); + } + + parseClassProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassProperty"); + } + + parseInitializer(node) { + this.scope.enter(SCOPE_CLASS | SCOPE_SUPER); + this.expressionScope.enter(newExpressionScope()); + this.prodParam.enter(PARAM); + node.value = this.eat(35) ? this.parseMaybeAssignAllowIn() : null; + this.expressionScope.exit(); + this.prodParam.exit(); + this.scope.exit(); + } + + parseClassId(node, isStatement, optionalId, bindingType = BIND_CLASS) { + if (this.match(5)) { + node.id = this.parseIdentifier(); + + if (isStatement) { + this.checkLVal(node.id, "class name", bindingType); + } + } else { + if (optionalId || !isStatement) { + node.id = null; + } else { + this.unexpected(null, ErrorMessages.MissingClassName); + } + } + } + + parseClassSuper(node) { + node.superClass = this.eat(80) ? this.parseExprSubscripts() : null; + } + + parseExport(node) { + const hasDefault = this.maybeParseExportDefaultSpecifier(node); + const parseAfterDefault = !hasDefault || this.eat(20); + const hasStar = parseAfterDefault && this.eatExportStar(node); + const hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node); + const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(20)); + const isFromRequired = hasDefault || hasStar; + + if (hasStar && !hasNamespace) { + if (hasDefault) this.unexpected(); + this.parseExportFrom(node, true); + return this.finishNode(node, "ExportAllDeclaration"); + } + + const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node); + + if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers || hasNamespace && parseAfterNamespace && !hasSpecifiers) { + throw this.unexpected(null, 13); + } + + let hasDeclaration; + + if (isFromRequired || hasSpecifiers) { + hasDeclaration = false; + this.parseExportFrom(node, isFromRequired); + } else { + hasDeclaration = this.maybeParseExportDeclaration(node); + } + + if (isFromRequired || hasSpecifiers || hasDeclaration) { + this.checkExport(node, true, false, !!node.source); + return this.finishNode(node, "ExportNamedDeclaration"); + } + + if (this.eat(64)) { + node.declaration = this.parseExportDefaultExpression(); + this.checkExport(node, true, true); + return this.finishNode(node, "ExportDefaultDeclaration"); + } + + throw this.unexpected(null, 13); + } + + eatExportStar(node) { + return this.eat(54); + } + + maybeParseExportDefaultSpecifier(node) { + if (this.isExportDefaultSpecifier()) { + this.expectPlugin("exportDefaultFrom"); + const specifier = this.startNode(); + specifier.exported = this.parseIdentifier(true); + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return true; + } + + return false; + } + + maybeParseExportNamespaceSpecifier(node) { + if (this.isContextual("as")) { + if (!node.specifiers) node.specifiers = []; + const specifier = this.startNodeAt(this.state.lastTokStart, this.state.lastTokStartLoc); + this.next(); + specifier.exported = this.parseModuleExportName(); + node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier")); + return true; + } + + return false; + } + + maybeParseExportNamedSpecifiers(node) { + if (this.match(13)) { + if (!node.specifiers) node.specifiers = []; + node.specifiers.push(...this.parseExportSpecifiers()); + node.source = null; + node.declaration = null; + return true; + } + + return false; + } + + maybeParseExportDeclaration(node) { + if (this.shouldParseExportDeclaration()) { + node.specifiers = []; + node.source = null; + node.declaration = this.parseExportDeclaration(node); + return true; + } + + return false; + } + + isAsyncFunction() { + if (!this.isContextual("async")) return false; + const next = this.nextTokenStart(); + return !lineBreak.test(this.input.slice(this.state.pos, next)) && this.isUnparsedContextual(next, "function"); + } + + parseExportDefaultExpression() { + const expr = this.startNode(); + const isAsync = this.isAsyncFunction(); + + if (this.match(67) || isAsync) { + this.next(); + + if (isAsync) { + this.next(); + } + + return this.parseFunction(expr, FUNC_STATEMENT | FUNC_NULLABLE_ID, isAsync); + } else if (this.match(79)) { + return this.parseClass(expr, true, true); + } else if (this.match(32)) { + if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport")) { + this.raise(this.state.start, ErrorMessages.DecoratorBeforeExport); + } + + this.parseDecorators(false); + return this.parseClass(expr, true, true); + } else if (this.match(74) || this.match(73) || this.isLet()) { + throw this.raise(this.state.start, ErrorMessages.UnsupportedDefaultExport); + } else { + const res = this.parseMaybeAssignAllowIn(); + this.semicolon(); + return res; + } + } + + parseExportDeclaration(node) { + return this.parseStatement(null); + } + + isExportDefaultSpecifier() { + if (this.match(5)) { + const value = this.state.value; + + if (value === "async" && !this.state.containsEsc || value === "let") { + return false; + } + + if ((value === "type" || value === "interface") && !this.state.containsEsc) { + const l = this.lookahead(); + + if (l.type === 5 && l.value !== "from" || l.type === 13) { + this.expectOnePlugin(["flow", "typescript"]); + return false; + } + } + } else if (!this.match(64)) { + return false; + } + + const next = this.nextTokenStart(); + const hasFrom = this.isUnparsedContextual(next, "from"); + + if (this.input.charCodeAt(next) === 44 || this.match(5) && hasFrom) { + return true; + } + + if (this.match(64) && hasFrom) { + const nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4)); + return nextAfterFrom === 34 || nextAfterFrom === 39; + } + + return false; + } + + parseExportFrom(node, expect) { + if (this.eatContextual("from")) { + node.source = this.parseImportSource(); + this.checkExport(node); + const assertions = this.maybeParseImportAssertions(); + + if (assertions) { + node.assertions = assertions; + } + } else { + if (expect) { + this.unexpected(); + } else { + node.source = null; + } + } + + this.semicolon(); + } + + shouldParseExportDeclaration() { + const { + type + } = this.state; + + if (type === 32) { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + + if (this.hasPlugin("decorators")) { + if (this.getPluginOption("decorators", "decoratorsBeforeExport")) { + this.unexpected(this.state.start, ErrorMessages.DecoratorBeforeExport); + } else { + return true; + } + } + } + + return type === 73 || type === 74 || type === 67 || type === 79 || this.isLet() || this.isAsyncFunction(); + } + + checkExport(node, checkNames, isDefault, isFrom) { + if (checkNames) { + if (isDefault) { + this.checkDuplicateExports(node, "default"); + + if (this.hasPlugin("exportDefaultFrom")) { + var _declaration$extra; + + const declaration = node.declaration; + + if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) { + this.raise(declaration.start, ErrorMessages.ExportDefaultFromAsIdentifier); + } + } + } else if (node.specifiers && node.specifiers.length) { + for (const specifier of node.specifiers) { + const { + exported + } = specifier; + const exportedName = exported.type === "Identifier" ? exported.name : exported.value; + this.checkDuplicateExports(specifier, exportedName); + + if (!isFrom && specifier.local) { + const { + local + } = specifier; + + if (local.type !== "Identifier") { + this.raise(specifier.start, ErrorMessages.ExportBindingIsString, local.value, exportedName); + } else { + this.checkReservedWord(local.name, local.start, true, false); + this.scope.checkLocalExport(local); + } + } + } + } else if (node.declaration) { + if (node.declaration.type === "FunctionDeclaration" || node.declaration.type === "ClassDeclaration") { + const id = node.declaration.id; + if (!id) throw new Error("Assertion failure"); + this.checkDuplicateExports(node, id.name); + } else if (node.declaration.type === "VariableDeclaration") { + for (const declaration of node.declaration.declarations) { + this.checkDeclaration(declaration.id); + } + } + } + } + + const currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; + + if (currentContextDecorators.length) { + throw this.raise(node.start, ErrorMessages.UnsupportedDecoratorExport); + } + } + + checkDeclaration(node) { + if (node.type === "Identifier") { + this.checkDuplicateExports(node, node.name); + } else if (node.type === "ObjectPattern") { + for (const prop of node.properties) { + this.checkDeclaration(prop); + } + } else if (node.type === "ArrayPattern") { + for (const elem of node.elements) { + if (elem) { + this.checkDeclaration(elem); + } + } + } else if (node.type === "ObjectProperty") { + this.checkDeclaration(node.value); + } else if (node.type === "RestElement") { + this.checkDeclaration(node.argument); + } else if (node.type === "AssignmentPattern") { + this.checkDeclaration(node.left); + } + } + + checkDuplicateExports(node, name) { + if (this.exportedIdentifiers.has(name)) { + this.raise(node.start, name === "default" ? ErrorMessages.DuplicateDefaultExport : ErrorMessages.DuplicateExport, name); + } + + this.exportedIdentifiers.add(name); + } + + parseExportSpecifiers() { + const nodes = []; + let first = true; + this.expect(13); + + while (!this.eat(16)) { + if (first) { + first = false; + } else { + this.expect(20); + if (this.eat(16)) break; + } + + const node = this.startNode(); + const isString = this.match(4); + const local = this.parseModuleExportName(); + node.local = local; + + if (this.eatContextual("as")) { + node.exported = this.parseModuleExportName(); + } else if (isString) { + node.exported = cloneStringLiteral(local); + } else { + node.exported = cloneIdentifier(local); + } + + nodes.push(this.finishNode(node, "ExportSpecifier")); + } + + return nodes; + } + + parseModuleExportName() { + if (this.match(4)) { + const result = this.parseStringLiteral(this.state.value); + const surrogate = result.value.match(loneSurrogate); + + if (surrogate) { + this.raise(result.start, ErrorMessages.ModuleExportNameHasLoneSurrogate, surrogate[0].charCodeAt(0).toString(16)); + } + + return result; + } + + return this.parseIdentifier(true); + } + + parseImport(node) { + node.specifiers = []; + + if (!this.match(4)) { + const hasDefault = this.maybeParseDefaultImportSpecifier(node); + const parseNext = !hasDefault || this.eat(20); + const hasStar = parseNext && this.maybeParseStarImportSpecifier(node); + if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node); + this.expectContextual("from"); + } + + node.source = this.parseImportSource(); + const assertions = this.maybeParseImportAssertions(); + + if (assertions) { + node.assertions = assertions; + } else { + const attributes = this.maybeParseModuleAttributes(); + + if (attributes) { + node.attributes = attributes; + } + } + + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + + parseImportSource() { + if (!this.match(4)) this.unexpected(); + return this.parseExprAtom(); + } + + shouldParseDefaultImport(node) { + return this.match(5); + } + + parseImportSpecifierLocal(node, specifier, type, contextDescription) { + specifier.local = this.parseIdentifier(); + this.checkLVal(specifier.local, contextDescription, BIND_LEXICAL); + node.specifiers.push(this.finishNode(specifier, type)); + } + + parseAssertEntries() { + const attrs = []; + const attrNames = new Set(); + + do { + if (this.match(16)) { + break; + } + + const node = this.startNode(); + const keyName = this.state.value; + + if (attrNames.has(keyName)) { + this.raise(this.state.start, ErrorMessages.ModuleAttributesWithDuplicateKeys, keyName); + } + + attrNames.add(keyName); + + if (this.match(4)) { + node.key = this.parseStringLiteral(keyName); + } else { + node.key = this.parseIdentifier(true); + } + + this.expect(22); + + if (!this.match(4)) { + throw this.unexpected(this.state.start, ErrorMessages.ModuleAttributeInvalidValue); + } + + node.value = this.parseStringLiteral(this.state.value); + this.finishNode(node, "ImportAttribute"); + attrs.push(node); + } while (this.eat(20)); + + return attrs; + } + + maybeParseModuleAttributes() { + if (this.match(75) && !this.hasPrecedingLineBreak()) { + this.expectPlugin("moduleAttributes"); + this.next(); + } else { + if (this.hasPlugin("moduleAttributes")) return []; + return null; + } + + const attrs = []; + const attributes = new Set(); + + do { + const node = this.startNode(); + node.key = this.parseIdentifier(true); + + if (node.key.name !== "type") { + this.raise(node.key.start, ErrorMessages.ModuleAttributeDifferentFromType, node.key.name); + } + + if (attributes.has(node.key.name)) { + this.raise(node.key.start, ErrorMessages.ModuleAttributesWithDuplicateKeys, node.key.name); + } + + attributes.add(node.key.name); + this.expect(22); + + if (!this.match(4)) { + throw this.unexpected(this.state.start, ErrorMessages.ModuleAttributeInvalidValue); + } + + node.value = this.parseStringLiteral(this.state.value); + this.finishNode(node, "ImportAttribute"); + attrs.push(node); + } while (this.eat(20)); + + return attrs; + } + + maybeParseImportAssertions() { + if (this.isContextual("assert") && !this.hasPrecedingLineBreak()) { + this.expectPlugin("importAssertions"); + this.next(); + } else { + if (this.hasPlugin("importAssertions")) return []; + return null; + } + + this.eat(13); + const attrs = this.parseAssertEntries(); + this.eat(16); + return attrs; + } + + maybeParseDefaultImportSpecifier(node) { + if (this.shouldParseDefaultImport(node)) { + this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier", "default import specifier"); + return true; + } + + return false; + } + + maybeParseStarImportSpecifier(node) { + if (this.match(54)) { + const specifier = this.startNode(); + this.next(); + this.expectContextual("as"); + this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier", "import namespace specifier"); + return true; + } + + return false; + } + + parseNamedImportSpecifiers(node) { + let first = true; + this.expect(13); + + while (!this.eat(16)) { + if (first) { + first = false; + } else { + if (this.eat(22)) { + throw this.raise(this.state.start, ErrorMessages.DestructureNamedImport); + } + + this.expect(20); + if (this.eat(16)) break; + } + + this.parseImportSpecifier(node); + } + } + + parseImportSpecifier(node) { + const specifier = this.startNode(); + const importedIsString = this.match(4); + specifier.imported = this.parseModuleExportName(); + + if (this.eatContextual("as")) { + specifier.local = this.parseIdentifier(); + } else { + const { + imported + } = specifier; + + if (importedIsString) { + throw this.raise(specifier.start, ErrorMessages.ImportBindingIsString, imported.value); + } + + this.checkReservedWord(imported.name, specifier.start, true, true); + specifier.local = cloneIdentifier(imported); + } + + this.checkLVal(specifier.local, "import specifier", BIND_LEXICAL); + node.specifiers.push(this.finishNode(specifier, "ImportSpecifier")); + } + + isThisParam(param) { + return param.type === "Identifier" && param.name === "this"; + } + +} + +class Parser extends StatementParser { + constructor(options, input) { + options = getOptions(options); + super(options, input); + this.options = options; + this.initializeScopes(); + this.plugins = pluginsMap(this.options.plugins); + this.filename = options.sourceFilename; + } + + getScopeHandler() { + return ScopeHandler; + } + + parse() { + this.enterInitialScopes(); + const file = this.startNode(); + const program = this.startNode(); + this.nextToken(); + file.errors = null; + this.parseTopLevel(file, program); + file.errors = this.state.errors; + return file; + } + +} + +function pluginsMap(plugins) { + const pluginMap = new Map(); + + for (const plugin of plugins) { + const [name, options] = Array.isArray(plugin) ? plugin : [plugin, {}]; + if (!pluginMap.has(name)) pluginMap.set(name, options || {}); + } + + return pluginMap; +} + +function parse(input, options) { + var _options; + + if (((_options = options) == null ? void 0 : _options.sourceType) === "unambiguous") { + options = Object.assign({}, options); + + try { + options.sourceType = "module"; + const parser = getParser(options, input); + const ast = parser.parse(); + + if (parser.sawUnambiguousESM) { + return ast; + } + + if (parser.ambiguousScriptDifferentAst) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused) {} + } else { + ast.program.sourceType = "script"; + } + + return ast; + } catch (moduleError) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused2) {} + + throw moduleError; + } + } else { + return getParser(options, input).parse(); + } +} +function parseExpression(input, options) { + const parser = getParser(options, input); + + if (parser.options.strictMode) { + parser.state.strict = true; + } + + return parser.getExpression(); +} + +function generateExportedTokenTypes(internalTokenTypes) { + const tokenTypes = {}; + + for (const typeName of Object.keys(internalTokenTypes)) { + tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]); + } + + return tokenTypes; +} + +const tokTypes = generateExportedTokenTypes(tt); + +function getParser(options, input) { + let cls = Parser; + + if (options != null && options.plugins) { + validatePlugins(options.plugins); + cls = getParserClass(options.plugins); + } + + return new cls(options, input); +} + +const parserClassCache = {}; + +function getParserClass(pluginsFromOptions) { + const pluginList = mixinPluginNames.filter(name => hasPlugin(pluginsFromOptions, name)); + const key = pluginList.join("/"); + let cls = parserClassCache[key]; + + if (!cls) { + cls = Parser; + + for (const plugin of pluginList) { + cls = mixinPlugins[plugin](cls); + } + + parserClassCache[key] = cls; + } + + return cls; +} + +exports.parse = parse; +exports.parseExpression = parseExpression; +exports.tokTypes = tokTypes; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@babel/parser/lib/index.js.map b/node_modules/@babel/parser/lib/index.js.map new file mode 100644 index 00000000..15ad24ac --- /dev/null +++ b/node_modules/@babel/parser/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../src/util/whitespace.js","../src/util/location.js","../src/parser/base.js","../src/parser/comments.js","../src/parser/error-codes.js","../src/parser/error-message.js","../src/parser/error.js","../src/plugins/estree.js","../src/tokenizer/context.js","../src/tokenizer/types.js","../../babel-helper-validator-identifier/src/identifier.ts","../../babel-helper-validator-identifier/src/keyword.ts","../src/util/identifier.js","../src/util/scopeflags.js","../src/util/scope.js","../src/plugins/flow/scope.js","../src/tokenizer/state.js","../src/tokenizer/index.js","../src/util/class-scope.js","../src/util/expression-scope.js","../src/util/production-parameter.js","../src/parser/util.js","../src/parser/node.js","../src/plugins/flow/index.js","../src/plugins/jsx/xhtml.js","../src/plugins/jsx/index.js","../src/plugins/typescript/scope.js","../src/plugins/typescript/index.js","../src/plugins/placeholders.js","../src/plugins/v8intrinsic.js","../src/plugin-utils.js","../src/options.js","../src/parser/lval.js","../src/parser/expression.js","../src/parser/statement.js","../src/parser/index.js","../src/index.js"],"sourcesContent":["// @flow\n\nimport * as charCodes from \"charcodes\";\n\n// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\nexport const lineBreak = /\\r\\n?|[\\n\\u2028\\u2029]/;\nexport const lineBreakG = new RegExp(lineBreak.source, \"g\");\n\n// https://tc39.github.io/ecma262/#sec-line-terminators\nexport function isNewLine(code: number): boolean {\n switch (code) {\n case charCodes.lineFeed:\n case charCodes.carriageReturn:\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return true;\n\n default:\n return false;\n }\n}\n\nexport const skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\n\nexport const skipWhiteSpaceInLine =\n /(?:[^\\S\\n\\r\\u2028\\u2029]|\\/\\/.*|\\/\\*.*?\\*\\/)*/y;\n\n// Skip whitespace and single-line comments, including /* no newline here */.\n// After this RegExp matches, its lastIndex points to a line terminator, or\n// the start of multi-line comment (which is effectively a line terminator),\n// or the end of string.\nexport const skipWhiteSpaceToLineBreak = new RegExp(\n // Unfortunately JS doesn't support Perl's atomic /(?>pattern)/ or\n // possessive quantifiers, so we use a trick to prevent backtracking\n // when the look-ahead for line terminator fails.\n \"(?=(\" +\n // Capture the whitespace and comments that should be skipped inside\n // a look-ahead assertion, and then re-match the group as a unit.\n skipWhiteSpaceInLine.source +\n \"))\\\\1\" +\n // Look-ahead for either line terminator, start of multi-line comment,\n // or end of string.\n /(?=[\\n\\r\\u2028\\u2029]|\\/\\*(?!.*?\\*\\/)|$)/.source,\n \"y\", // sticky\n);\n\n// https://tc39.github.io/ecma262/#sec-white-space\nexport function isWhitespace(code: number): boolean {\n switch (code) {\n case 0x0009: // CHARACTER TABULATION\n case 0x000b: // LINE TABULATION\n case 0x000c: // FORM FEED\n case charCodes.space:\n case charCodes.nonBreakingSpace:\n case charCodes.oghamSpaceMark:\n case 0x2000: // EN QUAD\n case 0x2001: // EM QUAD\n case 0x2002: // EN SPACE\n case 0x2003: // EM SPACE\n case 0x2004: // THREE-PER-EM SPACE\n case 0x2005: // FOUR-PER-EM SPACE\n case 0x2006: // SIX-PER-EM SPACE\n case 0x2007: // FIGURE SPACE\n case 0x2008: // PUNCTUATION SPACE\n case 0x2009: // THIN SPACE\n case 0x200a: // HAIR SPACE\n case 0x202f: // NARROW NO-BREAK SPACE\n case 0x205f: // MEDIUM MATHEMATICAL SPACE\n case 0x3000: // IDEOGRAPHIC SPACE\n case 0xfeff: // ZERO WIDTH NO-BREAK SPACE\n return true;\n\n default:\n return false;\n }\n}\n","// @flow\n\nimport { lineBreakG } from \"./whitespace\";\n\nexport type Pos = {\n start: number,\n};\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nexport class Position {\n line: number;\n column: number;\n\n constructor(line: number, col: number) {\n this.line = line;\n this.column = col;\n }\n}\n\nexport class SourceLocation {\n start: Position;\n end: Position;\n filename: string;\n identifierName: ?string;\n\n constructor(start: Position, end?: Position) {\n this.start = start;\n // $FlowIgnore (may start as null, but initialized later)\n this.end = end;\n }\n}\n\n// The `getLineInfo` function is mostly useful when the\n// `locations` option is off (for performance reasons) and you\n// want to find the line/column position for a given character\n// offset. `input` should be the code string that the offset refers\n// into.\n\nexport function getLineInfo(input: string, offset: number): Position {\n let line = 1;\n let lineStart = 0;\n let match;\n lineBreakG.lastIndex = 0;\n while ((match = lineBreakG.exec(input)) && match.index < offset) {\n line++;\n lineStart = lineBreakG.lastIndex;\n }\n\n return new Position(line, offset - lineStart);\n}\n","// @flow\n\nimport type { Options } from \"../options\";\nimport type State from \"../tokenizer/state\";\nimport type { PluginsMap } from \"./index\";\nimport type ScopeHandler from \"../util/scope\";\nimport type ExpressionScopeHandler from \"../util/expression-scope\";\nimport type ClassScopeHandler from \"../util/class-scope\";\nimport type ProductionParameterHandler from \"../util/production-parameter\";\n\nexport default class BaseParser {\n // Properties set by constructor in index.js\n declare options: Options;\n declare inModule: boolean;\n declare scope: ScopeHandler<*>;\n declare classScope: ClassScopeHandler;\n declare prodParam: ProductionParameterHandler;\n declare expressionScope: ExpressionScopeHandler;\n declare plugins: PluginsMap;\n declare filename: ?string;\n // Names of exports store. `default` is stored as a name for both\n // `export default foo;` and `export { foo as default };`.\n declare exportedIdentifiers: Set;\n sawUnambiguousESM: boolean = false;\n ambiguousScriptDifferentAst: boolean = false;\n\n // Initialized by Tokenizer\n declare state: State;\n // input and length are not in state as they are constant and we do\n // not want to ever copy them, which happens if state gets cloned\n declare input: string;\n declare length: number;\n\n hasPlugin(name: string): boolean {\n return this.plugins.has(name);\n }\n\n getPluginOption(plugin: string, name: string) {\n // $FlowIssue\n if (this.hasPlugin(plugin)) return this.plugins.get(plugin)[name];\n }\n}\n","// @flow\n\n/*:: declare var invariant; */\n\nimport BaseParser from \"./base\";\nimport type { Comment, Node } from \"../types\";\nimport * as charCodes from \"charcodes\";\n\n/**\n * A whitespace token containing comments\n * @typedef CommentWhitespace\n * @type {object}\n * @property {number} start - the start of the whitespace token.\n * @property {number} end - the end of the whitespace token.\n * @property {Array} comments - the containing comments\n * @property {Node | null} leadingNode - the immediately preceding AST node of the whitespace token\n * @property {Node | null} trailingNode - the immediately following AST node of the whitespace token\n * @property {Node | null} containingNode - the innermost AST node containing the whitespace\n * with minimal size (|end - start|)\n */\nexport type CommentWhitespace = {\n start: number,\n end: number,\n comments: Array,\n leadingNode: Node | null,\n trailingNode: Node | null,\n containingNode: Node | null,\n};\n/**\n * Merge comments with node's trailingComments or assign comments to be\n * trailingComments. New comments will be placed before old comments\n * because the commentStack is enumerated reversely.\n *\n * @param {Node} node\n * @param {Array} comments\n */\nfunction setTrailingComments(node: Node, comments: Array) {\n if (node.trailingComments === undefined) {\n node.trailingComments = comments;\n } else {\n node.trailingComments.unshift(...comments);\n }\n}\n\n/**\n * Merge comments with node's innerComments or assign comments to be\n * innerComments. New comments will be placed before old comments\n * because the commentStack is enumerated reversely.\n *\n * @param {Node} node\n * @param {Array} comments\n */\nexport function setInnerComments(node: Node, comments: Array | void) {\n if (node.innerComments === undefined) {\n node.innerComments = comments;\n } else if (comments !== undefined) {\n node.innerComments.unshift(...comments);\n }\n}\n\n/**\n * Given node and elements array, if elements has non-null element,\n * merge comments to its trailingComments, otherwise merge comments\n * to node's innerComments\n *\n * @param {Node} node\n * @param {Array} elements\n * @param {Array} comments\n */\nfunction adjustInnerComments(\n node: Node,\n elements: Array,\n commentWS: CommentWhitespace,\n) {\n let lastElement = null;\n let i = elements.length;\n while (lastElement === null && i > 0) {\n lastElement = elements[--i];\n }\n if (lastElement === null || lastElement.start > commentWS.start) {\n setInnerComments(node, commentWS.comments);\n } else {\n setTrailingComments(lastElement, commentWS.comments);\n }\n}\n\n/** @class CommentsParser */\nexport default class CommentsParser extends BaseParser {\n addComment(comment: Comment): void {\n if (this.filename) comment.loc.filename = this.filename;\n this.state.comments.push(comment);\n }\n\n /**\n * Given a newly created AST node _n_, attach _n_ to a comment whitespace _w_ if applicable\n * {@see {@link CommentWhitespace}}\n *\n * @param {Node} node\n * @returns {void}\n * @memberof CommentsParser\n */\n processComment(node: Node): void {\n const { commentStack } = this.state;\n const commentStackLength = commentStack.length;\n if (commentStackLength === 0) return;\n let i = commentStackLength - 1;\n const lastCommentWS = commentStack[i];\n\n if (lastCommentWS.start === node.end) {\n lastCommentWS.leadingNode = node;\n i--;\n }\n\n const { start: nodeStart } = node;\n // invariant: for all 0 <= j <= i, let c = commentStack[j], c must satisfy c.end < node.end\n for (; i >= 0; i--) {\n const commentWS = commentStack[i];\n const commentEnd = commentWS.end;\n if (commentEnd > nodeStart) {\n // by definition of commentWhiteSpace, this implies commentWS.start > nodeStart\n // so node can be a containingNode candidate. At this time we can finalize the comment\n // whitespace, because\n // 1) its leadingNode or trailingNode, if exists, will not change\n // 2) its containingNode have been assigned and will not change because it is the\n // innermost minimal-sized AST node\n commentWS.containingNode = node;\n this.finalizeComment(commentWS);\n commentStack.splice(i, 1);\n } else {\n if (commentEnd === nodeStart) {\n commentWS.trailingNode = node;\n }\n // stop the loop when commentEnd <= nodeStart\n break;\n }\n }\n }\n\n /**\n * Assign the comments of comment whitespaces to related AST nodes.\n * Also adjust innerComments following trailing comma.\n *\n * @memberof CommentsParser\n */\n finalizeComment(commentWS: CommentWhitespace) {\n const { comments } = commentWS;\n if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) {\n if (commentWS.leadingNode !== null) {\n setTrailingComments(commentWS.leadingNode, comments);\n }\n if (commentWS.trailingNode !== null) {\n commentWS.trailingNode.leadingComments = comments;\n }\n } else {\n /*:: invariant(commentWS.containingNode !== null) */\n const { containingNode: node, start: commentStart } = commentWS;\n if (this.input.charCodeAt(commentStart - 1) === charCodes.comma) {\n // If a commentWhitespace follows a comma and the containingNode allows\n // list structures with trailing comma, merge it to the trailingComment\n // of the last non-null list element\n switch (node.type) {\n case \"ObjectExpression\":\n case \"ObjectPattern\":\n case \"RecordExpression\":\n adjustInnerComments(node, node.properties, commentWS);\n break;\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n adjustInnerComments(node, node.arguments, commentWS);\n break;\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ArrowFunctionExpression\":\n case \"ObjectMethod\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n adjustInnerComments(node, node.params, commentWS);\n break;\n case \"ArrayExpression\":\n case \"ArrayPattern\":\n case \"TupleExpression\":\n adjustInnerComments(node, node.elements, commentWS);\n break;\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n adjustInnerComments(node, node.specifiers, commentWS);\n break;\n default: {\n setInnerComments(node, comments);\n }\n }\n } else {\n setInnerComments(node, comments);\n }\n }\n }\n\n /**\n * Drains remaning commentStack and applies finalizeComment\n * to each comment whitespace. Used only in parseExpression\n * where the top level AST node is _not_ Program\n * {@see {@link CommentsParser#finalizeComment}}\n *\n * @memberof CommentsParser\n */\n finalizeRemainingComments() {\n const { commentStack } = this.state;\n for (let i = commentStack.length - 1; i >= 0; i--) {\n this.finalizeComment(commentStack[i]);\n }\n this.state.commentStack = [];\n }\n\n /**\n * Reset previous node trailing comments. Used in object / class\n * property parsing. We parse `async`, `static`, `set` and `get`\n * as an identifier but may reinterepret it into an async/static/accessor\n * method later. In this case the identifier is not part of the AST and we\n * should sync the knowledge to commentStacks\n *\n * For example, when parsing */\n // async /* 1 */ function f() {}\n /*\n * the comment whitespace \"* 1 *\" has leading node Identifier(async). When\n * we see the function token, we create a Function node and mark \"* 1 *\" as\n * inner comments. So \"* 1 *\" should be detached from the Identifier node.\n *\n * @param {N.Node} node the last finished AST node _before_ current token\n * @returns\n * @memberof CommentsParser\n */\n resetPreviousNodeTrailingComments(node: Node) {\n const { commentStack } = this.state;\n const { length } = commentStack;\n if (length === 0) return;\n const commentWS = commentStack[length - 1];\n if (commentWS.leadingNode === node) {\n commentWS.leadingNode = null;\n }\n }\n}\n","// @flow\n\nexport const ErrorCodes = Object.freeze({\n SyntaxError: \"BABEL_PARSER_SYNTAX_ERROR\",\n SourceTypeModuleError: \"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\",\n});\n\nexport type ErrorCode = $Values;\n","// @flow\n\nimport { makeErrorTemplates, ErrorCodes } from \"./error\";\n\n/* eslint sort-keys: \"error\" */\n\n/**\n * @module parser/error-message\n */\n\n// The Errors key follows https://cs.chromium.org/chromium/src/v8/src/common/message-template.h unless it does not exist\nexport const ErrorMessages = makeErrorTemplates(\n {\n AccessorIsGenerator: \"A %0ter cannot be a generator.\",\n ArgumentsInClass:\n \"'arguments' is only allowed in functions and class methods.\",\n AsyncFunctionInSingleStatementContext:\n \"Async functions can only be declared at the top level or inside a block.\",\n AwaitBindingIdentifier:\n \"Can not use 'await' as identifier inside an async function.\",\n AwaitBindingIdentifierInStaticBlock:\n \"Can not use 'await' as identifier inside a static block.\",\n AwaitExpressionFormalParameter:\n \"'await' is not allowed in async function parameters.\",\n AwaitNotInAsyncContext:\n \"'await' is only allowed within async functions and at the top levels of modules.\",\n AwaitNotInAsyncFunction: \"'await' is only allowed within async functions.\",\n BadGetterArity: \"A 'get' accesor must not have any formal parameters.\",\n BadSetterArity: \"A 'set' accesor must have exactly one formal parameter.\",\n BadSetterRestParameter:\n \"A 'set' accesor function argument must not be a rest parameter.\",\n ConstructorClassField: \"Classes may not have a field named 'constructor'.\",\n ConstructorClassPrivateField:\n \"Classes may not have a private field named '#constructor'.\",\n ConstructorIsAccessor: \"Class constructor may not be an accessor.\",\n ConstructorIsAsync: \"Constructor can't be an async function.\",\n ConstructorIsGenerator: \"Constructor can't be a generator.\",\n DeclarationMissingInitializer: \"'%0' require an initialization value.\",\n DecoratorBeforeExport:\n \"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.\",\n DecoratorConstructor:\n \"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?\",\n DecoratorExportClass:\n \"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.\",\n DecoratorSemicolon: \"Decorators must not be followed by a semicolon.\",\n DecoratorStaticBlock: \"Decorators can't be used with a static block.\",\n DeletePrivateField: \"Deleting a private field is not allowed.\",\n DestructureNamedImport:\n \"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\",\n DuplicateConstructor: \"Duplicate constructor in the same class.\",\n DuplicateDefaultExport: \"Only one default export allowed per module.\",\n DuplicateExport:\n \"`%0` has already been exported. Exported identifiers must be unique.\",\n DuplicateProto: \"Redefinition of __proto__ property.\",\n DuplicateRegExpFlags: \"Duplicate regular expression flag.\",\n ElementAfterRest: \"Rest element must be last element.\",\n EscapedCharNotAnIdentifier: \"Invalid Unicode escape.\",\n ExportBindingIsString:\n \"A string literal cannot be used as an exported binding without `from`.\\n- Did you mean `export { '%0' as '%1' } from 'some-module'`?\",\n ExportDefaultFromAsIdentifier:\n \"'from' is not allowed as an identifier after 'export default'.\",\n ForInOfLoopInitializer:\n \"'%0' loop variable declaration may not have an initializer.\",\n ForOfAsync: \"The left-hand side of a for-of loop may not be 'async'.\",\n ForOfLet: \"The left-hand side of a for-of loop may not start with 'let'.\",\n GeneratorInSingleStatementContext:\n \"Generators can only be declared at the top level or inside a block.\",\n IllegalBreakContinue: \"Unsyntactic %0.\",\n IllegalLanguageModeDirective:\n \"Illegal 'use strict' directive in function with non-simple parameter list.\",\n IllegalReturn: \"'return' outside of function.\",\n ImportBindingIsString:\n 'A string literal cannot be used as an imported binding.\\n- Did you mean `import { \"%0\" as foo }`?',\n ImportCallArgumentTrailingComma:\n \"Trailing comma is disallowed inside import(...) arguments.\",\n ImportCallArity: \"`import()` requires exactly %0.\",\n ImportCallNotNewExpression: \"Cannot use new with import(...).\",\n ImportCallSpreadArgument: \"`...` is not allowed in `import()`.\",\n InvalidBigIntLiteral: \"Invalid BigIntLiteral.\",\n InvalidCodePoint: \"Code point out of bounds.\",\n InvalidDecimal: \"Invalid decimal.\",\n InvalidDigit: \"Expected number in radix %0.\",\n InvalidEscapeSequence: \"Bad character escape sequence.\",\n InvalidEscapeSequenceTemplate: \"Invalid escape sequence in template.\",\n InvalidEscapedReservedWord: \"Escape sequence in keyword %0.\",\n InvalidIdentifier: \"Invalid identifier %0.\",\n InvalidLhs: \"Invalid left-hand side in %0.\",\n InvalidLhsBinding: \"Binding invalid left-hand side in %0.\",\n InvalidNumber: \"Invalid number.\",\n InvalidOrMissingExponent:\n \"Floating-point numbers require a valid exponent after the 'e'.\",\n InvalidOrUnexpectedToken: \"Unexpected character '%0'.\",\n InvalidParenthesizedAssignment: \"Invalid parenthesized assignment pattern.\",\n InvalidPrivateFieldResolution: \"Private name #%0 is not defined.\",\n InvalidPropertyBindingPattern: \"Binding member expression.\",\n InvalidRecordProperty:\n \"Only properties and spread elements are allowed in record definitions.\",\n InvalidRestAssignmentPattern: \"Invalid rest operator's argument.\",\n LabelRedeclaration: \"Label '%0' is already declared.\",\n LetInLexicalBinding:\n \"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\",\n LineTerminatorBeforeArrow: \"No line break is allowed before '=>'.\",\n MalformedRegExpFlags: \"Invalid regular expression flag.\",\n MissingClassName: \"A class name is required.\",\n MissingEqInAssignment:\n \"Only '=' operator can be used for specifying default value.\",\n MissingSemicolon: \"Missing semicolon.\",\n MissingUnicodeEscape: \"Expecting Unicode escape sequence \\\\uXXXX.\",\n MixingCoalesceWithLogical:\n \"Nullish coalescing operator(??) requires parens when mixing with logical operators.\",\n ModuleAttributeDifferentFromType:\n \"The only accepted module attribute is `type`.\",\n ModuleAttributeInvalidValue:\n \"Only string literals are allowed as module attribute values.\",\n ModuleAttributesWithDuplicateKeys:\n 'Duplicate key \"%0\" is not allowed in module attributes.',\n ModuleExportNameHasLoneSurrogate:\n \"An export name cannot include a lone surrogate, found '\\\\u%0'.\",\n ModuleExportUndefined: \"Export '%0' is not defined.\",\n MultipleDefaultsInSwitch: \"Multiple default clauses.\",\n NewlineAfterThrow: \"Illegal newline after throw.\",\n NoCatchOrFinally: \"Missing catch or finally clause.\",\n NumberIdentifier: \"Identifier directly after number.\",\n NumericSeparatorInEscapeSequence:\n \"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.\",\n ObsoleteAwaitStar:\n \"'await*' has been removed from the async functions proposal. Use Promise.all() instead.\",\n OptionalChainingNoNew:\n \"Constructors in/after an Optional Chain are not allowed.\",\n OptionalChainingNoTemplate:\n \"Tagged Template Literals are not allowed in optionalChain.\",\n OverrideOnConstructor:\n \"'override' modifier cannot appear on a constructor declaration.\",\n ParamDupe: \"Argument name clash.\",\n PatternHasAccessor: \"Object pattern can't contain getter or setter.\",\n PatternHasMethod: \"Object pattern can't contain methods.\",\n // This error is only used by the smart-mix proposal\n PipeBodyIsTighter:\n \"Unexpected %0 after pipeline body; any %0 expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.\",\n PipeTopicRequiresHackPipes:\n 'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.',\n PipeTopicUnbound:\n \"Topic reference is unbound; it must be inside a pipe body.\",\n PipeTopicUnconfiguredToken:\n 'Invalid topic token %0. In order to use %0 as a topic reference, the pipelineOperator plugin must be configured with { \"proposal\": \"hack\", \"topicToken\": \"%0\" }.',\n PipeTopicUnused:\n \"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.\",\n PipeUnparenthesizedBody:\n \"Hack-style pipe body cannot be an unparenthesized %0 expression; please wrap it in parentheses.\",\n\n // Messages whose codes start with “Pipeline” or “PrimaryTopic”\n // are retained for backwards compatibility\n // with the deprecated smart-mix pipe operator proposal plugin.\n // They are subject to removal in a future major version.\n PipelineBodyNoArrow:\n 'Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized.',\n PipelineBodySequenceExpression:\n \"Pipeline body may not be a comma-separated sequence expression.\",\n PipelineHeadSequenceExpression:\n \"Pipeline head should not be a comma-separated sequence expression.\",\n PipelineTopicUnused:\n \"Pipeline is in topic style but does not use topic reference.\",\n PrimaryTopicNotAllowed:\n \"Topic reference was used in a lexical context without topic binding.\",\n PrimaryTopicRequiresSmartPipeline:\n 'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.',\n\n PrivateInExpectedIn:\n \"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`).\",\n PrivateNameRedeclaration: \"Duplicate private name #%0.\",\n RecordExpressionBarIncorrectEndSyntaxType:\n \"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n RecordExpressionBarIncorrectStartSyntaxType:\n \"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n RecordExpressionHashIncorrectStartSyntaxType:\n \"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",\n RecordNoProto: \"'__proto__' is not allowed in Record expressions.\",\n RestTrailingComma: \"Unexpected trailing comma after rest element.\",\n SloppyFunction:\n \"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.\",\n StaticPrototype: \"Classes may not have static property named prototype.\",\n StrictDelete: \"Deleting local variable in strict mode.\",\n StrictEvalArguments: \"Assigning to '%0' in strict mode.\",\n StrictEvalArgumentsBinding: \"Binding '%0' in strict mode.\",\n StrictFunction:\n \"In strict mode code, functions can only be declared at top level or inside a block.\",\n StrictNumericEscape:\n \"The only valid numeric escape in strict mode is '\\\\0'.\",\n StrictOctalLiteral: \"Legacy octal literals are not allowed in strict mode.\",\n StrictWith: \"'with' in strict mode.\",\n SuperNotAllowed:\n \"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?\",\n SuperPrivateField: \"Private fields can't be accessed on super.\",\n TrailingDecorator: \"Decorators must be attached to a class element.\",\n TupleExpressionBarIncorrectEndSyntaxType:\n \"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n TupleExpressionBarIncorrectStartSyntaxType:\n \"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n TupleExpressionHashIncorrectStartSyntaxType:\n \"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",\n UnexpectedArgumentPlaceholder: \"Unexpected argument placeholder.\",\n UnexpectedAwaitAfterPipelineBody:\n 'Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal.',\n UnexpectedDigitAfterHash: \"Unexpected digit after hash token.\",\n UnexpectedImportExport:\n \"'import' and 'export' may only appear at the top level.\",\n UnexpectedKeyword: \"Unexpected keyword '%0'.\",\n UnexpectedLeadingDecorator:\n \"Leading decorators must be attached to a class declaration.\",\n UnexpectedLexicalDeclaration:\n \"Lexical declaration cannot appear in a single-statement context.\",\n UnexpectedNewTarget:\n \"`new.target` can only be used in functions or class properties.\",\n UnexpectedNumericSeparator:\n \"A numeric separator is only allowed between two digits.\",\n UnexpectedPrivateField:\n \"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\\n or a property of member expression (i.e. this.#p).\",\n UnexpectedReservedWord: \"Unexpected reserved word '%0'.\",\n UnexpectedSuper: \"'super' is only allowed in object methods and classes.\",\n UnexpectedToken: \"Unexpected token '%0'.\",\n UnexpectedTokenUnaryExponentiation:\n \"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.\",\n UnsupportedBind: \"Binding should be performed on object property.\",\n UnsupportedDecoratorExport:\n \"A decorated export must export a class declaration.\",\n UnsupportedDefaultExport:\n \"Only expressions, functions or classes are allowed as the `default` export.\",\n UnsupportedImport:\n \"`import` can only be used in `import()` or `import.meta`.\",\n UnsupportedMetaProperty: \"The only valid meta property for %0 is %0.%1.\",\n UnsupportedParameterDecorator:\n \"Decorators cannot be used to decorate parameters.\",\n UnsupportedPropertyDecorator:\n \"Decorators cannot be used to decorate object literal properties.\",\n UnsupportedSuper:\n \"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).\",\n UnterminatedComment: \"Unterminated comment.\",\n UnterminatedRegExp: \"Unterminated regular expression.\",\n UnterminatedString: \"Unterminated string constant.\",\n UnterminatedTemplate: \"Unterminated template.\",\n VarRedeclaration: \"Identifier '%0' has already been declared.\",\n YieldBindingIdentifier:\n \"Can not use 'yield' as identifier inside a generator.\",\n YieldInParameter: \"Yield expression is not allowed in formal parameters.\",\n ZeroDigitNumericSeparator:\n \"Numeric separator can not be used after leading 0.\",\n },\n /* code */ ErrorCodes.SyntaxError,\n);\n\nexport const SourceTypeModuleErrorMessages = makeErrorTemplates(\n {\n ImportMetaOutsideModule: `import.meta may appear only with 'sourceType: \"module\"'`,\n ImportOutsideModule: `'import' and 'export' may appear only with 'sourceType: \"module\"'`,\n },\n /* code */ ErrorCodes.SourceTypeModuleError,\n);\n","// @flow\n/* eslint sort-keys: \"error\" */\nimport { getLineInfo, type Position } from \"../util/location\";\nimport CommentsParser from \"./comments\";\nimport { type ErrorCode, ErrorCodes } from \"./error-codes\";\n\n// This function is used to raise exceptions on parse errors. It\n// takes an offset integer (into the current `input`) to indicate\n// the location of the error, attaches the position to the end\n// of the error message, and then raises a `SyntaxError` with that\n// message.\n\ntype ErrorContext = {\n pos: number,\n loc: Position,\n missingPlugin?: Array,\n code?: string,\n reasonCode?: String,\n};\nexport type ParsingError = SyntaxError & ErrorContext;\n\nexport type ErrorTemplate = {\n code: ErrorCode,\n template: string,\n reasonCode: string,\n};\nexport type ErrorTemplates = {\n [key: string]: ErrorTemplate,\n};\n\ntype SyntaxPlugin = \"flow\" | \"typescript\" | \"jsx\" | typeof undefined;\n\nfunction keepReasonCodeCompat(reasonCode: string, syntaxPlugin: SyntaxPlugin) {\n if (!process.env.BABEL_8_BREAKING) {\n // For consistency in TypeScript and Flow error codes\n if (syntaxPlugin === \"flow\" && reasonCode === \"PatternIsOptional\") {\n return \"OptionalBindingPattern\";\n }\n }\n return reasonCode;\n}\n\nexport function makeErrorTemplates(\n messages: {\n [key: string]: string,\n },\n code: ErrorCode,\n syntaxPlugin?: SyntaxPlugin,\n): ErrorTemplates {\n const templates: ErrorTemplates = {};\n Object.keys(messages).forEach(reasonCode => {\n templates[reasonCode] = Object.freeze({\n code,\n reasonCode: keepReasonCodeCompat(reasonCode, syntaxPlugin),\n template: messages[reasonCode],\n });\n });\n return Object.freeze(templates);\n}\n\nexport { ErrorCodes };\nexport {\n ErrorMessages as Errors,\n SourceTypeModuleErrorMessages as SourceTypeModuleErrors,\n} from \"./error-message\";\n\nexport type raiseFunction = (number, ErrorTemplate, ...any) => void;\n\nexport default class ParserError extends CommentsParser {\n // Forward-declaration: defined in tokenizer/index.js\n /*::\n +isLookahead: boolean;\n */\n\n getLocationForPosition(pos: number): Position {\n let loc;\n if (pos === this.state.start) loc = this.state.startLoc;\n else if (pos === this.state.lastTokStart) loc = this.state.lastTokStartLoc;\n else if (pos === this.state.end) loc = this.state.endLoc;\n else if (pos === this.state.lastTokEnd) loc = this.state.lastTokEndLoc;\n else loc = getLineInfo(this.input, pos);\n\n return loc;\n }\n\n raise(\n pos: number,\n { code, reasonCode, template }: ErrorTemplate,\n ...params: any\n ): Error | empty {\n return this.raiseWithData(pos, { code, reasonCode }, template, ...params);\n }\n\n /**\n * Raise a parsing error on given position pos. If errorRecovery is true,\n * it will first search current errors and overwrite the error thrown on the exact\n * position before with the new error message. If errorRecovery is false, it\n * fallbacks to `raise`.\n *\n * @param {number} pos\n * @param {string} errorTemplate\n * @param {...any} params\n * @returns {(Error | empty)}\n * @memberof ParserError\n */\n raiseOverwrite(\n pos: number,\n { code, template }: ErrorTemplate,\n ...params: any\n ): Error | empty {\n const loc = this.getLocationForPosition(pos);\n const message =\n template.replace(/%(\\d+)/g, (_, i: number) => params[i]) +\n ` (${loc.line}:${loc.column})`;\n if (this.options.errorRecovery) {\n const errors = this.state.errors;\n for (let i = errors.length - 1; i >= 0; i--) {\n const error = errors[i];\n if (error.pos === pos) {\n return Object.assign(error, { message });\n } else if (error.pos < pos) {\n break;\n }\n }\n }\n return this._raise({ code, loc, pos }, message);\n }\n\n raiseWithData(\n pos: number,\n data?: {\n missingPlugin?: Array,\n code?: string,\n },\n errorTemplate: string,\n ...params: any\n ): Error | empty {\n const loc = this.getLocationForPosition(pos);\n const message =\n errorTemplate.replace(/%(\\d+)/g, (_, i: number) => params[i]) +\n ` (${loc.line}:${loc.column})`;\n return this._raise(Object.assign(({ loc, pos }: Object), data), message);\n }\n\n _raise(errorContext: ErrorContext, message: string): Error | empty {\n // $FlowIgnore\n const err: SyntaxError & ErrorContext = new SyntaxError(message);\n Object.assign(err, errorContext);\n if (this.options.errorRecovery) {\n if (!this.isLookahead) this.state.errors.push(err);\n return err;\n } else {\n throw err;\n }\n }\n}\n","// @flow\n\nimport { type TokenType } from \"../tokenizer/types\";\nimport type Parser from \"../parser\";\nimport type { ExpressionErrors } from \"../parser/util\";\nimport * as N from \"../types\";\nimport type { Position } from \"../util/location\";\nimport { Errors } from \"../parser/error\";\n\nexport default (superClass: Class): Class =>\n class extends superClass {\n parseRegExpLiteral({ pattern, flags }): N.Node {\n let regex = null;\n try {\n regex = new RegExp(pattern, flags);\n } catch (e) {\n // In environments that don't support these flags value will\n // be null as the regex can't be represented natively.\n }\n const node = this.estreeParseLiteral(regex);\n node.regex = { pattern, flags };\n\n return node;\n }\n\n parseBigIntLiteral(value: any): N.Node {\n // https://github.com/estree/estree/blob/master/es2020.md#bigintliteral\n let bigInt;\n try {\n // $FlowIgnore\n bigInt = BigInt(value);\n } catch {\n bigInt = null;\n }\n const node = this.estreeParseLiteral(bigInt);\n node.bigint = String(node.value || value);\n\n return node;\n }\n\n parseDecimalLiteral(value: any): N.Node {\n // https://github.com/estree/estree/blob/master/experimental/decimal.md\n // todo: use BigDecimal when node supports it.\n const decimal = null;\n const node = this.estreeParseLiteral(decimal);\n node.decimal = String(node.value || value);\n\n return node;\n }\n\n estreeParseLiteral(value: any) {\n return this.parseLiteral(value, \"Literal\");\n }\n\n parseStringLiteral(value: any): N.Node {\n return this.estreeParseLiteral(value);\n }\n\n parseNumericLiteral(value: any): any {\n return this.estreeParseLiteral(value);\n }\n\n parseNullLiteral(): N.Node {\n return this.estreeParseLiteral(null);\n }\n\n parseBooleanLiteral(value: boolean): N.BooleanLiteral {\n return this.estreeParseLiteral(value);\n }\n\n directiveToStmt(directive: N.Directive): N.ExpressionStatement {\n const directiveLiteral = directive.value;\n\n const stmt = this.startNodeAt(directive.start, directive.loc.start);\n const expression = this.startNodeAt(\n directiveLiteral.start,\n directiveLiteral.loc.start,\n );\n\n expression.value = directiveLiteral.extra.expressionValue;\n expression.raw = directiveLiteral.extra.raw;\n\n stmt.expression = this.finishNodeAt(\n expression,\n \"Literal\",\n directiveLiteral.end,\n directiveLiteral.loc.end,\n );\n stmt.directive = directiveLiteral.extra.raw.slice(1, -1);\n\n return this.finishNodeAt(\n stmt,\n \"ExpressionStatement\",\n directive.end,\n directive.loc.end,\n );\n }\n\n // ==================================\n // Overrides\n // ==================================\n\n initFunction(\n node: N.BodilessFunctionOrMethodBase,\n isAsync: ?boolean,\n ): void {\n super.initFunction(node, isAsync);\n node.expression = false;\n }\n\n checkDeclaration(node: N.Pattern | N.ObjectProperty): void {\n if (node != null && this.isObjectProperty(node)) {\n this.checkDeclaration(((node: any): N.EstreeProperty).value);\n } else {\n super.checkDeclaration(node);\n }\n }\n\n getObjectOrClassMethodParams(method: N.ObjectMethod | N.ClassMethod) {\n return ((method: any): N.EstreeProperty | N.EstreeMethodDefinition).value\n .params;\n }\n\n isValidDirective(stmt: N.Statement): boolean {\n return (\n stmt.type === \"ExpressionStatement\" &&\n stmt.expression.type === \"Literal\" &&\n typeof stmt.expression.value === \"string\" &&\n !stmt.expression.extra?.parenthesized\n );\n }\n\n stmtToDirective(stmt: N.Statement): N.Directive {\n const value = stmt.expression.value;\n const directive = super.stmtToDirective(stmt);\n\n // Record the expression value as in estree mode we want\n // the stmt to have the real value e.g. (\"use strict\") and\n // not the raw value e.g. (\"use\\\\x20strict\")\n this.addExtra(directive.value, \"expressionValue\", value);\n\n return directive;\n }\n\n parseBlockBody(\n node: N.BlockStatementLike,\n ...args: [?boolean, boolean, TokenType, void | (boolean => void)]\n ): void {\n super.parseBlockBody(node, ...args);\n\n const directiveStatements = node.directives.map(d =>\n this.directiveToStmt(d),\n );\n node.body = directiveStatements.concat(node.body);\n // $FlowIgnore - directives isn't optional in the type definition\n delete node.directives;\n }\n\n pushClassMethod(\n classBody: N.ClassBody,\n method: N.ClassMethod,\n isGenerator: boolean,\n isAsync: boolean,\n isConstructor: boolean,\n allowsDirectSuper: boolean,\n ): void {\n this.parseMethod(\n method,\n isGenerator,\n isAsync,\n isConstructor,\n allowsDirectSuper,\n \"ClassMethod\",\n true,\n );\n if (method.typeParameters) {\n // $FlowIgnore\n method.value.typeParameters = method.typeParameters;\n delete method.typeParameters;\n }\n classBody.body.push(method);\n }\n\n parsePrivateName(): any {\n const node = super.parsePrivateName();\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return node;\n }\n return this.convertPrivateNameToPrivateIdentifier(node);\n }\n\n convertPrivateNameToPrivateIdentifier(\n node: N.PrivateName,\n ): N.EstreePrivateIdentifier {\n const name = super.getPrivateNameSV(node);\n node = (node: any);\n delete node.id;\n node.name = name;\n node.type = \"PrivateIdentifier\";\n return node;\n }\n\n isPrivateName(node: N.Node): boolean {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return super.isPrivateName(node);\n }\n return node.type === \"PrivateIdentifier\";\n }\n\n getPrivateNameSV(node: N.Node): string {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return super.getPrivateNameSV(node);\n }\n return node.name;\n }\n\n parseLiteral(value: any, type: $ElementType): T {\n const node = super.parseLiteral(value, type);\n node.raw = node.extra.raw;\n delete node.extra;\n\n return node;\n }\n\n parseFunctionBody(\n node: N.Function,\n allowExpression: ?boolean,\n isMethod?: boolean = false,\n ): void {\n super.parseFunctionBody(node, allowExpression, isMethod);\n node.expression = node.body.type !== \"BlockStatement\";\n }\n\n parseMethod(\n node: T,\n isGenerator: boolean,\n isAsync: boolean,\n isConstructor: boolean,\n allowDirectSuper: boolean,\n type: string,\n inClassScope: boolean = false,\n ): T {\n let funcNode = this.startNode();\n funcNode.kind = node.kind; // provide kind, so super method correctly sets state\n funcNode = super.parseMethod(\n funcNode,\n isGenerator,\n isAsync,\n isConstructor,\n allowDirectSuper,\n type,\n inClassScope,\n );\n funcNode.type = \"FunctionExpression\";\n delete funcNode.kind;\n // $FlowIgnore\n node.value = funcNode;\n if (type === \"ClassPrivateMethod\") {\n // $FlowIgnore\n node.computed = false;\n }\n type = \"MethodDefinition\";\n return this.finishNode(node, type);\n }\n\n parseClassProperty(...args: [N.ClassProperty]): any {\n const propertyNode = (super.parseClassProperty(...args): any);\n if (this.getPluginOption(\"estree\", \"classFeatures\")) {\n propertyNode.type = \"PropertyDefinition\";\n }\n return (propertyNode: N.EstreePropertyDefinition);\n }\n\n parseClassPrivateProperty(...args: [N.ClassPrivateProperty]): any {\n const propertyNode = (super.parseClassPrivateProperty(...args): any);\n if (this.getPluginOption(\"estree\", \"classFeatures\")) {\n propertyNode.type = \"PropertyDefinition\";\n propertyNode.computed = false;\n }\n return (propertyNode: N.EstreePropertyDefinition);\n }\n\n parseObjectMethod(\n prop: N.ObjectMethod,\n isGenerator: boolean,\n isAsync: boolean,\n isPattern: boolean,\n isAccessor: boolean,\n ): ?N.ObjectMethod {\n const node: N.EstreeProperty = (super.parseObjectMethod(\n prop,\n isGenerator,\n isAsync,\n isPattern,\n isAccessor,\n ): any);\n\n if (node) {\n node.type = \"Property\";\n if (((node: any): N.ClassMethod).kind === \"method\") node.kind = \"init\";\n node.shorthand = false;\n }\n\n return (node: any);\n }\n\n parseObjectProperty(\n prop: N.ObjectProperty,\n startPos: ?number,\n startLoc: ?Position,\n isPattern: boolean,\n refExpressionErrors: ?ExpressionErrors,\n ): ?N.ObjectProperty {\n const node: N.EstreeProperty = (super.parseObjectProperty(\n prop,\n startPos,\n startLoc,\n isPattern,\n refExpressionErrors,\n ): any);\n\n if (node) {\n node.kind = \"init\";\n node.type = \"Property\";\n }\n\n return (node: any);\n }\n\n isAssignable(node: N.Node, isBinding?: boolean): boolean {\n if (node != null && this.isObjectProperty(node)) {\n return this.isAssignable(node.value, isBinding);\n }\n return super.isAssignable(node, isBinding);\n }\n\n toAssignable(node: N.Node, isLHS: boolean = false): N.Node {\n if (node != null && this.isObjectProperty(node)) {\n this.toAssignable(node.value, isLHS);\n\n return node;\n }\n\n return super.toAssignable(node, isLHS);\n }\n\n toAssignableObjectExpressionProp(prop: N.Node, ...args) {\n if (prop.kind === \"get\" || prop.kind === \"set\") {\n this.raise(prop.key.start, Errors.PatternHasAccessor);\n } else if (prop.method) {\n this.raise(prop.key.start, Errors.PatternHasMethod);\n } else {\n super.toAssignableObjectExpressionProp(prop, ...args);\n }\n }\n\n finishCallExpression(\n node: T,\n optional: boolean,\n ): N.Expression {\n super.finishCallExpression(node, optional);\n\n if (node.callee.type === \"Import\") {\n ((node: N.Node): N.EstreeImportExpression).type = \"ImportExpression\";\n ((node: N.Node): N.EstreeImportExpression).source = node.arguments[0];\n if (this.hasPlugin(\"importAssertions\")) {\n ((node: N.Node): N.EstreeImportExpression).attributes =\n node.arguments[1] ?? null;\n }\n // $FlowIgnore - arguments isn't optional in the type definition\n delete node.arguments;\n // $FlowIgnore - callee isn't optional in the type definition\n delete node.callee;\n }\n\n return node;\n }\n\n toReferencedArguments(\n node:\n | N.CallExpression\n | N.OptionalCallExpression\n | N.EstreeImportExpression,\n /* isParenthesizedExpr?: boolean, */\n ) {\n // ImportExpressions do not have an arguments array.\n if (node.type === \"ImportExpression\") {\n return;\n }\n\n super.toReferencedArguments(node);\n }\n\n parseExport(node: N.Node) {\n super.parseExport(node);\n\n switch (node.type) {\n case \"ExportAllDeclaration\":\n node.exported = null;\n break;\n\n case \"ExportNamedDeclaration\":\n if (\n node.specifiers.length === 1 &&\n node.specifiers[0].type === \"ExportNamespaceSpecifier\"\n ) {\n node.type = \"ExportAllDeclaration\";\n node.exported = node.specifiers[0].exported;\n delete node.specifiers;\n }\n\n break;\n }\n\n return node;\n }\n\n parseSubscript(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n noCalls: ?boolean,\n state: N.ParseSubscriptState,\n ) {\n const node = super.parseSubscript(\n base,\n startPos,\n startLoc,\n noCalls,\n state,\n );\n\n if (state.optionalChainMember) {\n // https://github.com/estree/estree/blob/master/es2020.md#chainexpression\n if (\n node.type === \"OptionalMemberExpression\" ||\n node.type === \"OptionalCallExpression\"\n ) {\n node.type = node.type.substring(8); // strip Optional prefix\n }\n if (state.stop) {\n const chain = this.startNodeAtNode(node);\n chain.expression = node;\n return this.finishNode(chain, \"ChainExpression\");\n }\n } else if (\n node.type === \"MemberExpression\" ||\n node.type === \"CallExpression\"\n ) {\n node.optional = false;\n }\n\n return node;\n }\n\n hasPropertyAsPrivateName(node: N.Node): boolean {\n if (node.type === \"ChainExpression\") {\n node = node.expression;\n }\n return super.hasPropertyAsPrivateName(node);\n }\n\n isOptionalChain(node: N.Node): boolean {\n return node.type === \"ChainExpression\";\n }\n\n isObjectProperty(node: N.Node): boolean {\n return node.type === \"Property\" && node.kind === \"init\" && !node.method;\n }\n\n isObjectMethod(node: N.Node): boolean {\n return node.method || node.kind === \"get\" || node.kind === \"set\";\n }\n };\n","// @flow\n\n// The token context is used to track whether the apostrophe \"`\"\n// starts or ends a string template\n\nexport class TokContext {\n constructor(token: string, preserveSpace?: boolean) {\n this.token = token;\n this.preserveSpace = !!preserveSpace;\n }\n\n token: string;\n preserveSpace: boolean;\n}\n\nexport const types: {\n [key: string]: TokContext,\n} = {\n brace: new TokContext(\"{\"),\n template: new TokContext(\"`\", true),\n};\n","// @flow\nimport { types as tc, type TokContext } from \"./context\";\n// ## Token types\n\n// The assignment of fine-grained, information-carrying type objects\n// allows the tokenizer to store the information it has about a\n// token in a way that is very cheap for the parser to look up.\n\n// All token type variables start with an underscore, to make them\n// easy to recognize.\n\n// The `beforeExpr` property is used to disambiguate between 1) binary\n// expression (<) and JSX Tag start (); 2) object literal and JSX\n// texts. It is set on the `updateContext` function in the JSX plugin.\n\n// The `startsExpr` property is used to determine whether an expression\n// may be the “argument” subexpression of a `yield` expression or\n// `yield` statement. It is set on all token types that may be at the\n// start of a subexpression.\n\n// `isLoop` marks a keyword as starting a loop, which is important\n// to know when parsing a label, in order to allow or disallow\n// continue jumps to that label.\n\nconst beforeExpr = true;\nconst startsExpr = true;\nconst isLoop = true;\nconst isAssign = true;\nconst prefix = true;\nconst postfix = true;\n\ntype TokenOptions = {\n keyword?: string,\n beforeExpr?: boolean,\n startsExpr?: boolean,\n rightAssociative?: boolean,\n isLoop?: boolean,\n isAssign?: boolean,\n prefix?: boolean,\n postfix?: boolean,\n binop?: ?number,\n};\n\n// Internally the tokenizer stores token as a number\nexport opaque type TokenType = number;\n\n// The `ExportedTokenType` is exported via `tokTypes` and accessible\n// when `tokens: true` is enabled. Unlike internal token type, it provides\n// metadata of the tokens.\nexport class ExportedTokenType {\n label: string;\n keyword: ?string;\n beforeExpr: boolean;\n startsExpr: boolean;\n rightAssociative: boolean;\n isLoop: boolean;\n isAssign: boolean;\n prefix: boolean;\n postfix: boolean;\n binop: ?number;\n // todo(Babel 8): remove updateContext from exposed token layout\n declare updateContext: ?(context: Array) => void;\n\n constructor(label: string, conf: TokenOptions = {}) {\n this.label = label;\n this.keyword = conf.keyword;\n this.beforeExpr = !!conf.beforeExpr;\n this.startsExpr = !!conf.startsExpr;\n this.rightAssociative = !!conf.rightAssociative;\n this.isLoop = !!conf.isLoop;\n this.isAssign = !!conf.isAssign;\n this.prefix = !!conf.prefix;\n this.postfix = !!conf.postfix;\n this.binop = conf.binop != null ? conf.binop : null;\n if (!process.env.BABEL_8_BREAKING) {\n this.updateContext = null;\n }\n }\n}\n\nexport const keywords = new Map();\n\nfunction createKeyword(name: string, options: TokenOptions = {}): TokenType {\n options.keyword = name;\n const token = createToken(name, options);\n keywords.set(name, token);\n return token;\n}\n\nfunction createBinop(name: string, binop: number) {\n return createToken(name, { beforeExpr, binop });\n}\n\nlet tokenTypeCounter = -1;\nexport const tokenTypes: ExportedTokenType[] = [];\nconst tokenLabels: string[] = [];\nconst tokenBinops: number[] = [];\nconst tokenBeforeExprs: boolean[] = [];\nconst tokenStartsExprs: boolean[] = [];\nconst tokenPrefixes: boolean[] = [];\n\nfunction createToken(name: string, options: TokenOptions = {}): TokenType {\n ++tokenTypeCounter;\n tokenLabels.push(name);\n tokenBinops.push(options.binop ?? -1);\n tokenBeforeExprs.push(options.beforeExpr ?? false);\n tokenStartsExprs.push(options.startsExpr ?? false);\n tokenPrefixes.push(options.prefix ?? false);\n tokenTypes.push(new ExportedTokenType(name, options));\n\n return tokenTypeCounter;\n}\n\n// For performance the token type helpers depend on the following declarations order.\n// When adding new token types, please also check if the token helpers need update.\n\nexport const tt: { [name: string]: TokenType } = {\n num: createToken(\"num\", { startsExpr }),\n bigint: createToken(\"bigint\", { startsExpr }),\n decimal: createToken(\"decimal\", { startsExpr }),\n regexp: createToken(\"regexp\", { startsExpr }),\n string: createToken(\"string\", { startsExpr }),\n name: createToken(\"name\", { startsExpr }),\n privateName: createToken(\"#name\", { startsExpr }),\n eof: createToken(\"eof\"),\n\n // Punctuation token types.\n bracketL: createToken(\"[\", { beforeExpr, startsExpr }),\n bracketHashL: createToken(\"#[\", { beforeExpr, startsExpr }),\n bracketBarL: createToken(\"[|\", { beforeExpr, startsExpr }),\n bracketR: createToken(\"]\"),\n bracketBarR: createToken(\"|]\"),\n braceL: createToken(\"{\", { beforeExpr, startsExpr }),\n braceBarL: createToken(\"{|\", { beforeExpr, startsExpr }),\n braceHashL: createToken(\"#{\", { beforeExpr, startsExpr }),\n braceR: createToken(\"}\", { beforeExpr }),\n braceBarR: createToken(\"|}\"),\n parenL: createToken(\"(\", { beforeExpr, startsExpr }),\n parenR: createToken(\")\"),\n comma: createToken(\",\", { beforeExpr }),\n semi: createToken(\";\", { beforeExpr }),\n colon: createToken(\":\", { beforeExpr }),\n doubleColon: createToken(\"::\", { beforeExpr }),\n dot: createToken(\".\"),\n question: createToken(\"?\", { beforeExpr }),\n questionDot: createToken(\"?.\"),\n arrow: createToken(\"=>\", { beforeExpr }),\n template: createToken(\"template\"),\n ellipsis: createToken(\"...\", { beforeExpr }),\n backQuote: createToken(\"`\", { startsExpr }),\n dollarBraceL: createToken(\"${\", { beforeExpr, startsExpr }),\n at: createToken(\"@\"),\n hash: createToken(\"#\", { startsExpr }),\n\n // Special hashbang token.\n interpreterDirective: createToken(\"#!...\"),\n\n // Operators. These carry several kinds of properties to help the\n // parser use them properly (the presence of these properties is\n // what categorizes them as operators).\n //\n // `binop`, when present, specifies that this operator is a binary\n // operator, and will refer to its precedence.\n //\n // `prefix` and `postfix` mark the operator as a prefix or postfix\n // unary operator.\n //\n // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as\n // binary operators with a very low precedence, that should result\n // in AssignmentExpression nodes.\n\n // start: isAssign\n eq: createToken(\"=\", { beforeExpr, isAssign }),\n assign: createToken(\"_=\", { beforeExpr, isAssign }),\n slashAssign: createToken(\"_=\", { beforeExpr, isAssign }),\n // This is only needed to support % as a Hack-pipe topic token. If the proposal\n // ends up choosing a different token, it can be merged with tt.assign.\n moduloAssign: createToken(\"_=\", { beforeExpr, isAssign }),\n // end: isAssign\n\n incDec: createToken(\"++/--\", { prefix, postfix, startsExpr }),\n bang: createToken(\"!\", { beforeExpr, prefix, startsExpr }),\n tilde: createToken(\"~\", { beforeExpr, prefix, startsExpr }),\n // start: isBinop\n pipeline: createBinop(\"|>\", 0),\n nullishCoalescing: createBinop(\"??\", 1),\n logicalOR: createBinop(\"||\", 1),\n logicalAND: createBinop(\"&&\", 2),\n bitwiseOR: createBinop(\"|\", 3),\n bitwiseXOR: createBinop(\"^\", 4),\n bitwiseAND: createBinop(\"&\", 5),\n equality: createBinop(\"==/!=/===/!==\", 6),\n relational: createBinop(\"/<=/>=\", 7),\n bitShift: createBinop(\"<>/>>>\", 8),\n plusMin: createToken(\"+/-\", { beforeExpr, binop: 9, prefix, startsExpr }),\n // startsExpr: required by v8intrinsic plugin\n modulo: createToken(\"%\", { binop: 10, startsExpr }),\n // unset `beforeExpr` as it can be `function *`\n star: createToken(\"*\", { binop: 10 }),\n slash: createBinop(\"/\", 10),\n exponent: createToken(\"**\", {\n beforeExpr,\n binop: 11,\n rightAssociative: true,\n }),\n\n // Keywords\n // Don't forget to update packages/babel-helper-validator-identifier/src/keyword.js\n // when new keywords are added\n // start: isKeyword\n _in: createKeyword(\"in\", { beforeExpr, binop: 7 }),\n _instanceof: createKeyword(\"instanceof\", { beforeExpr, binop: 7 }),\n // end: isBinop\n _break: createKeyword(\"break\"),\n _case: createKeyword(\"case\", { beforeExpr }),\n _catch: createKeyword(\"catch\"),\n _continue: createKeyword(\"continue\"),\n _debugger: createKeyword(\"debugger\"),\n _default: createKeyword(\"default\", { beforeExpr }),\n _else: createKeyword(\"else\", { beforeExpr }),\n _finally: createKeyword(\"finally\"),\n _function: createKeyword(\"function\", { startsExpr }),\n _if: createKeyword(\"if\"),\n _return: createKeyword(\"return\", { beforeExpr }),\n _switch: createKeyword(\"switch\"),\n _throw: createKeyword(\"throw\", { beforeExpr, prefix, startsExpr }),\n _try: createKeyword(\"try\"),\n _var: createKeyword(\"var\"),\n _const: createKeyword(\"const\"),\n _with: createKeyword(\"with\"),\n _new: createKeyword(\"new\", { beforeExpr, startsExpr }),\n _this: createKeyword(\"this\", { startsExpr }),\n _super: createKeyword(\"super\", { startsExpr }),\n _class: createKeyword(\"class\", { startsExpr }),\n _extends: createKeyword(\"extends\", { beforeExpr }),\n _export: createKeyword(\"export\"),\n _import: createKeyword(\"import\", { startsExpr }),\n _null: createKeyword(\"null\", { startsExpr }),\n _true: createKeyword(\"true\", { startsExpr }),\n _false: createKeyword(\"false\", { startsExpr }),\n _typeof: createKeyword(\"typeof\", { beforeExpr, prefix, startsExpr }),\n _void: createKeyword(\"void\", { beforeExpr, prefix, startsExpr }),\n _delete: createKeyword(\"delete\", { beforeExpr, prefix, startsExpr }),\n // start: isLoop\n _do: createKeyword(\"do\", { isLoop, beforeExpr }),\n _for: createKeyword(\"for\", { isLoop }),\n _while: createKeyword(\"while\", { isLoop }),\n // end: isLoop\n // end: isKeyword\n\n // jsx plugin\n jsxName: createToken(\"jsxName\"),\n jsxText: createToken(\"jsxText\", { beforeExpr: true }),\n jsxTagStart: createToken(\"jsxTagStart\", { startsExpr: true }),\n jsxTagEnd: createToken(\"jsxTagEnd\"),\n\n // placeholder plugin\n placeholder: createToken(\"%%\", { startsExpr: true }),\n};\n\nexport function tokenComesBeforeExpression(token: TokenType): boolean {\n return tokenBeforeExprs[token];\n}\n\nexport function tokenCanStartExpression(token: TokenType): boolean {\n return tokenStartsExprs[token];\n}\n\nexport function tokenIsAssignment(token: TokenType): boolean {\n return token >= tt.eq && token <= tt.moduloAssign;\n}\n\nexport function tokenIsLoop(token: TokenType): boolean {\n return token >= tt._do && token <= tt._while;\n}\n\nexport function tokenIsKeyword(token: TokenType): boolean {\n return token >= tt._in && token <= tt._while;\n}\n\nexport function tokenIsOperator(token: TokenType): boolean {\n return token >= tt.pipeline && token <= tt._instanceof;\n}\n\nexport function tokenIsPostfix(token: TokenType): boolean {\n return token === tt.incDec;\n}\n\nexport function tokenIsPrefix(token: TokenType): boolean {\n return tokenPrefixes[token];\n}\n\nexport function tokenLabelName(token: TokenType): string {\n return tokenLabels[token];\n}\n\nexport function tokenOperatorPrecedence(token: TokenType): number {\n return tokenBinops[token];\n}\n\nexport function tokenIsRightAssociative(token: TokenType): boolean {\n return token === tt.exponent;\n}\n\nexport function getExportedToken(token: TokenType): ExportedTokenType {\n return tokenTypes[token];\n}\n\nexport function isTokenType(obj: any): boolean {\n return typeof obj === \"number\";\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n tokenTypes[tt.braceR].updateContext = context => {\n context.pop();\n };\n\n tokenTypes[tt.braceL].updateContext =\n tokenTypes[tt.braceHashL].updateContext =\n tokenTypes[tt.dollarBraceL].updateContext =\n context => {\n context.push(tc.brace);\n };\n\n tokenTypes[tt.backQuote].updateContext = context => {\n if (context[context.length - 1] === tc.template) {\n context.pop();\n } else {\n context.push(tc.template);\n }\n };\n\n tokenTypes[tt.jsxTagStart].updateContext = context => {\n context.push(tc.j_expr, tc.j_oTag);\n };\n}\n","import * as charCodes from \"charcodes\";\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point between 0x80 and 0xffff.\n// Generated by `scripts/generate-identifier-regex.js`.\n\n/* prettier-ignore */\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7ca\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7d9\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n/* prettier-ignore */\nlet nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0898-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\n\nconst nonASCIIidentifierStart = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + \"]\",\n);\nconst nonASCIIidentifier = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\",\n);\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset-encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by `scripts/generate-identifier-regex.js`.\n/* prettier-ignore */\nconst astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938];\n/* prettier-ignore */\nconst astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code: number, set: readonly number[]): boolean {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code: number): boolean {\n if (code < charCodes.uppercaseA) return code === charCodes.dollarSign;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return (\n code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n );\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code: number): boolean {\n if (code < charCodes.digit0) return code === charCodes.dollarSign;\n if (code < charCodes.colon) return true;\n if (code < charCodes.uppercaseA) return false;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return (\n isInAstralSet(code, astralIdentifierStartCodes) ||\n isInAstralSet(code, astralIdentifierCodes)\n );\n}\n\n// Test whether a given string is a valid identifier name\n\nexport function isIdentifierName(name: string): boolean {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `name` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n","const reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n ],\n strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n word: string,\n inModule: boolean,\n): boolean {\n return (\n isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n );\n}\n\nexport function isKeyword(word: string): boolean {\n return keywords.has(word);\n}\n","/* eslint max-len: 0 */\n\n// @flow\n\nimport * as charCodes from \"charcodes\";\n\nexport {\n isIdentifierStart,\n isIdentifierChar,\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\nexport const keywordRelationalOperator = /^in(stanceof)?$/;\n\n// Test whether a current state character code and next character code is @\n\nexport function isIteratorStart(current: number, next: number): boolean {\n return current === charCodes.atSign && next === charCodes.atSign;\n}\n\n// This is the comprehensive set of JavaScript reserved words\n// If a word is in this set, it could be a reserved word,\n// depending on sourceType/strictMode/binding info. In other words\n// if a word is not in this set, it is not a reserved word under\n// any circumstance.\nconst reservedWordLikeSet = new Set([\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n // strict\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n // strictBind\n \"eval\",\n \"arguments\",\n // reservedWorkLike\n \"enum\",\n \"await\",\n]);\n\nexport function canBeReservedWord(word: string): boolean {\n return reservedWordLikeSet.has(word);\n}\n","// @flow\n\n// Each scope gets a bitset that may contain these flags\n// prettier-ignore\nexport const SCOPE_OTHER = 0b000000000,\n SCOPE_PROGRAM = 0b000000001,\n SCOPE_FUNCTION = 0b000000010,\n SCOPE_ARROW = 0b000000100,\n SCOPE_SIMPLE_CATCH = 0b000001000,\n SCOPE_SUPER = 0b000010000,\n SCOPE_DIRECT_SUPER = 0b000100000,\n SCOPE_CLASS = 0b001000000,\n SCOPE_STATIC_BLOCK = 0b010000000,\n SCOPE_TS_MODULE = 0b100000000,\n SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE;\n\nexport type ScopeFlags =\n | typeof SCOPE_OTHER\n | typeof SCOPE_PROGRAM\n | typeof SCOPE_FUNCTION\n | typeof SCOPE_VAR\n | typeof SCOPE_ARROW\n | typeof SCOPE_SIMPLE_CATCH\n | typeof SCOPE_SUPER\n | typeof SCOPE_DIRECT_SUPER\n | typeof SCOPE_CLASS\n | typeof SCOPE_STATIC_BLOCK;\n\n// These flags are meant to be _only_ used inside the Scope class (or subclasses).\n// prettier-ignore\nexport const BIND_KIND_VALUE = 0b000000_0000_01,\n BIND_KIND_TYPE = 0b000000_0000_10,\n // Used in checkLVal and declareName to determine the type of a binding\n BIND_SCOPE_VAR = 0b000000_0001_00, // Var-style binding\n BIND_SCOPE_LEXICAL = 0b000000_0010_00, // Let- or const-style binding\n BIND_SCOPE_FUNCTION = 0b000000_0100_00, // Function declaration\n BIND_SCOPE_OUTSIDE = 0b000000_1000_00, // Special case for function names as\n // bound inside the function\n // Misc flags\n BIND_FLAGS_NONE = 0b000001_0000_00,\n BIND_FLAGS_CLASS = 0b000010_0000_00,\n BIND_FLAGS_TS_ENUM = 0b000100_0000_00,\n BIND_FLAGS_TS_CONST_ENUM = 0b001000_0000_00,\n BIND_FLAGS_TS_EXPORT_ONLY = 0b010000_0000_00,\n BIND_FLAGS_FLOW_DECLARE_FN = 0b100000_0000_00;\n\n// These flags are meant to be _only_ used by Scope consumers\n// prettier-ignore\n/* = is value? | is type? | scope | misc flags */\nexport const BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS ,\n BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0 ,\n BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0 ,\n BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0 ,\n BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS ,\n BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0 ,\n BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM,\n BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,\n // These bindings don't introduce anything in the scope. They are used for assignments and\n // function expressions IDs.\n BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE ,\n BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE ,\n\n BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM,\n BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,\n\n BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN;\n\nexport type BindingTypes =\n | typeof BIND_NONE\n | typeof BIND_OUTSIDE\n | typeof BIND_VAR\n | typeof BIND_LEXICAL\n | typeof BIND_CLASS\n | typeof BIND_FUNCTION\n | typeof BIND_TS_INTERFACE\n | typeof BIND_TS_TYPE\n | typeof BIND_TS_ENUM\n | typeof BIND_TS_AMBIENT\n | typeof BIND_TS_NAMESPACE;\n\n// prettier-ignore\nexport const CLASS_ELEMENT_FLAG_STATIC = 0b1_00,\n CLASS_ELEMENT_KIND_GETTER = 0b0_10,\n CLASS_ELEMENT_KIND_SETTER = 0b0_01,\n CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER;\n\n// prettier-ignore\nexport const CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC,\n CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC,\n CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER,\n CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER,\n CLASS_ELEMENT_OTHER = 0;\n\nexport type ClassElementTypes =\n | typeof CLASS_ELEMENT_STATIC_GETTER\n | typeof CLASS_ELEMENT_STATIC_SETTER\n | typeof CLASS_ELEMENT_INSTANCE_GETTER\n | typeof CLASS_ELEMENT_INSTANCE_SETTER\n | typeof CLASS_ELEMENT_OTHER;\n","// @flow\nimport {\n SCOPE_ARROW,\n SCOPE_DIRECT_SUPER,\n SCOPE_FUNCTION,\n SCOPE_SIMPLE_CATCH,\n SCOPE_SUPER,\n SCOPE_PROGRAM,\n SCOPE_VAR,\n SCOPE_CLASS,\n SCOPE_STATIC_BLOCK,\n BIND_SCOPE_FUNCTION,\n BIND_SCOPE_VAR,\n BIND_SCOPE_LEXICAL,\n BIND_KIND_VALUE,\n type ScopeFlags,\n type BindingTypes,\n} from \"./scopeflags\";\nimport * as N from \"../types\";\nimport { Errors, type raiseFunction } from \"../parser/error\";\n\n// Start an AST node, attaching a start offset.\nexport class Scope {\n declare flags: ScopeFlags;\n // A set of var-declared names in the current lexical scope\n var: Set = new Set();\n // A set of lexically-declared names in the current lexical scope\n lexical: Set = new Set();\n // A set of lexically-declared FunctionDeclaration names in the current lexical scope\n functions: Set = new Set();\n\n constructor(flags: ScopeFlags) {\n this.flags = flags;\n }\n}\n\n// The functions in this module keep track of declared variables in the\n// current scope in order to detect duplicate variable names.\nexport default class ScopeHandler {\n scopeStack: Array = [];\n declare raise: raiseFunction;\n declare inModule: boolean;\n undefinedExports: Map = new Map();\n undefinedPrivateNames: Map = new Map();\n\n constructor(raise: raiseFunction, inModule: boolean) {\n this.raise = raise;\n this.inModule = inModule;\n }\n\n get inFunction() {\n return (this.currentVarScopeFlags() & SCOPE_FUNCTION) > 0;\n }\n get allowSuper() {\n return (this.currentThisScopeFlags() & SCOPE_SUPER) > 0;\n }\n get allowDirectSuper() {\n return (this.currentThisScopeFlags() & SCOPE_DIRECT_SUPER) > 0;\n }\n get inClass() {\n return (this.currentThisScopeFlags() & SCOPE_CLASS) > 0;\n }\n get inClassAndNotInNonArrowFunction() {\n const flags = this.currentThisScopeFlags();\n return (flags & SCOPE_CLASS) > 0 && (flags & SCOPE_FUNCTION) === 0;\n }\n get inStaticBlock() {\n for (let i = this.scopeStack.length - 1; ; i--) {\n const { flags } = this.scopeStack[i];\n if (flags & SCOPE_STATIC_BLOCK) {\n return true;\n }\n if (flags & (SCOPE_VAR | SCOPE_CLASS)) {\n // function body, module body, class property initializers\n return false;\n }\n }\n }\n get inNonArrowFunction() {\n return (this.currentThisScopeFlags() & SCOPE_FUNCTION) > 0;\n }\n get treatFunctionsAsVar() {\n return this.treatFunctionsAsVarInScope(this.currentScope());\n }\n\n createScope(flags: ScopeFlags): Scope {\n return new Scope(flags);\n }\n // This method will be overwritten by subclasses\n /*:: +createScope: (flags: ScopeFlags) => IScope; */\n\n enter(flags: ScopeFlags) {\n this.scopeStack.push(this.createScope(flags));\n }\n\n exit() {\n this.scopeStack.pop();\n }\n\n // The spec says:\n // > At the top level of a function, or script, function declarations are\n // > treated like var declarations rather than like lexical declarations.\n treatFunctionsAsVarInScope(scope: IScope): boolean {\n return !!(\n scope.flags & SCOPE_FUNCTION ||\n (!this.inModule && scope.flags & SCOPE_PROGRAM)\n );\n }\n\n declareName(name: string, bindingType: BindingTypes, pos: number) {\n let scope = this.currentScope();\n if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) {\n this.checkRedeclarationInScope(scope, name, bindingType, pos);\n\n if (bindingType & BIND_SCOPE_FUNCTION) {\n scope.functions.add(name);\n } else {\n scope.lexical.add(name);\n }\n\n if (bindingType & BIND_SCOPE_LEXICAL) {\n this.maybeExportDefined(scope, name);\n }\n } else if (bindingType & BIND_SCOPE_VAR) {\n for (let i = this.scopeStack.length - 1; i >= 0; --i) {\n scope = this.scopeStack[i];\n this.checkRedeclarationInScope(scope, name, bindingType, pos);\n scope.var.add(name);\n this.maybeExportDefined(scope, name);\n\n if (scope.flags & SCOPE_VAR) break;\n }\n }\n if (this.inModule && scope.flags & SCOPE_PROGRAM) {\n this.undefinedExports.delete(name);\n }\n }\n\n maybeExportDefined(scope: IScope, name: string) {\n if (this.inModule && scope.flags & SCOPE_PROGRAM) {\n this.undefinedExports.delete(name);\n }\n }\n\n checkRedeclarationInScope(\n scope: IScope,\n name: string,\n bindingType: BindingTypes,\n pos: number,\n ) {\n if (this.isRedeclaredInScope(scope, name, bindingType)) {\n this.raise(pos, Errors.VarRedeclaration, name);\n }\n }\n\n isRedeclaredInScope(\n scope: IScope,\n name: string,\n bindingType: BindingTypes,\n ): boolean {\n if (!(bindingType & BIND_KIND_VALUE)) return false;\n\n if (bindingType & BIND_SCOPE_LEXICAL) {\n return (\n scope.lexical.has(name) ||\n scope.functions.has(name) ||\n scope.var.has(name)\n );\n }\n\n if (bindingType & BIND_SCOPE_FUNCTION) {\n return (\n scope.lexical.has(name) ||\n (!this.treatFunctionsAsVarInScope(scope) && scope.var.has(name))\n );\n }\n\n return (\n (scope.lexical.has(name) &&\n !(\n scope.flags & SCOPE_SIMPLE_CATCH &&\n scope.lexical.values().next().value === name\n )) ||\n (!this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name))\n );\n }\n\n checkLocalExport(id: N.Identifier) {\n const { name } = id;\n const topLevelScope = this.scopeStack[0];\n if (\n !topLevelScope.lexical.has(name) &&\n !topLevelScope.var.has(name) &&\n // In strict mode, scope.functions will always be empty.\n // Modules are strict by default, but the `scriptMode` option\n // can overwrite this behavior.\n !topLevelScope.functions.has(name)\n ) {\n this.undefinedExports.set(name, id.start);\n }\n }\n\n currentScope(): IScope {\n return this.scopeStack[this.scopeStack.length - 1];\n }\n\n // $FlowIgnore\n currentVarScopeFlags(): ScopeFlags {\n for (let i = this.scopeStack.length - 1; ; i--) {\n const { flags } = this.scopeStack[i];\n if (flags & SCOPE_VAR) {\n return flags;\n }\n }\n }\n\n // Could be useful for `arguments`, `this`, `new.target`, `super()`, `super.property`, and `super[property]`.\n // $FlowIgnore\n currentThisScopeFlags(): ScopeFlags {\n for (let i = this.scopeStack.length - 1; ; i--) {\n const { flags } = this.scopeStack[i];\n if (flags & (SCOPE_VAR | SCOPE_CLASS) && !(flags & SCOPE_ARROW)) {\n return flags;\n }\n }\n }\n}\n","// @flow\n\nimport ScopeHandler, { Scope } from \"../../util/scope\";\nimport {\n BIND_FLAGS_FLOW_DECLARE_FN,\n type ScopeFlags,\n type BindingTypes,\n} from \"../../util/scopeflags\";\nimport * as N from \"../../types\";\n\n// Reference implementation: https://github.com/facebook/flow/blob/23aeb2a2ef6eb4241ce178fde5d8f17c5f747fb5/src/typing/env.ml#L536-L584\nclass FlowScope extends Scope {\n // declare function foo(): type;\n declareFunctions: Set = new Set();\n}\n\nexport default class FlowScopeHandler extends ScopeHandler {\n createScope(flags: ScopeFlags): FlowScope {\n return new FlowScope(flags);\n }\n\n declareName(name: string, bindingType: BindingTypes, pos: number) {\n const scope = this.currentScope();\n if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {\n this.checkRedeclarationInScope(scope, name, bindingType, pos);\n this.maybeExportDefined(scope, name);\n scope.declareFunctions.add(name);\n return;\n }\n\n super.declareName(...arguments);\n }\n\n isRedeclaredInScope(\n scope: FlowScope,\n name: string,\n bindingType: BindingTypes,\n ): boolean {\n if (super.isRedeclaredInScope(...arguments)) return true;\n\n if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {\n return (\n !scope.declareFunctions.has(name) &&\n (scope.lexical.has(name) || scope.functions.has(name))\n );\n }\n\n return false;\n }\n\n checkLocalExport(id: N.Identifier) {\n if (!this.scopeStack[0].declareFunctions.has(id.name)) {\n super.checkLocalExport(id);\n }\n }\n}\n","// @flow\n\nimport type { Options } from \"../options\";\nimport * as N from \"../types\";\nimport type { CommentWhitespace } from \"../parser/comments\";\nimport { Position } from \"../util/location\";\n\nimport { types as ct, type TokContext } from \"./context\";\nimport { tt, type TokenType } from \"./types\";\nimport type { ParsingError, ErrorTemplate } from \"../parser/error\";\n\ntype TopicContextState = {\n // When a topic binding has been currently established,\n // then this is 1. Otherwise, it is 0. This is forwards compatible\n // with a future plugin for multiple lexical topics.\n maxNumOfResolvableTopics: number,\n\n // When a topic binding has been currently established, and if that binding\n // has been used as a topic reference `#`, then this is 0. Otherwise, it is\n // `null`. This is forwards compatible with a future plugin for multiple\n // lexical topics.\n maxTopicIndex: null | 0,\n};\n\nexport default class State {\n strict: boolean;\n curLine: number;\n\n // And, if locations are used, the {line, column} object\n // corresponding to those offsets\n startLoc: Position;\n endLoc: Position;\n\n init(options: Options): void {\n this.strict =\n options.strictMode === false\n ? false\n : options.strictMode === true\n ? true\n : options.sourceType === \"module\";\n\n this.curLine = options.startLine;\n this.startLoc = this.endLoc = this.curPosition();\n }\n\n errors: ParsingError[] = [];\n\n // Used to signify the start of a potential arrow function\n potentialArrowAt: number = -1;\n\n // Used to signify the start of an expression which looks like a\n // typed arrow function, but it isn't\n // e.g. a ? (b) : c => d\n // ^\n noArrowAt: number[] = [];\n\n // Used to signify the start of an expression whose params, if it looks like\n // an arrow function, shouldn't be converted to assignable nodes.\n // This is used to defer the validation of typed arrow functions inside\n // conditional expressions.\n // e.g. a ? (b) : c => d\n // ^\n noArrowParamsConversionAt: number[] = [];\n\n // Flags to track\n maybeInArrowParameters: boolean = false;\n inType: boolean = false;\n noAnonFunctionType: boolean = false;\n inPropertyName: boolean = false;\n hasFlowComment: boolean = false;\n isAmbientContext: boolean = false;\n inAbstractClass: boolean = false;\n\n // For the Hack-style pipelines plugin\n topicContext: TopicContextState = {\n maxNumOfResolvableTopics: 0,\n maxTopicIndex: null,\n };\n\n // For the F#-style pipelines plugin\n soloAwait: boolean = false;\n inFSharpPipelineDirectBody: boolean = false;\n\n // Labels in scope.\n labels: Array<{\n kind: ?(\"loop\" | \"switch\"),\n name?: ?string,\n statementStart?: number,\n }> = [];\n\n // Leading decorators. Last element of the stack represents the decorators in current context.\n // Supports nesting of decorators, e.g. @foo(@bar class inner {}) class outer {}\n // where @foo belongs to the outer class and @bar to the inner\n decoratorStack: Array> = [[]];\n\n // Comment store for Program.comments\n comments: Array = [];\n\n // Comment attachment store\n commentStack: Array = [];\n\n // The current position of the tokenizer in the input.\n pos: number = 0;\n lineStart: number = 0;\n\n // Properties of the current token:\n // Its type\n type: TokenType = tt.eof;\n\n // For tokens that include more information than their type, the value\n value: any = null;\n\n // Its start and end offset\n start: number = 0;\n end: number = 0;\n\n // Position information for the previous token\n // $FlowIgnore this is initialized when generating the second token.\n lastTokEndLoc: Position = null;\n // $FlowIgnore this is initialized when generating the second token.\n lastTokStartLoc: Position = null;\n lastTokStart: number = 0;\n lastTokEnd: number = 0;\n\n // The context stack is used to track whether the apostrophe \"`\" starts\n // or ends a string template\n context: Array = [ct.brace];\n // Used to track whether a JSX element is allowed to form\n exprAllowed: boolean = true;\n\n // Used to signal to callers of `readWord1` whether the word\n // contained any escape sequences. This is needed because words with\n // escape sequences must not be interpreted as keywords.\n containsEsc: boolean = false;\n\n // This property is used to track the following errors\n // - StrictNumericEscape\n // - StrictOctalLiteral\n //\n // in a literal that occurs prior to/immediately after a \"use strict\" directive.\n\n // todo(JLHwung): set strictErrors to null and avoid recording string errors\n // after a non-directive is parsed\n strictErrors: Map = new Map();\n\n // Tokens length in token store\n tokensLength: number = 0;\n\n curPosition(): Position {\n return new Position(this.curLine, this.pos - this.lineStart);\n }\n\n clone(skipArrays?: boolean): State {\n const state = new State();\n const keys = Object.keys(this);\n for (let i = 0, length = keys.length; i < length; i++) {\n const key = keys[i];\n // $FlowIgnore\n let val = this[key];\n\n if (!skipArrays && Array.isArray(val)) {\n val = val.slice();\n }\n\n // $FlowIgnore\n state[key] = val;\n }\n\n return state;\n }\n}\n\nexport type LookaheadState = {\n pos: number,\n value: any,\n type: TokenType,\n start: number,\n end: number,\n /* Used only in readToken_mult_modulo */\n inType: boolean,\n};\n","// @flow\n\n/*:: declare var invariant; */\n\nimport type { Options } from \"../options\";\nimport * as N from \"../types\";\nimport * as charCodes from \"charcodes\";\nimport { isIdentifierStart, isIdentifierChar } from \"../util/identifier\";\nimport {\n tokenIsKeyword,\n tokenLabelName,\n tt,\n keywords as keywordTypes,\n type TokenType,\n} from \"./types\";\nimport { type TokContext, types as ct } from \"./context\";\nimport ParserErrors, { Errors, type ErrorTemplate } from \"../parser/error\";\nimport { SourceLocation } from \"../util/location\";\nimport {\n lineBreakG,\n isNewLine,\n isWhitespace,\n skipWhiteSpace,\n} from \"../util/whitespace\";\nimport State from \"./state\";\nimport type { LookaheadState } from \"./state\";\n\nconst VALID_REGEX_FLAGS = new Set([\n charCodes.lowercaseG,\n charCodes.lowercaseM,\n charCodes.lowercaseS,\n charCodes.lowercaseI,\n charCodes.lowercaseY,\n charCodes.lowercaseU,\n charCodes.lowercaseD,\n]);\n\n// The following character codes are forbidden from being\n// an immediate sibling of NumericLiteralSeparator _\n\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: [\n charCodes.dot,\n charCodes.uppercaseB,\n charCodes.uppercaseE,\n charCodes.uppercaseO,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseB,\n charCodes.lowercaseE,\n charCodes.lowercaseO,\n ],\n hex: [\n charCodes.dot,\n charCodes.uppercaseX,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseX,\n ],\n};\n\nconst allowedNumericSeparatorSiblings = {};\nallowedNumericSeparatorSiblings.bin = [\n // 0 - 1\n charCodes.digit0,\n charCodes.digit1,\n];\nallowedNumericSeparatorSiblings.oct = [\n // 0 - 7\n ...allowedNumericSeparatorSiblings.bin,\n\n charCodes.digit2,\n charCodes.digit3,\n charCodes.digit4,\n charCodes.digit5,\n charCodes.digit6,\n charCodes.digit7,\n];\nallowedNumericSeparatorSiblings.dec = [\n // 0 - 9\n ...allowedNumericSeparatorSiblings.oct,\n\n charCodes.digit8,\n charCodes.digit9,\n];\n\nallowedNumericSeparatorSiblings.hex = [\n // 0 - 9, A - F, a - f,\n ...allowedNumericSeparatorSiblings.dec,\n\n charCodes.uppercaseA,\n charCodes.uppercaseB,\n charCodes.uppercaseC,\n charCodes.uppercaseD,\n charCodes.uppercaseE,\n charCodes.uppercaseF,\n\n charCodes.lowercaseA,\n charCodes.lowercaseB,\n charCodes.lowercaseC,\n charCodes.lowercaseD,\n charCodes.lowercaseE,\n charCodes.lowercaseF,\n];\n\n// Object type used to represent tokens. Note that normally, tokens\n// simply exist as properties on the parser object. This is only\n// used for the onToken callback and the external tokenizer.\n\nexport class Token {\n constructor(state: State) {\n this.type = state.type;\n this.value = state.value;\n this.start = state.start;\n this.end = state.end;\n this.loc = new SourceLocation(state.startLoc, state.endLoc);\n }\n\n declare type: TokenType;\n declare value: any;\n declare start: number;\n declare end: number;\n declare loc: SourceLocation;\n}\n\n// ## Tokenizer\n\nexport default class Tokenizer extends ParserErrors {\n // Forward-declarations\n // parser/util.js\n /*::\n +hasPrecedingLineBreak: () => boolean;\n +unexpected: (pos?: ?number, messageOrType?: ErrorTemplate | TokenType) => empty;\n +expectPlugin: (name: string, pos?: ?number) => true;\n */\n\n isLookahead: boolean;\n\n // Token store.\n tokens: Array = [];\n\n constructor(options: Options, input: string) {\n super();\n this.state = new State();\n this.state.init(options);\n this.input = input;\n this.length = input.length;\n this.isLookahead = false;\n }\n\n pushToken(token: Token | N.Comment) {\n // Pop out invalid tokens trapped by try-catch parsing.\n // Those parsing branches are mainly created by typescript and flow plugins.\n this.tokens.length = this.state.tokensLength;\n this.tokens.push(token);\n ++this.state.tokensLength;\n }\n\n // Move to the next token\n\n next(): void {\n this.checkKeywordEscapes();\n if (this.options.tokens) {\n this.pushToken(new Token(this.state));\n }\n\n this.state.lastTokEnd = this.state.end;\n this.state.lastTokStart = this.state.start;\n this.state.lastTokEndLoc = this.state.endLoc;\n this.state.lastTokStartLoc = this.state.startLoc;\n this.nextToken();\n }\n\n // TODO\n\n eat(type: TokenType): boolean {\n if (this.match(type)) {\n this.next();\n return true;\n } else {\n return false;\n }\n }\n\n // TODO\n\n match(type: TokenType): boolean {\n return this.state.type === type;\n }\n\n /**\n * Create a LookaheadState from current parser state\n *\n * @param {State} state\n * @returns {LookaheadState}\n * @memberof Tokenizer\n */\n createLookaheadState(state: State): LookaheadState {\n return {\n pos: state.pos,\n value: null,\n type: state.type,\n start: state.start,\n end: state.end,\n lastTokEnd: state.end,\n context: [this.curContext()],\n inType: state.inType,\n };\n }\n\n /**\n * lookahead peeks the next token, skipping changes to token context and\n * comment stack. For performance it returns a limited LookaheadState\n * instead of full parser state.\n *\n * The { column, line } Loc info is not included in lookahead since such usage\n * is rare. Although it may return other location properties e.g. `curLine` and\n * `lineStart`, these properties are not listed in the LookaheadState interface\n * and thus the returned value is _NOT_ reliable.\n *\n * The tokenizer should make best efforts to avoid using any parser state\n * other than those defined in LookaheadState\n *\n * @returns {LookaheadState}\n * @memberof Tokenizer\n */\n lookahead(): LookaheadState {\n const old = this.state;\n // For performance we use a simpified tokenizer state structure\n // $FlowIgnore\n this.state = this.createLookaheadState(old);\n\n this.isLookahead = true;\n this.nextToken();\n this.isLookahead = false;\n\n const curr = this.state;\n this.state = old;\n return curr;\n }\n\n nextTokenStart(): number {\n return this.nextTokenStartSince(this.state.pos);\n }\n\n nextTokenStartSince(pos: number): number {\n skipWhiteSpace.lastIndex = pos;\n return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos;\n }\n\n lookaheadCharCode(): number {\n return this.input.charCodeAt(this.nextTokenStart());\n }\n\n codePointAtPos(pos: number): number {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `input` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = this.input.charCodeAt(pos);\n if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) {\n const trail = this.input.charCodeAt(pos);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n return cp;\n }\n\n // Toggle strict mode. Re-reads the next number or string to please\n // pedantic tests (`\"use strict\"; 010;` should fail).\n\n setStrict(strict: boolean): void {\n this.state.strict = strict;\n if (strict) {\n // Throw an error for any string decimal escape found before/immediately\n // after a \"use strict\" directive. Strict mode will be set at parse\n // time for any literals that occur after the next node of the strict\n // directive.\n this.state.strictErrors.forEach((message, pos) =>\n /* eslint-disable @babel/development-internal/dry-error-messages */\n this.raise(pos, message),\n );\n this.state.strictErrors.clear();\n }\n }\n\n curContext(): TokContext {\n return this.state.context[this.state.context.length - 1];\n }\n\n // Read a single token, updating the parser object's token-related\n // properties.\n\n nextToken(): void {\n const curContext = this.curContext();\n if (!curContext.preserveSpace) this.skipSpace();\n this.state.start = this.state.pos;\n if (!this.isLookahead) this.state.startLoc = this.state.curPosition();\n if (this.state.pos >= this.length) {\n this.finishToken(tt.eof);\n return;\n }\n\n if (curContext === ct.template) {\n this.readTmplToken();\n } else {\n this.getTokenFromCode(this.codePointAtPos(this.state.pos));\n }\n }\n\n skipBlockComment(): N.CommentBlock | void {\n let startLoc;\n if (!this.isLookahead) startLoc = this.state.curPosition();\n const start = this.state.pos;\n const end = this.input.indexOf(\"*/\", start + 2);\n if (end === -1) throw this.raise(start, Errors.UnterminatedComment);\n\n this.state.pos = end + 2;\n lineBreakG.lastIndex = start + 2;\n while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) {\n ++this.state.curLine;\n this.state.lineStart = lineBreakG.lastIndex;\n }\n\n // If we are doing a lookahead right now we need to advance the position (above code)\n // but we do not want to push the comment to the state.\n if (this.isLookahead) return;\n /*:: invariant(startLoc) */\n\n const comment = {\n type: \"CommentBlock\",\n value: this.input.slice(start + 2, end),\n start,\n end: end + 2,\n loc: new SourceLocation(startLoc, this.state.curPosition()),\n };\n if (this.options.tokens) this.pushToken(comment);\n return comment;\n }\n\n skipLineComment(startSkip: number): N.CommentLine | void {\n const start = this.state.pos;\n let startLoc;\n if (!this.isLookahead) startLoc = this.state.curPosition();\n let ch = this.input.charCodeAt((this.state.pos += startSkip));\n if (this.state.pos < this.length) {\n while (!isNewLine(ch) && ++this.state.pos < this.length) {\n ch = this.input.charCodeAt(this.state.pos);\n }\n }\n\n // If we are doing a lookahead right now we need to advance the position (above code)\n // but we do not want to push the comment to the state.\n if (this.isLookahead) return;\n /*:: invariant(startLoc) */\n\n const end = this.state.pos;\n const value = this.input.slice(start + startSkip, end);\n\n const comment = {\n type: \"CommentLine\",\n value,\n start,\n end,\n loc: new SourceLocation(startLoc, this.state.curPosition()),\n };\n if (this.options.tokens) this.pushToken(comment);\n return comment;\n }\n\n // Called at the start of the parse and after every token. Skips\n // whitespace and comments, and.\n\n skipSpace(): void {\n const spaceStart = this.state.pos;\n const comments = [];\n loop: while (this.state.pos < this.length) {\n const ch = this.input.charCodeAt(this.state.pos);\n switch (ch) {\n case charCodes.space:\n case charCodes.nonBreakingSpace:\n case charCodes.tab:\n ++this.state.pos;\n break;\n case charCodes.carriageReturn:\n if (\n this.input.charCodeAt(this.state.pos + 1) === charCodes.lineFeed\n ) {\n ++this.state.pos;\n }\n // fall through\n case charCodes.lineFeed:\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n ++this.state.pos;\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n break;\n\n case charCodes.slash:\n switch (this.input.charCodeAt(this.state.pos + 1)) {\n case charCodes.asterisk: {\n const comment = this.skipBlockComment();\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n break;\n }\n\n case charCodes.slash: {\n const comment = this.skipLineComment(2);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n break;\n }\n\n default:\n break loop;\n }\n break;\n\n default:\n if (isWhitespace(ch)) {\n ++this.state.pos;\n } else if (ch === charCodes.dash && !this.inModule) {\n const pos = this.state.pos;\n if (\n this.input.charCodeAt(pos + 1) === charCodes.dash &&\n this.input.charCodeAt(pos + 2) === charCodes.greaterThan &&\n (spaceStart === 0 || this.state.lineStart > spaceStart)\n ) {\n // A `-->` line comment\n const comment = this.skipLineComment(3);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n } else {\n break loop;\n }\n } else if (ch === charCodes.lessThan && !this.inModule) {\n const pos = this.state.pos;\n if (\n this.input.charCodeAt(pos + 1) === charCodes.exclamationMark &&\n this.input.charCodeAt(pos + 2) === charCodes.dash &&\n this.input.charCodeAt(pos + 3) === charCodes.dash\n ) {\n // ` + +> This module contains methods for building ASTs manually and for checking the types of AST nodes. + +## Install + +\`\`\`sh +npm install --save-dev @babel/types +\`\`\` + +## API`, +]; + +const customTypes = { + ClassMethod: { + key: "if computed then `Expression` else `Identifier | Literal`", + }, + Identifier: { + name: "`string`", + }, + MemberExpression: { + property: "if computed then `Expression` else `Identifier`", + }, + ObjectMethod: { + key: "if computed then `Expression` else `Identifier | Literal`", + }, + ObjectProperty: { + key: "if computed then `Expression` else `Identifier | Literal`", + }, + ClassPrivateMethod: { + computed: "'false'", + }, + ClassPrivateProperty: { + computed: "'false'", + }, +}; +const APIHistory = { + ClassProperty: [["v7.6.0", "Supports `static`"]], +}; +function formatHistory(historyItems) { + const lines = historyItems.map( + item => "| `" + item[0] + "` | " + item[1] + " |" + ); + return [ + "
", + " History", + "| Version | Changes |", + "| --- | --- |", + ...lines, + "
", + ]; +} +function printAPIHistory(key, readme) { + if (APIHistory[key]) { + readme.push(""); + readme.push(...formatHistory(APIHistory[key])); + } +} +function printNodeFields(key, readme) { + if (Object.keys(t.NODE_FIELDS[key]).length > 0) { + readme.push(""); + readme.push("AST Node `" + key + "` shape:"); + Object.keys(t.NODE_FIELDS[key]) + .sort(function (fieldA, fieldB) { + const indexA = t.BUILDER_KEYS[key].indexOf(fieldA); + const indexB = t.BUILDER_KEYS[key].indexOf(fieldB); + if (indexA === indexB) return fieldA < fieldB ? -1 : 1; + if (indexA === -1) return 1; + if (indexB === -1) return -1; + return indexA - indexB; + }) + .forEach(function (field) { + const defaultValue = t.NODE_FIELDS[key][field].default; + const fieldDescription = ["`" + field + "`"]; + const validator = t.NODE_FIELDS[key][field].validate; + if (customTypes[key] && customTypes[key][field]) { + fieldDescription.push(`: ${customTypes[key][field]}`); + } else if (validator) { + try { + fieldDescription.push( + ": `" + stringifyValidator(validator, "") + "`" + ); + } catch (ex) { + if (ex.code === "UNEXPECTED_VALIDATOR_TYPE") { + console.log( + "Unrecognised validator type for " + key + "." + field + ); + console.dir(ex.validator, { depth: 10, colors: true }); + } + } + } + if (defaultValue !== null || t.NODE_FIELDS[key][field].optional) { + fieldDescription.push( + " (default: `" + util.inspect(defaultValue) + "`" + ); + if (t.BUILDER_KEYS[key].indexOf(field) < 0) { + fieldDescription.push(", excluded from builder function"); + } + fieldDescription.push(")"); + } else { + fieldDescription.push(" (required)"); + } + readme.push("- " + fieldDescription.join("")); + }); + } +} + +function printAliasKeys(key, readme) { + if (t.ALIAS_KEYS[key] && t.ALIAS_KEYS[key].length) { + readme.push(""); + readme.push( + "Aliases: " + + t.ALIAS_KEYS[key] + .map(function (key) { + return "[`" + key + "`](#" + key.toLowerCase() + ")"; + }) + .join(", ") + ); + } +} +readme.push("### Node Builders"); +readme.push(""); +Object.keys(t.BUILDER_KEYS) + .sort() + .forEach(function (key) { + readme.push("#### " + toFunctionName(key)); + readme.push(""); + readme.push("```javascript"); + readme.push( + "t." + toFunctionName(key) + "(" + t.BUILDER_KEYS[key].join(", ") + ");" + ); + readme.push("```"); + printAPIHistory(key, readme); + readme.push(""); + readme.push( + "See also `t.is" + + key + + "(node, opts)` and `t.assert" + + key + + "(node, opts)`." + ); + + printNodeFields(key, readme); + printAliasKeys(key, readme); + + readme.push(""); + readme.push("---"); + readme.push(""); + }); + +function generateMapAliasToNodeTypes() { + const result = new Map(); + for (const nodeType of Object.keys(t.ALIAS_KEYS)) { + const aliases = t.ALIAS_KEYS[nodeType]; + if (!aliases) continue; + for (const alias of aliases) { + if (!result.has(alias)) { + result.set(alias, []); + } + const nodeTypes = result.get(alias); + nodeTypes.push(nodeType); + } + } + return result; +} +const aliasDescriptions = { + Binary: + "A cover of BinaryExpression and LogicalExpression, which share the same AST shape.", + Block: "Deprecated. Will be removed in Babel 8.", + BlockParent: + "A cover of AST nodes that start an execution context with new [LexicalEnvironment](https://tc39.es/ecma262/#table-additional-state-components-for-ecmascript-code-execution-contexts). In other words, they define the scope of `let` and `const` declarations.", + Class: + "A cover of ClassExpression and ClassDeclaration, which share the same AST shape.", + CompletionStatement: + "A statement that indicates the [completion records](https://tc39.es/ecma262/#sec-completion-record-specification-type). In other words, they define the control flow of the program, such as when should a loop break or an action throws critical errors.", + Conditional: + "A cover of ConditionalExpression and IfStatement, which share the same AST shape.", + Declaration: + "A cover of any [Declaration](https://tc39.es/ecma262/#prod-Declaration)s.", + EnumBody: "A cover of Flow enum bodies.", + EnumMember: "A cover of Flow enum membors.", + ExportDeclaration: + "A cover of any [ExportDeclaration](https://tc39.es/ecma262/#prod-ExportDeclaration)s.", + Expression: + "A cover of any [Expression](https://tc39.es/ecma262/#sec-ecmascript-language-expressions)s.", + ExpressionWrapper: + "A wrapper of expression that does not have runtime semantics.", + Flow: "A cover of AST nodes defined for Flow.", + FlowBaseAnnotation: "A cover of primary Flow type annotations.", + FlowDeclaration: "A cover of Flow declarations.", + FlowPredicate: "A cover of Flow predicates.", + FlowType: "A cover of Flow type annotations.", + For: "A cover of [ForStatement](https://tc39.es/ecma262/#sec-for-statement)s and [ForXStatement](#forxstatement)s.", + ForXStatement: + "A cover of [ForInStatements and ForOfStatements](https://tc39.es/ecma262/#sec-for-in-and-for-of-statements).", + Function: + "A cover of functions and [method](#method)s, the must have `body` and `params`. Note: `Function` is different to `FunctionParent`.", + FunctionParent: + "A cover of AST nodes that start an execution context with new [VariableEnvironment](https://tc39.es/ecma262/#table-additional-state-components-for-ecmascript-code-execution-contexts). In other words, they define the scope of `var` declarations. FunctionParent did not include `Program` since Babel 7.", + Immutable: + "A cover of immutable objects and JSX elements. An object is [immutable](https://tc39.es/ecma262/#immutable-prototype-exotic-object) if no other properties can be defined once created.", + JSX: "A cover of AST nodes defined for [JSX](https://facebook.github.io/jsx/).", + LVal: "A cover of left hand side expressions used in the `left` of assignment expressions and [ForXStatement](#forxstatement)s. ", + Literal: + "A cover of [Literal](https://tc39.es/ecma262/#sec-primary-expression-literals)s, [Regular Expression Literal](https://tc39.es/ecma262/#sec-primary-expression-regular-expression-literals)s and [Template Literal](https://tc39.es/ecma262/#sec-template-literals)s.", + Loop: "A cover of loop statements.", + Method: "A cover of object methods and class methods.", + ModuleDeclaration: + "A cover of ImportDeclaration and [ExportDeclaration](#exportdeclaration)", + ModuleSpecifier: + "A cover of import and export specifiers. Note: It is _not_ the [ModuleSpecifier](https://tc39.es/ecma262/#prod-ModuleSpecifier) defined in the spec.", + ObjectMember: + "A cover of [members](https://tc39.es/ecma262/#prod-PropertyDefinitionList) in an object literal.", + Pattern: + "A cover of [BindingPattern](https://tc39.es/ecma262/#prod-BindingPattern) except Identifiers.", + PatternLike: + "A cover of [BindingPattern](https://tc39.es/ecma262/#prod-BindingPattern)s. ", + Private: "A cover of private class elements and private identifiers.", + Property: "A cover of object properties and class properties.", + Pureish: + "A cover of AST nodes which do not have side-effects. In other words, there is no observable behaviour changes if they are evaluated more than once.", + Scopable: + "A cover of [FunctionParent](#functionparent) and [BlockParent](#blockparent).", + Statement: + "A cover of any [Statement](https://tc39.es/ecma262/#prod-Statement)s.", + TSBaseType: "A cover of primary TypeScript type annotations.", + TSEntityName: "A cover of ts entities.", + TSType: "A cover of TypeScript type annotations.", + TSTypeElement: "A cover of TypeScript type declarations.", + Terminatorless: + "A cover of AST nodes whose semantic will change when a line terminator is inserted between the operator and the operand.", + UnaryLike: "A cover of UnaryExpression and SpreadElement.", + UserWhitespacable: "Deprecated. Will be removed in Babel 8.", + While: + "A cover of DoWhileStatement and WhileStatement, which share the same AST shape.", +}; +const mapAliasToNodeTypes = generateMapAliasToNodeTypes(); +readme.push("### Aliases"); +readme.push(""); +for (const alias of [...mapAliasToNodeTypes.keys()].sort()) { + const nodeTypes = mapAliasToNodeTypes.get(alias); + nodeTypes.sort(); + if (!(alias in aliasDescriptions)) { + throw new Error( + 'Missing alias descriptions of "' + + alias + + ", which covers " + + nodeTypes.join(",") + ); + } + readme.push("#### " + alias); + readme.push(""); + readme.push(aliasDescriptions[alias]); + readme.push("```javascript"); + readme.push("t.is" + alias + "(node);"); + readme.push("```"); + readme.push(""); + readme.push("Covered nodes: "); + for (const nodeType of nodeTypes) { + readme.push("- [`" + nodeType + "`](#" + nodeType.toLowerCase() + ")"); + } + readme.push(""); +} + +process.stdout.write(readme.join("\n")); diff --git a/node_modules/@babel/types/scripts/generators/flow.js b/node_modules/@babel/types/scripts/generators/flow.js new file mode 100644 index 00000000..7fabcc67 --- /dev/null +++ b/node_modules/@babel/types/scripts/generators/flow.js @@ -0,0 +1,260 @@ +import t from "../../lib/index.js"; +import stringifyValidator from "../utils/stringifyValidator.js"; +import toFunctionName from "../utils/toFunctionName.js"; + +const NODE_PREFIX = "BabelNode"; + +let code = `// NOTE: This file is autogenerated. Do not modify. +// See packages/babel-types/scripts/generators/flow.js for script used. + +declare class ${NODE_PREFIX}Comment { + value: string; + start: number; + end: number; + loc: ${NODE_PREFIX}SourceLocation; +} + +declare class ${NODE_PREFIX}CommentBlock extends ${NODE_PREFIX}Comment { + type: "CommentBlock"; +} + +declare class ${NODE_PREFIX}CommentLine extends ${NODE_PREFIX}Comment { + type: "CommentLine"; +} + +declare class ${NODE_PREFIX}SourceLocation { + start: { + line: number; + column: number; + }; + + end: { + line: number; + column: number; + }; +} + +declare class ${NODE_PREFIX} { + leadingComments?: Array<${NODE_PREFIX}Comment>; + innerComments?: Array<${NODE_PREFIX}Comment>; + trailingComments?: Array<${NODE_PREFIX}Comment>; + start: ?number; + end: ?number; + loc: ?${NODE_PREFIX}SourceLocation; + extra?: { [string]: mixed }; +}\n\n`; + +// + +const lines = []; + +for (const type in t.NODE_FIELDS) { + const fields = t.NODE_FIELDS[type]; + + const struct = ['type: "' + type + '";']; + const args = []; + const builderNames = t.BUILDER_KEYS[type]; + + Object.keys(t.NODE_FIELDS[type]) + .sort((fieldA, fieldB) => { + const indexA = t.BUILDER_KEYS[type].indexOf(fieldA); + const indexB = t.BUILDER_KEYS[type].indexOf(fieldB); + if (indexA === indexB) return fieldA < fieldB ? -1 : 1; + if (indexA === -1) return 1; + if (indexB === -1) return -1; + return indexA - indexB; + }) + .forEach(fieldName => { + const field = fields[fieldName]; + + let suffix = ""; + if (field.optional || field.default != null) suffix += "?"; + + let typeAnnotation = "any"; + + const validate = field.validate; + if (validate) { + typeAnnotation = stringifyValidator(validate, NODE_PREFIX); + } + + if (typeAnnotation) { + suffix += ": " + typeAnnotation; + } + if (builderNames.includes(fieldName)) { + args.push(t.toBindingIdentifierName(fieldName) + suffix); + } + + if (t.isValidIdentifier(fieldName)) { + struct.push(fieldName + suffix + ";"); + } + }); + + code += `declare class ${NODE_PREFIX}${type} extends ${NODE_PREFIX} { + ${struct.join("\n ").trim()} +}\n\n`; + + // Flow chokes on super() and import() :/ + if (type !== "Super" && type !== "Import") { + lines.push( + `declare export function ${toFunctionName(type)}(${args.join( + ", " + )}): ${NODE_PREFIX}${type};` + ); + } else { + const functionName = toFunctionName(type); + lines.push( + `declare function _${functionName}(${args.join( + ", " + )}): ${NODE_PREFIX}${type};`, + `declare export { _${functionName} as ${functionName} }` + ); + } +} + +for (const typeName of t.TYPES) { + const isDeprecated = !!t.DEPRECATED_KEYS[typeName]; + const realName = isDeprecated ? t.DEPRECATED_KEYS[typeName] : typeName; + + let decl = `declare export function is${typeName}(node: ?Object, opts?: ?Object): boolean`; + if (t.NODE_FIELDS[realName]) { + decl += ` %checks (node instanceof ${NODE_PREFIX}${realName})`; + } + lines.push(decl); + + lines.push( + `declare export function assert${typeName}(node: ?Object, opts?: ?Object): void` + ); +} + +lines.push( + `declare export var VISITOR_KEYS: { [type: string]: string[] }`, + + // assert/ + `declare export function assertNode(obj: any): void`, + + // builders/ + // eslint-disable-next-line max-len + `declare export function createTypeAnnotationBasedOnTypeof(type: 'string' | 'number' | 'undefined' | 'boolean' | 'function' | 'object' | 'symbol'): ${NODE_PREFIX}TypeAnnotation`, + // eslint-disable-next-line max-len + `declare export function createUnionTypeAnnotation(types: Array<${NODE_PREFIX}FlowType>): ${NODE_PREFIX}UnionTypeAnnotation`, + // eslint-disable-next-line max-len + `declare export function createFlowUnionType(types: Array<${NODE_PREFIX}FlowType>): ${NODE_PREFIX}UnionTypeAnnotation`, + // this smells like "internal API" + // eslint-disable-next-line max-len + `declare export function buildChildren(node: { children: Array<${NODE_PREFIX}JSXText | ${NODE_PREFIX}JSXExpressionContainer | ${NODE_PREFIX}JSXSpreadChild | ${NODE_PREFIX}JSXElement | ${NODE_PREFIX}JSXFragment | ${NODE_PREFIX}JSXEmptyExpression> }): Array<${NODE_PREFIX}JSXText | ${NODE_PREFIX}JSXExpressionContainer | ${NODE_PREFIX}JSXSpreadChild | ${NODE_PREFIX}JSXElement | ${NODE_PREFIX}JSXFragment>`, + + // clone/ + `declare export function clone(n: T): T;`, + `declare export function cloneDeep(n: T): T;`, + `declare export function cloneDeepWithoutLoc(n: T): T;`, + `declare export function cloneNode(n: T, deep?: boolean, withoutLoc?: boolean): T;`, + `declare export function cloneWithoutLoc(n: T): T;`, + + // comments/ + `declare type CommentTypeShorthand = 'leading' | 'inner' | 'trailing'`, + // eslint-disable-next-line max-len + `declare export function addComment(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T`, + // eslint-disable-next-line max-len + `declare export function addComments(node: T, type: CommentTypeShorthand, comments: Array): T`, + `declare export function inheritInnerComments(node: BabelNode, parent: BabelNode): void`, + `declare export function inheritLeadingComments(node: BabelNode, parent: BabelNode): void`, + `declare export function inheritsComments(node: T, parent: BabelNode): void`, + `declare export function inheritTrailingComments(node: BabelNode, parent: BabelNode): void`, + `declare export function removeComments(node: T): T`, + + // converters/ + `declare export function ensureBlock(node: ${NODE_PREFIX}, key: string): ${NODE_PREFIX}BlockStatement`, + `declare export function toBindingIdentifierName(name?: ?string): string`, + // eslint-disable-next-line max-len + `declare export function toBlock(node: ${NODE_PREFIX}Statement | ${NODE_PREFIX}Expression, parent?: ${NODE_PREFIX}Function | null): ${NODE_PREFIX}BlockStatement`, + // eslint-disable-next-line max-len + `declare export function toComputedKey(node: ${NODE_PREFIX}Method | ${NODE_PREFIX}Property, key?: ${NODE_PREFIX}Expression | ${NODE_PREFIX}Identifier): ${NODE_PREFIX}Expression`, + // eslint-disable-next-line max-len + `declare export function toExpression(node: ${NODE_PREFIX}ExpressionStatement | ${NODE_PREFIX}Expression | ${NODE_PREFIX}Class | ${NODE_PREFIX}Function): ${NODE_PREFIX}Expression`, + `declare export function toIdentifier(name?: ?string): string`, + // eslint-disable-next-line max-len + `declare export function toKeyAlias(node: ${NODE_PREFIX}Method | ${NODE_PREFIX}Property, key?: ${NODE_PREFIX}): string`, + // toSequenceExpression relies on types that aren't declared in flow + // eslint-disable-next-line max-len + `declare export function toStatement(node: ${NODE_PREFIX}Statement | ${NODE_PREFIX}Class | ${NODE_PREFIX}Function | ${NODE_PREFIX}AssignmentExpression, ignore?: boolean): ${NODE_PREFIX}Statement | void`, + `declare export function valueToNode(value: any): ${NODE_PREFIX}Expression`, + + // modifications/ + // eslint-disable-next-line max-len + `declare export function removeTypeDuplicates(types: Array<${NODE_PREFIX}FlowType>): Array<${NODE_PREFIX}FlowType>`, + // eslint-disable-next-line max-len + `declare export function appendToMemberExpression(member: ${NODE_PREFIX}MemberExpression, append: ${NODE_PREFIX}, computed?: boolean): ${NODE_PREFIX}MemberExpression`, + // eslint-disable-next-line max-len + `declare export function inherits(child: T, parent: ${NODE_PREFIX} | null | void): T`, + // eslint-disable-next-line max-len + `declare export function prependToMemberExpression(member: ${NODE_PREFIX}MemberExpression, prepend: ${NODE_PREFIX}Expression): ${NODE_PREFIX}MemberExpression`, + `declare export function removeProperties(n: T, opts: ?{}): void;`, + `declare export function removePropertiesDeep(n: T, opts: ?{}): T;`, + + // retrievers/ + // eslint-disable-next-line max-len + `declare export var getBindingIdentifiers: { + (node: ${NODE_PREFIX}, duplicates?: boolean, outerOnly?: boolean): { [key: string]: ${NODE_PREFIX}Identifier | Array<${NODE_PREFIX}Identifier> }, + keys: { [type: string]: string[] } + }`, + // eslint-disable-next-line max-len + `declare export function getOuterBindingIdentifiers(node: BabelNode, duplicates?: boolean): { [key: string]: ${NODE_PREFIX}Identifier | Array<${NODE_PREFIX}Identifier> }`, + + // traverse/ + `declare type TraversalAncestors = Array<{ + node: BabelNode, + key: string, + index?: number, + }>; + declare type TraversalHandler = (BabelNode, TraversalAncestors, T) => void; + declare type TraversalHandlers = { + enter?: TraversalHandler, + exit?: TraversalHandler, + };`.replace(/(^|\n) {2}/g, "$1"), + // eslint-disable-next-line + `declare export function traverse(n: BabelNode, TraversalHandler | TraversalHandlers, state?: T): void;`, + `declare export function traverseFast(n: BabelNode, h: TraversalHandler, state?: T): void;`, + + // utils/ + // cleanJSXElementLiteralChild is not exported + // inherit is not exported + `declare export function shallowEqual(actual: Object, expected: Object): boolean`, + + // validators/ + // eslint-disable-next-line max-len + `declare export function buildMatchMemberExpression(match: string, allowPartial?: boolean): (?BabelNode) => boolean`, + `declare export function is(type: string, n: BabelNode, opts: Object): boolean;`, + `declare export function isBinding(node: BabelNode, parent: BabelNode, grandparent?: BabelNode): boolean`, + `declare export function isBlockScoped(node: BabelNode): boolean`, + `declare export function isImmutable(node: BabelNode): boolean`, + `declare export function isLet(node: BabelNode): boolean`, + `declare export function isNode(node: ?Object): boolean`, + `declare export function isNodesEquivalent(a: any, b: any): boolean`, + `declare export function isPlaceholderType(placeholderType: string, targetType: string): boolean`, + `declare export function isReferenced(node: BabelNode, parent: BabelNode, grandparent?: BabelNode): boolean`, + `declare export function isScope(node: BabelNode, parent: BabelNode): boolean`, + `declare export function isSpecifierDefault(specifier: BabelNodeModuleSpecifier): boolean`, + `declare export function isType(nodetype: ?string, targetType: string): boolean`, + `declare export function isValidES3Identifier(name: string): boolean`, + `declare export function isValidES3Identifier(name: string): boolean`, + `declare export function isValidIdentifier(name: string): boolean`, + `declare export function isVar(node: BabelNode): boolean`, + // eslint-disable-next-line max-len + `declare export function matchesPattern(node: ?BabelNode, match: string | Array, allowPartial?: boolean): boolean`, + `declare export function validate(n: BabelNode, key: string, value: mixed): void;` +); + +for (const type in t.FLIPPED_ALIAS_KEYS) { + const types = t.FLIPPED_ALIAS_KEYS[type]; + code += `type ${NODE_PREFIX}${type} = ${types + .map(type => `${NODE_PREFIX}${type}`) + .join(" | ")};\n`; +} + +code += `\ndeclare module "@babel/types" { + ${lines.join("\n").replace(/\n/g, "\n ").trim()} +}\n`; + +// + +process.stdout.write(code); diff --git a/node_modules/@babel/types/scripts/generators/typescript-legacy.js b/node_modules/@babel/types/scripts/generators/typescript-legacy.js new file mode 100644 index 00000000..40da48f4 --- /dev/null +++ b/node_modules/@babel/types/scripts/generators/typescript-legacy.js @@ -0,0 +1,369 @@ +import t from "../../lib/index.js"; +import stringifyValidator from "../utils/stringifyValidator.js"; +import toFunctionName from "../utils/toFunctionName.js"; + +let code = `// NOTE: This file is autogenerated. Do not modify. +// See packages/babel-types/scripts/generators/typescript-legacy.js for script used. + +interface BaseComment { + value: string; + start: number; + end: number; + loc: SourceLocation; + type: "CommentBlock" | "CommentLine"; +} + +export interface CommentBlock extends BaseComment { + type: "CommentBlock"; +} + +export interface CommentLine extends BaseComment { + type: "CommentLine"; +} + +export type Comment = CommentBlock | CommentLine; + +export interface SourceLocation { + start: { + line: number; + column: number; + }; + + end: { + line: number; + column: number; + }; +} + +interface BaseNode { + leadingComments: ReadonlyArray | null; + innerComments: ReadonlyArray | null; + trailingComments: ReadonlyArray | null; + start: number | null; + end: number | null; + loc: SourceLocation | null; + type: Node["type"]; + extra?: Record; +} + +export type Node = ${t.TYPES.sort().join(" | ")};\n\n`; + +// + +const lines = []; + +for (const type in t.NODE_FIELDS) { + const fields = t.NODE_FIELDS[type]; + const fieldNames = sortFieldNames(Object.keys(t.NODE_FIELDS[type]), type); + const builderNames = t.BUILDER_KEYS[type]; + + const struct = ['type: "' + type + '";']; + const args = []; + + fieldNames.forEach(fieldName => { + const field = fields[fieldName]; + // Future / annoying TODO: + // MemberExpression.property, ObjectProperty.key and ObjectMethod.key need special cases; either: + // - convert the declaration to chain() like ClassProperty.key and ClassMethod.key, + // - declare an alias type for valid keys, detect the case and reuse it here, + // - declare a disjoint union with, for example, ObjectPropertyBase, + // ObjectPropertyLiteralKey and ObjectPropertyComputedKey, and declare ObjectProperty + // as "ObjectPropertyBase & (ObjectPropertyLiteralKey | ObjectPropertyComputedKey)" + let typeAnnotation = stringifyValidator(field.validate, ""); + + if (isNullable(field) && !hasDefault(field)) { + typeAnnotation += " | null"; + } + + if (builderNames.includes(fieldName)) { + if (areAllRemainingFieldsNullable(fieldName, builderNames, fields)) { + args.push( + `${t.toBindingIdentifierName(fieldName)}${ + isNullable(field) ? "?:" : ":" + } ${typeAnnotation}` + ); + } else { + args.push( + `${t.toBindingIdentifierName(fieldName)}: ${typeAnnotation}${ + isNullable(field) ? " | undefined" : "" + }` + ); + } + } + + const alphaNumeric = /^\w+$/; + + if (t.isValidIdentifier(fieldName) || alphaNumeric.test(fieldName)) { + struct.push(`${fieldName}: ${typeAnnotation};`); + } else { + struct.push(`"${fieldName}": ${typeAnnotation};`); + } + }); + + code += `export interface ${type} extends BaseNode { + ${struct.join("\n ").trim()} +}\n\n`; + + // super and import are reserved words in JavaScript + if (type !== "Super" && type !== "Import") { + lines.push( + `export function ${toFunctionName(type)}(${args.join(", ")}): ${type};` + ); + } else { + const functionName = toFunctionName(type); + lines.push( + `declare function _${functionName}(${args.join(", ")}): ${type};`, + `export { _${functionName} as ${functionName}}` + ); + } +} + +for (const typeName of t.TYPES) { + const isDeprecated = !!t.DEPRECATED_KEYS[typeName]; + const realName = isDeprecated ? t.DEPRECATED_KEYS[typeName] : typeName; + + const result = + t.NODE_FIELDS[realName] || t.FLIPPED_ALIAS_KEYS[realName] + ? `node is ${realName}` + : "boolean"; + + if (isDeprecated) { + lines.push(`/** @deprecated Use \`is${realName}\` */`); + } + lines.push( + `export function is${typeName}(node: object | null | undefined, opts?: object | null): ${result};` + ); + + if (isDeprecated) { + lines.push(`/** @deprecated Use \`assert${realName}\` */`); + } + lines.push( + `export function assert${typeName}(node: object | null | undefined, opts?: object | null): void;` + ); +} + +lines.push( + // assert/ + `export function assertNode(obj: any): void`, + + // builders/ + // eslint-disable-next-line max-len + `export function createTypeAnnotationBasedOnTypeof(type: 'string' | 'number' | 'undefined' | 'boolean' | 'function' | 'object' | 'symbol'): StringTypeAnnotation | VoidTypeAnnotation | NumberTypeAnnotation | BooleanTypeAnnotation | GenericTypeAnnotation`, + `export function createUnionTypeAnnotation(types: [T]): T`, + `export function createFlowUnionType(types: [T]): T`, + // this probably misbehaves if there are 0 elements, and it's not a UnionTypeAnnotation if there's only 1 + // it is possible to require "2 or more" for this overload ([T, T, ...T[]]) but it requires typescript 3.0 + `export function createUnionTypeAnnotation(types: ReadonlyArray): UnionTypeAnnotation`, + `export function createFlowUnionType(types: ReadonlyArray): UnionTypeAnnotation`, + // this smells like "internal API" + // eslint-disable-next-line max-len + `export function buildChildren(node: { children: ReadonlyArray }): JSXElement['children']`, + + // clone/ + `export function clone(n: T): T;`, + `export function cloneDeep(n: T): T;`, + `export function cloneDeepWithoutLoc(n: T): T;`, + `export function cloneNode(n: T, deep?: boolean, withoutLoc?: boolean): T;`, + `export function cloneWithoutLoc(n: T): T;`, + + // comments/ + `export type CommentTypeShorthand = 'leading' | 'inner' | 'trailing'`, + // eslint-disable-next-line max-len + `export function addComment(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T`, + // eslint-disable-next-line max-len + `export function addComments(node: T, type: CommentTypeShorthand, comments: ReadonlyArray): T`, + `export function inheritInnerComments(node: Node, parent: Node): void`, + `export function inheritLeadingComments(node: Node, parent: Node): void`, + `export function inheritsComments(node: T, parent: Node): void`, + `export function inheritTrailingComments(node: Node, parent: Node): void`, + `export function removeComments(node: T): T`, + + // converters/ + // eslint-disable-next-line max-len + `export function ensureBlock(node: Extract): BlockStatement`, + // too complex? + // eslint-disable-next-line max-len + `export function ensureBlock = 'body'>(node: Extract>, key: K): BlockStatement`, + // gatherSequenceExpressions is not exported + `export function toBindingIdentifierName(name: { toString(): string } | null | undefined): string`, + `export function toBlock(node: Statement | Expression, parent?: Function | null): BlockStatement`, + // it is possible for `node` to be an arbitrary object if `key` is always provided, + // but that doesn't look like intended API + // eslint-disable-next-line max-len + `export function toComputedKey>(node: T, key?: Expression | Identifier): Expression`, + `export function toExpression(node: Function): FunctionExpression`, + `export function toExpression(node: Class): ClassExpression`, + `export function toExpression(node: ExpressionStatement | Expression | Class | Function): Expression`, + `export function toIdentifier(name: { toString(): string } | null | undefined): string`, + `export function toKeyAlias(node: Method | Property, key?: Node): string`, + // NOTE: this actually uses Scope from @babel/traverse, but we can't add a dependency on its types, + // as they live in @types. Declare the structural subset that is required. + // eslint-disable-next-line max-len + `export function toSequenceExpression(nodes: ReadonlyArray, scope: { push(value: { id: LVal; kind: 'var'; init?: Expression}): void; buildUndefinedNode(): Node }): SequenceExpression | undefined`, + `export function toStatement(node: AssignmentExpression, ignore?: boolean): ExpressionStatement`, + `export function toStatement(node: Statement | AssignmentExpression, ignore?: boolean): Statement`, + `export function toStatement(node: Class, ignore: true): ClassDeclaration | undefined`, + `export function toStatement(node: Class, ignore?: boolean): ClassDeclaration`, + `export function toStatement(node: Function, ignore: true): FunctionDeclaration | undefined`, + `export function toStatement(node: Function, ignore?: boolean): FunctionDeclaration`, + // eslint-disable-next-line max-len + `export function toStatement(node: Statement | Class | Function | AssignmentExpression, ignore: true): Statement | undefined`, + // eslint-disable-next-line max-len + `export function toStatement(node: Statement | Class | Function | AssignmentExpression, ignore?: boolean): Statement`, + // eslint-disable-next-line max-len + `export function valueToNode(value: undefined): Identifier`, // (should this not be a UnaryExpression to avoid shadowing?) + `export function valueToNode(value: boolean): BooleanLiteral`, + `export function valueToNode(value: null): NullLiteral`, + `export function valueToNode(value: string): StringLiteral`, + // Infinities and NaN need to use a BinaryExpression; negative values must be wrapped in UnaryExpression + `export function valueToNode(value: number): NumericLiteral | BinaryExpression | UnaryExpression`, + `export function valueToNode(value: RegExp): RegExpLiteral`, + // eslint-disable-next-line max-len + `export function valueToNode(value: ReadonlyArray): ArrayExpression`, + // this throws with objects that are not PlainObject according to lodash, + // or if there are non-valueToNode-able values + `export function valueToNode(value: object): ObjectExpression`, + // eslint-disable-next-line max-len + `export function valueToNode(value: undefined | boolean | null | string | number | RegExp | object): Expression`, + + // modifications/ + // eslint-disable-next-line max-len + `export function removeTypeDuplicates(types: ReadonlyArray): FlowType[]`, + // eslint-disable-next-line max-len + `export function appendToMemberExpression>(member: T, append: MemberExpression['property'], computed?: boolean): T`, + // eslint-disable-next-line max-len + `export function inherits(child: T, parent: Node | null | undefined): T`, + // eslint-disable-next-line max-len + `export function prependToMemberExpression>(member: T, prepend: MemberExpression['object']): T`, + `export function removeProperties( + n: Node, + opts?: { preserveComments: boolean } | null +): void;`, + `export function removePropertiesDeep( + n: T, + opts?: { preserveComments: boolean } | null +): T;`, + + // retrievers/ + // eslint-disable-next-line max-len + `export function getBindingIdentifiers(node: Node, duplicates: true, outerOnly?: boolean): Record>`, + // eslint-disable-next-line max-len + `export function getBindingIdentifiers(node: Node, duplicates?: false, outerOnly?: boolean): Record`, + // eslint-disable-next-line max-len + `export function getBindingIdentifiers(node: Node, duplicates: boolean, outerOnly?: boolean): Record>`, + // eslint-disable-next-line max-len + `export function getOuterBindingIdentifiers(node: Node, duplicates: true): Record>`, + `export function getOuterBindingIdentifiers(node: Node, duplicates?: false): Record`, + // eslint-disable-next-line max-len + `export function getOuterBindingIdentifiers(node: Node, duplicates: boolean): Record>`, + + // traverse/ + `export type TraversalAncestors = ReadonlyArray<{ + node: Node, + key: string, + index?: number, + }>; + export type TraversalHandler = ( + this: undefined, node: Node, parent: TraversalAncestors, type: T + ) => void; + export type TraversalHandlers = { + enter?: TraversalHandler, + exit?: TraversalHandler, + };`.replace(/(^|\n) {2}/g, "$1"), + // eslint-disable-next-line + `export function traverse(n: Node, h: TraversalHandler | TraversalHandlers, state?: T): void;`, + `export function traverseFast(n: Node, h: TraversalHandler, state?: T): void;`, + + // utils/ + // cleanJSXElementLiteralChild is not exported + // inherit is not exported + `export function shallowEqual(actual: object, expected: T): actual is T`, + + // validators/ + // eslint-disable-next-line max-len + `export function buildMatchMemberExpression(match: string, allowPartial?: boolean): (node: Node | null | undefined) => node is MemberExpression`, + // eslint-disable-next-line max-len + `export function is(type: T, n: Node | null | undefined, required?: undefined): n is Extract`, + // eslint-disable-next-line max-len + `export function is>(type: T, n: Node | null | undefined, required: Partial

): n is P`, + // eslint-disable-next-line max-len + `export function is

(type: string, n: Node | null | undefined, required: Partial

): n is P`, + `export function is(type: string, n: Node | null | undefined, required?: Partial): n is Node`, + `export function isBinding(node: Node, parent: Node, grandparent?: Node): boolean`, + // eslint-disable-next-line max-len + `export function isBlockScoped(node: Node): node is FunctionDeclaration | ClassDeclaration | VariableDeclaration`, + `export function isImmutable(node: Node): node is Immutable`, + `export function isLet(node: Node): node is VariableDeclaration`, + `export function isNode(node: object | null | undefined): node is Node`, + `export function isNodesEquivalent>(a: T, b: any): b is T`, + `export function isNodesEquivalent(a: any, b: any): boolean`, + `export function isPlaceholderType(placeholderType: Node['type'], targetType: Node['type']): boolean`, + `export function isReferenced(node: Node, parent: Node, grandparent?: Node): boolean`, + `export function isScope(node: Node, parent: Node): node is Scopable`, + `export function isSpecifierDefault(specifier: ModuleSpecifier): boolean`, + `export function isType(nodetype: string, targetType: T): nodetype is T`, + `export function isType(nodetype: string | null | undefined, targetType: string): boolean`, + `export function isValidES3Identifier(name: string): boolean`, + `export function isValidIdentifier(name: string): boolean`, + `export function isVar(node: Node): node is VariableDeclaration`, + // the MemberExpression implication is incidental, but it follows from the implementation + // eslint-disable-next-line max-len + `export function matchesPattern(node: Node | null | undefined, match: string | ReadonlyArray, allowPartial?: boolean): node is MemberExpression`, + // eslint-disable-next-line max-len + `export function validate(n: Node | null | undefined, key: K, value: T[K]): void;`, + `export function validate(n: Node, key: string, value: any): void;` +); + +for (const type in t.DEPRECATED_KEYS) { + code += `/** + * @deprecated Use \`${t.DEPRECATED_KEYS[type]}\` + */ +export type ${type} = ${t.DEPRECATED_KEYS[type]};\n +`; +} + +for (const type in t.FLIPPED_ALIAS_KEYS) { + const types = t.FLIPPED_ALIAS_KEYS[type]; + code += `export type ${type} = ${types + .map(type => `${type}`) + .join(" | ")};\n`; +} +code += "\n"; + +code += "export interface Aliases {\n"; +for (const type in t.FLIPPED_ALIAS_KEYS) { + code += ` ${type}: ${type};\n`; +} +code += "}\n\n"; + +code += lines.join("\n") + "\n"; + +// + +process.stdout.write(code); + +// + +function areAllRemainingFieldsNullable(fieldName, fieldNames, fields) { + const index = fieldNames.indexOf(fieldName); + return fieldNames.slice(index).every(_ => isNullable(fields[_])); +} + +function hasDefault(field) { + return field.default != null; +} + +function isNullable(field) { + return field.optional || hasDefault(field); +} + +function sortFieldNames(fields, type) { + return fields.sort((fieldA, fieldB) => { + const indexA = t.BUILDER_KEYS[type].indexOf(fieldA); + const indexB = t.BUILDER_KEYS[type].indexOf(fieldB); + if (indexA === indexB) return fieldA < fieldB ? -1 : 1; + if (indexA === -1) return 1; + if (indexB === -1) return -1; + return indexA - indexB; + }); +} diff --git a/node_modules/@babel/types/scripts/generators/validators.js b/node_modules/@babel/types/scripts/generators/validators.js new file mode 100644 index 00000000..acd6da65 --- /dev/null +++ b/node_modules/@babel/types/scripts/generators/validators.js @@ -0,0 +1,87 @@ +import definitions from "../../lib/definitions/index.js"; + +const has = Function.call.bind(Object.prototype.hasOwnProperty); + +function joinComparisons(leftArr, right) { + return ( + leftArr.map(JSON.stringify).join(` === ${right} || `) + ` === ${right}` + ); +} + +function addIsHelper(type, aliasKeys, deprecated) { + const targetType = JSON.stringify(type); + let aliasSource = ""; + if (aliasKeys) { + aliasSource = joinComparisons(aliasKeys, "nodeType"); + } + + let placeholderSource = ""; + const placeholderTypes = []; + if ( + definitions.PLACEHOLDERS.includes(type) && + has(definitions.FLIPPED_ALIAS_KEYS, type) + ) { + placeholderTypes.push(type); + } + if (has(definitions.PLACEHOLDERS_FLIPPED_ALIAS, type)) { + placeholderTypes.push(...definitions.PLACEHOLDERS_FLIPPED_ALIAS[type]); + } + if (placeholderTypes.length > 0) { + placeholderSource = + ' || nodeType === "Placeholder" && (' + + joinComparisons( + placeholderTypes, + "(node as t.Placeholder).expectedNode" + ) + + ")"; + } + + const result = + definitions.NODE_FIELDS[type] || definitions.FLIPPED_ALIAS_KEYS[type] + ? `node is t.${type}` + : "boolean"; + + return `export function is${type}(node: object | null | undefined, opts?: object | null): ${result} { + ${deprecated || ""} + if (!node) return false; + + const nodeType = (node as t.Node).type; + if (${ + aliasSource ? aliasSource : `nodeType === ${targetType}` + }${placeholderSource}) { + if (typeof opts === "undefined") { + return true; + } else { + return shallowEqual(node, opts); + } + } + + return false; + } + `; +} + +export default function generateValidators() { + let output = `/* + * This file is auto-generated! Do not modify it directly. + * To re-generate run 'make build' + */ +import shallowEqual from "../../utils/shallowEqual"; +import type * as t from "../..";\n\n`; + + Object.keys(definitions.VISITOR_KEYS).forEach(type => { + output += addIsHelper(type); + }); + + Object.keys(definitions.FLIPPED_ALIAS_KEYS).forEach(type => { + output += addIsHelper(type, definitions.FLIPPED_ALIAS_KEYS[type]); + }); + + Object.keys(definitions.DEPRECATED_KEYS).forEach(type => { + const newType = definitions.DEPRECATED_KEYS[type]; + const deprecated = `console.trace("The node type ${type} has been renamed to ${newType}");`; + output += addIsHelper(type, null, deprecated); + }); + + return output; +} diff --git a/node_modules/@babel/types/scripts/package.json b/node_modules/@babel/types/scripts/package.json new file mode 100644 index 00000000..5ffd9800 --- /dev/null +++ b/node_modules/@babel/types/scripts/package.json @@ -0,0 +1 @@ +{ "type": "module" } diff --git a/node_modules/@babel/types/scripts/utils/formatBuilderName.js b/node_modules/@babel/types/scripts/utils/formatBuilderName.js new file mode 100644 index 00000000..f00a3c4a --- /dev/null +++ b/node_modules/@babel/types/scripts/utils/formatBuilderName.js @@ -0,0 +1,8 @@ +const toLowerCase = Function.call.bind("".toLowerCase); + +export default function formatBuilderName(type) { + // FunctionExpression -> functionExpression + // JSXIdentifier -> jsxIdentifier + // V8IntrinsicIdentifier -> v8IntrinsicIdentifier + return type.replace(/^([A-Z](?=[a-z0-9])|[A-Z]+(?=[A-Z]))/, toLowerCase); +} diff --git a/node_modules/@babel/types/scripts/utils/lowerFirst.js b/node_modules/@babel/types/scripts/utils/lowerFirst.js new file mode 100644 index 00000000..012f252a --- /dev/null +++ b/node_modules/@babel/types/scripts/utils/lowerFirst.js @@ -0,0 +1,3 @@ +export default function lowerFirst(string) { + return string[0].toLowerCase() + string.slice(1); +} diff --git a/node_modules/@babel/types/scripts/utils/stringifyValidator.js b/node_modules/@babel/types/scripts/utils/stringifyValidator.js new file mode 100644 index 00000000..4b8d29c1 --- /dev/null +++ b/node_modules/@babel/types/scripts/utils/stringifyValidator.js @@ -0,0 +1,66 @@ +export default function stringifyValidator(validator, nodePrefix) { + if (validator === undefined) { + return "any"; + } + + if (validator.each) { + return `Array<${stringifyValidator(validator.each, nodePrefix)}>`; + } + + if (validator.chainOf) { + return stringifyValidator(validator.chainOf[1], nodePrefix); + } + + if (validator.oneOf) { + return validator.oneOf.map(JSON.stringify).join(" | "); + } + + if (validator.oneOfNodeTypes) { + return validator.oneOfNodeTypes.map(_ => nodePrefix + _).join(" | "); + } + + if (validator.oneOfNodeOrValueTypes) { + return validator.oneOfNodeOrValueTypes + .map(_ => { + return isValueType(_) ? _ : nodePrefix + _; + }) + .join(" | "); + } + + if (validator.type) { + return validator.type; + } + + if (validator.shapeOf) { + return ( + "{ " + + Object.keys(validator.shapeOf) + .map(shapeKey => { + const propertyDefinition = validator.shapeOf[shapeKey]; + if (propertyDefinition.validate) { + const isOptional = + propertyDefinition.optional || propertyDefinition.default != null; + return ( + shapeKey + + (isOptional ? "?: " : ": ") + + stringifyValidator(propertyDefinition.validate) + ); + } + return null; + }) + .filter(Boolean) + .join(", ") + + " }" + ); + } + + return ["any"]; +} + +/** + * Heuristic to decide whether or not the given type is a value type (eg. "null") + * or a Node type (eg. "Expression"). + */ +function isValueType(type) { + return type.charAt(0).toLowerCase() === type.charAt(0); +} diff --git a/node_modules/@babel/types/scripts/utils/toFunctionName.js b/node_modules/@babel/types/scripts/utils/toFunctionName.js new file mode 100644 index 00000000..2b645780 --- /dev/null +++ b/node_modules/@babel/types/scripts/utils/toFunctionName.js @@ -0,0 +1,4 @@ +export default function toFunctionName(typeName) { + const _ = typeName.replace(/^TS/, "ts").replace(/^JSX/, "jsx"); + return _.slice(0, 1).toLowerCase() + _.slice(1); +} diff --git a/node_modules/@istanbuljs/load-nyc-config/CHANGELOG.md b/node_modules/@istanbuljs/load-nyc-config/CHANGELOG.md new file mode 100644 index 00000000..980719ef --- /dev/null +++ b/node_modules/@istanbuljs/load-nyc-config/CHANGELOG.md @@ -0,0 +1,41 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [1.1.0](https://github.com/istanbuljs/load-nyc-config/compare/v1.0.0...v1.1.0) (2020-05-20) + + +### Features + +* Create `isLoading` function ([#15](https://github.com/istanbuljs/load-nyc-config/issues/15)) ([0e58b51](https://github.com/istanbuljs/load-nyc-config/commit/0e58b516f663af7ed710ba27f2090fc28bc3fdb1)) +* Support loading ES module config from `.js` files ([#14](https://github.com/istanbuljs/load-nyc-config/issues/14)) ([b1ea369](https://github.com/istanbuljs/load-nyc-config/commit/b1ea369f1e5162133b7057c5e3fefb8085671ab3)) + +## [1.0.0](https://github.com/istanbuljs/load-nyc-config/compare/v1.0.0-alpha.2...v1.0.0) (2019-12-20) + + +### Features + +* Version bump only ([#11](https://github.com/istanbuljs/load-nyc-config/issues/11)) ([8c3f1be](https://github.com/istanbuljs/load-nyc-config/commit/8c3f1be8d4d30161088a79878c02210db4c2fbfb)) + +## [1.0.0-alpha.2](https://github.com/istanbuljs/load-nyc-config/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2019-11-24) + + +### Bug Fixes + +* Remove support for loading .js config under `type: 'module'` ([#10](https://github.com/istanbuljs/load-nyc-config/issues/10)) ([420fe87](https://github.com/istanbuljs/load-nyc-config/commit/420fe87da7dde3e9d98ef07f0a8a03d2b4d1dcb1)) +* Resolve cwd per config that sets it ([#9](https://github.com/istanbuljs/load-nyc-config/issues/9)) ([649efdc](https://github.com/istanbuljs/load-nyc-config/commit/649efdcda405c476764eebcf15af5da542fb21e1)) + +## [1.0.0-alpha.1](https://github.com/istanbuljs/load-nyc-config/compare/v1.0.0-alpha.0...v1.0.0-alpha.1) (2019-10-08) + + +### Bug Fixes + +* Add `cwd` to returned config object ([#8](https://github.com/istanbuljs/load-nyc-config/issues/8)) ([cb5184a](https://github.com/istanbuljs/load-nyc-config/commit/cb5184a)) + +## 1.0.0-alpha.0 (2019-10-06) + + +### Features + +* Add support for loading config from ESM modules ([#7](https://github.com/istanbuljs/load-nyc-config/issues/7)) ([bc5ea3e](https://github.com/istanbuljs/load-nyc-config/commit/bc5ea3e)), closes [#6](https://github.com/istanbuljs/load-nyc-config/issues/6) +* Initial implementation ([ff90134](https://github.com/istanbuljs/load-nyc-config/commit/ff90134)) diff --git a/node_modules/@istanbuljs/load-nyc-config/LICENSE b/node_modules/@istanbuljs/load-nyc-config/LICENSE new file mode 100644 index 00000000..345e587a --- /dev/null +++ b/node_modules/@istanbuljs/load-nyc-config/LICENSE @@ -0,0 +1,16 @@ +ISC License + +Copyright (c) 2019, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/@istanbuljs/load-nyc-config/README.md b/node_modules/@istanbuljs/load-nyc-config/README.md new file mode 100644 index 00000000..533db741 --- /dev/null +++ b/node_modules/@istanbuljs/load-nyc-config/README.md @@ -0,0 +1,64 @@ +# @istanbuljs/load-nyc-config + +The utility function which NYC uses to load configuration. +This can be used by outside programs to calculate the configuration. +Command-line arguments are not considered by this function. + +```js +const {loadNycConfig} = require('@istanbuljs/load-nyc-config'); + +(async () { + console.log(await loadNycConfig()); +})(); +``` + +## loadNycConfig([options]) + +### options.cwd + +Type: `string` +Default: `cwd` from parent nyc process or `process.cwd()` + +### options.nycrcPath + +Type: `string` +Default: `undefined` + +Name of the file containing nyc configuration. +This can be a relative or absolute path. +Relative paths can exist at `options.cwd` or any parent directory. +If an nycrc is specified but cannot be found an exception is thrown. + +If no nycrc option is provided the default priority of config files are: + +* .nycrc +* .nycrc.json +* .nycrc.yml +* .nycrc.yaml +* nyc.config.js +* nyc.config.cjs +* nyc.config.mjs + +## Configuration merging + +Configuration is first loaded from `package.json` if found, this serves as the package +defaults. These options can be overridden by an nycrc if found. Arrays are not merged, +so if `package.json` sets `"require": ["@babel/register"]` and `.nycrc` sets `"require": ["esm"]` +the effective require setting will only include `"esm"`. + +## isLoading + +```js +const {isLoading} = require('@istanbuljs/load-nyc-config'); + +console.log(isLoading()); +``` + +In some cases source transformation hooks can get installed before the configuration is +loaded. This allows hooks to ignore source loads that occur during configuration load. + +## `@istanbuljs/load-nyc-config` for enterprise + +Available as part of the Tidelift Subscription. + +The maintainers of `@istanbuljs/load-nyc-config` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-istanbuljs-load-nyc-config?utm_source=npm-istanbuljs-load-nyc-config&utm_medium=referral&utm_campaign=enterprise) diff --git a/node_modules/@istanbuljs/load-nyc-config/index.js b/node_modules/@istanbuljs/load-nyc-config/index.js new file mode 100644 index 00000000..0c8c05e5 --- /dev/null +++ b/node_modules/@istanbuljs/load-nyc-config/index.js @@ -0,0 +1,166 @@ +'use strict'; + +const fs = require('fs'); +const path = require('path'); +const {promisify} = require('util'); +const camelcase = require('camelcase'); +const findUp = require('find-up'); +const resolveFrom = require('resolve-from'); +const getPackageType = require('get-package-type'); + +const readFile = promisify(fs.readFile); + +let loadActive = false; + +function isLoading() { + return loadActive; +} + +const standardConfigFiles = [ + '.nycrc', + '.nycrc.json', + '.nycrc.yml', + '.nycrc.yaml', + 'nyc.config.js', + 'nyc.config.cjs', + 'nyc.config.mjs' +]; + +function camelcasedConfig(config) { + const results = {}; + for (const [field, value] of Object.entries(config)) { + results[camelcase(field)] = value; + } + + return results; +} + +async function findPackage(options) { + const cwd = options.cwd || process.env.NYC_CWD || process.cwd(); + const pkgPath = await findUp('package.json', {cwd}); + if (pkgPath) { + const pkgConfig = JSON.parse(await readFile(pkgPath, 'utf8')).nyc || {}; + if ('cwd' in pkgConfig) { + pkgConfig.cwd = path.resolve(path.dirname(pkgPath), pkgConfig.cwd); + } + + return { + cwd: path.dirname(pkgPath), + pkgConfig + }; + } + + return { + cwd, + pkgConfig: {} + }; +} + +async function actualLoad(configFile) { + if (!configFile) { + return {}; + } + + const configExt = path.extname(configFile).toLowerCase(); + switch (configExt) { + case '.js': + /* istanbul ignore next: coverage for 13.2.0+ is shown in load-esm.js */ + if (await getPackageType(configFile) === 'module') { + return require('./load-esm')(configFile); + } + + /* fallthrough */ + case '.cjs': + return require(configFile); + /* istanbul ignore next: coverage for 13.2.0+ is shown in load-esm.js */ + case '.mjs': + return require('./load-esm')(configFile); + case '.yml': + case '.yaml': + return require('js-yaml').load(await readFile(configFile, 'utf8')); + default: + return JSON.parse(await readFile(configFile, 'utf8')); + } +} + +async function loadFile(configFile) { + /* This lets @istanbuljs/esm-loader-hook avoid circular initialization when loading + * configuration. This should generally only happen when the loader hook is active + * on the main nyc process. */ + loadActive = true; + + try { + return await actualLoad(configFile); + } finally { + loadActive = false; + } +} + +async function applyExtends(config, filename, loopCheck = new Set()) { + config = camelcasedConfig(config); + if ('extends' in config) { + const extConfigs = [].concat(config.extends); + if (extConfigs.some(e => typeof e !== 'string')) { + throw new TypeError(`${filename} contains an invalid 'extends' option`); + } + + delete config.extends; + const filePath = path.dirname(filename); + for (const extConfig of extConfigs) { + const configFile = resolveFrom.silent(filePath, extConfig) || + resolveFrom.silent(filePath, './' + extConfig); + if (!configFile) { + throw new Error(`Could not resolve configuration file ${extConfig} from ${path.dirname(filename)}.`); + } + + if (loopCheck.has(configFile)) { + throw new Error(`Circular extended configurations: '${configFile}'.`); + } + + loopCheck.add(configFile); + + // eslint-disable-next-line no-await-in-loop + const configLoaded = await loadFile(configFile); + if ('cwd' in configLoaded) { + configLoaded.cwd = path.resolve(path.dirname(configFile), configLoaded.cwd); + } + + Object.assign( + config, + // eslint-disable-next-line no-await-in-loop + await applyExtends(configLoaded, configFile, loopCheck) + ); + } + } + + return config; +} + +async function loadNycConfig(options = {}) { + const {cwd, pkgConfig} = await findPackage(options); + const configFiles = [].concat(options.nycrcPath || standardConfigFiles); + const configFile = await findUp(configFiles, {cwd}); + if (options.nycrcPath && !configFile) { + throw new Error(`Requested configuration file ${options.nycrcPath} not found`); + } + + const config = { + cwd, + ...(await applyExtends(pkgConfig, path.join(cwd, 'package.json'))), + ...(await applyExtends(await loadFile(configFile), configFile)) + }; + + const arrayFields = ['require', 'extension', 'exclude', 'include']; + for (const arrayField of arrayFields) { + if (config[arrayField]) { + config[arrayField] = [].concat(config[arrayField]); + } + } + + return config; +} + +module.exports = { + loadNycConfig, + isLoading +}; diff --git a/node_modules/@istanbuljs/load-nyc-config/load-esm.js b/node_modules/@istanbuljs/load-nyc-config/load-esm.js new file mode 100644 index 00000000..0eb517e6 --- /dev/null +++ b/node_modules/@istanbuljs/load-nyc-config/load-esm.js @@ -0,0 +1,12 @@ +'use strict'; + +const {pathToFileURL} = require('url'); + +module.exports = async filename => { + const mod = await import(pathToFileURL(filename)); + if ('default' in mod === false) { + throw new Error(`${filename} has no default export`); + } + + return mod.default; +}; diff --git a/node_modules/@istanbuljs/load-nyc-config/package.json b/node_modules/@istanbuljs/load-nyc-config/package.json new file mode 100644 index 00000000..53207ef3 --- /dev/null +++ b/node_modules/@istanbuljs/load-nyc-config/package.json @@ -0,0 +1,49 @@ +{ + "name": "@istanbuljs/load-nyc-config", + "version": "1.1.0", + "description": "Utility function to load nyc configuration", + "main": "index.js", + "scripts": { + "pretest": "xo", + "test": "tap", + "snap": "npm test -- --snapshot", + "release": "standard-version" + }, + "engines": { + "node": ">=8" + }, + "license": "ISC", + "repository": { + "type": "git", + "url": "git+https://github.com/istanbuljs/load-nyc-config.git" + }, + "bugs": { + "url": "https://github.com/istanbuljs/load-nyc-config/issues" + }, + "homepage": "https://github.com/istanbuljs/load-nyc-config#readme", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "devDependencies": { + "semver": "^6.3.0", + "standard-version": "^7.0.0", + "tap": "^14.10.5", + "xo": "^0.25.3" + }, + "xo": { + "ignores": [ + "test/fixtures/extends/invalid.*" + ], + "rules": { + "require-atomic-updates": 0, + "capitalized-comments": 0, + "unicorn/import-index": 0, + "import/extensions": 0, + "import/no-useless-path-segments": 0 + } + } +} diff --git a/node_modules/@istanbuljs/schema/CHANGELOG.md b/node_modules/@istanbuljs/schema/CHANGELOG.md new file mode 100644 index 00000000..afdc8350 --- /dev/null +++ b/node_modules/@istanbuljs/schema/CHANGELOG.md @@ -0,0 +1,44 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +### [0.1.3](https://github.com/istanbuljs/schema/compare/v0.1.2...v0.1.3) (2021-02-13) + + +### Features + +* Add `classPrivateMethods` and `topLevelAwait` default support ([#17](https://github.com/istanbuljs/schema/issues/17)) ([e732889](https://github.com/istanbuljs/schema/commit/e7328894ddeb61da256c1f13c2c2cc2e04f181df)), closes [#16](https://github.com/istanbuljs/schema/issues/16) +* Add `numericSeparator` to default `parserPlugins` ([#12](https://github.com/istanbuljs/schema/issues/12)) ([fe32f00](https://github.com/istanbuljs/schema/commit/fe32f002f54c61467b1c1a487081f51c85ec8d10)), closes [#5](https://github.com/istanbuljs/schema/issues/5) +* Add babel.config.mjs to default exclude ([#10](https://github.com/istanbuljs/schema/issues/10)) ([a4dbeaa](https://github.com/istanbuljs/schema/commit/a4dbeaa7045490a4d46754801ac71f5d99c9bd79)) + + +### Bug Fixes + +* Exclude tests with `tsx` or `jsx` extensions ([#13](https://github.com/istanbuljs/schema/issues/13)) ([c7747f7](https://github.com/istanbuljs/schema/commit/c7747f7a7df8a2b770036834af77dfd0ee445733)), closes [#11](https://github.com/istanbuljs/schema/issues/11) + +### [0.1.2](https://github.com/istanbuljs/schema/compare/v0.1.1...v0.1.2) (2019-12-05) + + +### Features + +* Ignore *.d.ts ([#6](https://github.com/istanbuljs/schema/issues/6)) ([d867eaf](https://github.com/istanbuljs/schema/commit/d867eaff6ca4abcd4301990e2bdcdf53e438e9c4)) +* Update default exclude of dev tool configurations ([#7](https://github.com/istanbuljs/schema/issues/7)) ([c89f818](https://github.com/istanbuljs/schema/commit/c89f8185f30879bcdf8d2f1c3b7aba0ac7056fa9)) + +## [0.1.1](https://github.com/istanbuljs/schema/compare/v0.1.0...v0.1.1) (2019-10-07) + + +### Bug Fixes + +* Add missing `instrument` option ([#3](https://github.com/istanbuljs/schema/issues/3)) ([bf1217d](https://github.com/istanbuljs/schema/commit/bf1217d)) + + +### Features + +* Add `use-spawn-wrap` nyc option ([#4](https://github.com/istanbuljs/schema/issues/4)) ([b2ce2e8](https://github.com/istanbuljs/schema/commit/b2ce2e8)) + +## 0.1.0 (2019-10-05) + + +### Features + +* Initial implementation ([99bd3a5](https://github.com/istanbuljs/schema/commit/99bd3a5)) diff --git a/node_modules/@istanbuljs/schema/LICENSE b/node_modules/@istanbuljs/schema/LICENSE new file mode 100644 index 00000000..807a18bd --- /dev/null +++ b/node_modules/@istanbuljs/schema/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 CFWare, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@istanbuljs/schema/README.md b/node_modules/@istanbuljs/schema/README.md new file mode 100644 index 00000000..9cac0288 --- /dev/null +++ b/node_modules/@istanbuljs/schema/README.md @@ -0,0 +1,30 @@ +# @istanbuljs/schema + +[![Travis CI][travis-image]][travis-url] +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![MIT][license-image]](LICENSE) + +Schemas describing various structures used by nyc and istanbuljs + +## Usage + +```js +const {nyc} = require('@istanbuljs/schema').defaults; + +console.log(`Default exclude list:\n\t* ${nyc.exclude.join('\n\t* ')}`); +``` + +## `@istanbuljs/schema` for enterprise + +Available as part of the Tidelift Subscription. + +The maintainers of `@istanbuljs/schema` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-istanbuljs-schema?utm_source=npm-istanbuljs-schema&utm_medium=referral&utm_campaign=enterprise) + +[npm-image]: https://img.shields.io/npm/v/@istanbuljs/schema.svg +[npm-url]: https://npmjs.org/package/@istanbuljs/schema +[travis-image]: https://travis-ci.org/istanbuljs/schema.svg?branch=master +[travis-url]: https://travis-ci.org/istanbuljs/schema +[downloads-image]: https://img.shields.io/npm/dm/@istanbuljs/schema.svg +[downloads-url]: https://npmjs.org/package/@istanbuljs/schema +[license-image]: https://img.shields.io/npm/l/@istanbuljs/schema.svg diff --git a/node_modules/@istanbuljs/schema/default-exclude.js b/node_modules/@istanbuljs/schema/default-exclude.js new file mode 100644 index 00000000..c6bb5264 --- /dev/null +++ b/node_modules/@istanbuljs/schema/default-exclude.js @@ -0,0 +1,22 @@ +'use strict'; + +const defaultExtension = require('./default-extension.js'); +const testFileExtensions = defaultExtension + .map(extension => extension.slice(1)) + .join(','); + +module.exports = [ + 'coverage/**', + 'packages/*/test{,s}/**', + '**/*.d.ts', + 'test{,s}/**', + `test{,-*}.{${testFileExtensions}}`, + `**/*{.,-}test.{${testFileExtensions}}`, + '**/__tests__/**', + + /* Exclude common development tool configuration files */ + '**/{ava,babel,nyc}.config.{js,cjs,mjs}', + '**/jest.config.{js,cjs,mjs,ts}', + '**/{karma,rollup,webpack}.config.js', + '**/.{eslint,mocha}rc.{js,cjs}' +]; diff --git a/node_modules/@istanbuljs/schema/default-extension.js b/node_modules/@istanbuljs/schema/default-extension.js new file mode 100644 index 00000000..46ebadca --- /dev/null +++ b/node_modules/@istanbuljs/schema/default-extension.js @@ -0,0 +1,10 @@ +'use strict'; + +module.exports = [ + '.js', + '.cjs', + '.mjs', + '.ts', + '.tsx', + '.jsx' +]; diff --git a/node_modules/@istanbuljs/schema/index.js b/node_modules/@istanbuljs/schema/index.js new file mode 100644 index 00000000..b35f6101 --- /dev/null +++ b/node_modules/@istanbuljs/schema/index.js @@ -0,0 +1,466 @@ +'use strict'; + +const defaultExclude = require('./default-exclude.js'); +const defaultExtension = require('./default-extension.js'); + +const nycCommands = { + all: [null, 'check-coverage', 'instrument', 'merge', 'report'], + testExclude: [null, 'instrument', 'report', 'check-coverage'], + instrument: [null, 'instrument'], + checkCoverage: [null, 'report', 'check-coverage'], + report: [null, 'report'], + main: [null], + instrumentOnly: ['instrument'] +}; + +const cwd = { + description: 'working directory used when resolving paths', + type: 'string', + get default() { + return process.cwd(); + }, + nycCommands: nycCommands.all +}; + +const nycrcPath = { + description: 'specify an explicit path to find nyc configuration', + nycCommands: nycCommands.all +}; + +const tempDir = { + description: 'directory to output raw coverage information to', + type: 'string', + default: './.nyc_output', + nycAlias: 't', + nycHiddenAlias: 'temp-directory', + nycCommands: [null, 'check-coverage', 'merge', 'report'] +}; + +const testExclude = { + exclude: { + description: 'a list of specific files and directories that should be excluded from coverage, glob patterns are supported', + type: 'array', + items: { + type: 'string' + }, + default: defaultExclude, + nycCommands: nycCommands.testExclude, + nycAlias: 'x' + }, + excludeNodeModules: { + description: 'whether or not to exclude all node_module folders (i.e. **/node_modules/**) by default', + type: 'boolean', + default: true, + nycCommands: nycCommands.testExclude + }, + include: { + description: 'a list of specific files that should be covered, glob patterns are supported', + type: 'array', + items: { + type: 'string' + }, + default: [], + nycCommands: nycCommands.testExclude, + nycAlias: 'n' + }, + extension: { + description: 'a list of extensions that nyc should handle in addition to .js', + type: 'array', + items: { + type: 'string' + }, + default: defaultExtension, + nycCommands: nycCommands.testExclude, + nycAlias: 'e' + } +}; + +const instrumentVisitor = { + coverageVariable: { + description: 'variable to store coverage', + type: 'string', + default: '__coverage__', + nycCommands: nycCommands.instrument + }, + coverageGlobalScope: { + description: 'scope to store the coverage variable', + type: 'string', + default: 'this', + nycCommands: nycCommands.instrument + }, + coverageGlobalScopeFunc: { + description: 'avoid potentially replaced `Function` when finding global scope', + type: 'boolean', + default: true, + nycCommands: nycCommands.instrument + }, + ignoreClassMethods: { + description: 'class method names to ignore for coverage', + type: 'array', + items: { + type: 'string' + }, + default: [], + nycCommands: nycCommands.instrument + } +}; + +const instrumentParseGen = { + autoWrap: { + description: 'allow `return` statements outside of functions', + type: 'boolean', + default: true, + nycCommands: nycCommands.instrument + }, + esModules: { + description: 'should files be treated as ES Modules', + type: 'boolean', + default: true, + nycCommands: nycCommands.instrument + }, + parserPlugins: { + description: 'babel parser plugins to use when parsing the source', + type: 'array', + items: { + type: 'string' + }, + /* Babel parser plugins are to be enabled when the feature is stage 3 and + * implemented in a released version of node.js. */ + default: [ + 'asyncGenerators', + 'bigInt', + 'classProperties', + 'classPrivateProperties', + 'classPrivateMethods', + 'dynamicImport', + 'importMeta', + 'numericSeparator', + 'objectRestSpread', + 'optionalCatchBinding', + 'topLevelAwait' + ], + nycCommands: nycCommands.instrument + }, + compact: { + description: 'should the output be compacted?', + type: 'boolean', + default: true, + nycCommands: nycCommands.instrument + }, + preserveComments: { + description: 'should comments be preserved in the output?', + type: 'boolean', + default: true, + nycCommands: nycCommands.instrument + }, + produceSourceMap: { + description: 'should source maps be produced?', + type: 'boolean', + default: true, + nycCommands: nycCommands.instrument + } +}; + +const checkCoverage = { + excludeAfterRemap: { + description: 'should exclude logic be performed after the source-map remaps filenames?', + type: 'boolean', + default: true, + nycCommands: nycCommands.checkCoverage + }, + branches: { + description: 'what % of branches must be covered?', + type: 'number', + default: 0, + minimum: 0, + maximum: 100, + nycCommands: nycCommands.checkCoverage + }, + functions: { + description: 'what % of functions must be covered?', + type: 'number', + default: 0, + minimum: 0, + maximum: 100, + nycCommands: nycCommands.checkCoverage + }, + lines: { + description: 'what % of lines must be covered?', + type: 'number', + default: 90, + minimum: 0, + maximum: 100, + nycCommands: nycCommands.checkCoverage + }, + statements: { + description: 'what % of statements must be covered?', + type: 'number', + default: 0, + minimum: 0, + maximum: 100, + nycCommands: nycCommands.checkCoverage + }, + perFile: { + description: 'check thresholds per file', + type: 'boolean', + default: false, + nycCommands: nycCommands.checkCoverage + } +}; + +const report = { + checkCoverage: { + description: 'check whether coverage is within thresholds provided', + type: 'boolean', + default: false, + nycCommands: nycCommands.report + }, + reporter: { + description: 'coverage reporter(s) to use', + type: 'array', + items: { + type: 'string' + }, + default: ['text'], + nycCommands: nycCommands.report, + nycAlias: 'r' + }, + reportDir: { + description: 'directory to output coverage reports in', + type: 'string', + default: 'coverage', + nycCommands: nycCommands.report + }, + showProcessTree: { + description: 'display the tree of spawned processes', + type: 'boolean', + default: false, + nycCommands: nycCommands.report + }, + skipEmpty: { + description: 'don\'t show empty files (no lines of code) in report', + type: 'boolean', + default: false, + nycCommands: nycCommands.report + }, + skipFull: { + description: 'don\'t show files with 100% statement, branch, and function coverage', + type: 'boolean', + default: false, + nycCommands: nycCommands.report + } +}; + +const nycMain = { + silent: { + description: 'don\'t output a report after tests finish running', + type: 'boolean', + default: false, + nycCommands: nycCommands.main, + nycAlias: 's' + }, + all: { + description: 'whether or not to instrument all files of the project (not just the ones touched by your test suite)', + type: 'boolean', + default: false, + nycCommands: nycCommands.main, + nycAlias: 'a' + }, + eager: { + description: 'instantiate the instrumenter at startup (see https://git.io/vMKZ9)', + type: 'boolean', + default: false, + nycCommands: nycCommands.main + }, + cache: { + description: 'cache instrumentation results for improved performance', + type: 'boolean', + default: true, + nycCommands: nycCommands.main, + nycAlias: 'c' + }, + cacheDir: { + description: 'explicitly set location for instrumentation cache', + type: 'string', + nycCommands: nycCommands.main + }, + babelCache: { + description: 'cache babel transpilation results for improved performance', + type: 'boolean', + default: false, + nycCommands: nycCommands.main + }, + useSpawnWrap: { + description: 'use spawn-wrap instead of setting process.env.NODE_OPTIONS', + type: 'boolean', + default: false, + nycCommands: nycCommands.main + }, + hookRequire: { + description: 'should nyc wrap require?', + type: 'boolean', + default: true, + nycCommands: nycCommands.main + }, + hookRunInContext: { + description: 'should nyc wrap vm.runInContext?', + type: 'boolean', + default: false, + nycCommands: nycCommands.main + }, + hookRunInThisContext: { + description: 'should nyc wrap vm.runInThisContext?', + type: 'boolean', + default: false, + nycCommands: nycCommands.main + }, + clean: { + description: 'should the .nyc_output folder be cleaned before executing tests', + type: 'boolean', + default: true, + nycCommands: nycCommands.main + } +}; + +const instrumentOnly = { + inPlace: { + description: 'should nyc run the instrumentation in place?', + type: 'boolean', + default: false, + nycCommands: nycCommands.instrumentOnly + }, + exitOnError: { + description: 'should nyc exit when an instrumentation failure occurs?', + type: 'boolean', + default: false, + nycCommands: nycCommands.instrumentOnly + }, + delete: { + description: 'should the output folder be deleted before instrumenting files?', + type: 'boolean', + default: false, + nycCommands: nycCommands.instrumentOnly + }, + completeCopy: { + description: 'should nyc copy all files from input to output as well as instrumented files?', + type: 'boolean', + default: false, + nycCommands: nycCommands.instrumentOnly + } +}; + +const nyc = { + description: 'nyc configuration options', + type: 'object', + properties: { + cwd, + nycrcPath, + tempDir, + + /* Test Exclude */ + ...testExclude, + + /* Instrumentation settings */ + ...instrumentVisitor, + + /* Instrumentation parser/generator settings */ + ...instrumentParseGen, + sourceMap: { + description: 'should nyc detect and handle source maps?', + type: 'boolean', + default: true, + nycCommands: nycCommands.instrument + }, + require: { + description: 'a list of additional modules that nyc should attempt to require in its subprocess, e.g., @babel/register, @babel/polyfill', + type: 'array', + items: { + type: 'string' + }, + default: [], + nycCommands: nycCommands.instrument, + nycAlias: 'i' + }, + instrument: { + description: 'should nyc handle instrumentation?', + type: 'boolean', + default: true, + nycCommands: nycCommands.instrument + }, + + /* Check coverage */ + ...checkCoverage, + + /* Report options */ + ...report, + + /* Main command options */ + ...nycMain, + + /* Instrument command options */ + ...instrumentOnly + } +}; + +const configs = { + nyc, + testExclude: { + description: 'test-exclude options', + type: 'object', + properties: { + cwd, + ...testExclude + } + }, + babelPluginIstanbul: { + description: 'babel-plugin-istanbul options', + type: 'object', + properties: { + cwd, + ...testExclude, + ...instrumentVisitor + } + }, + instrumentVisitor: { + description: 'instrument visitor options', + type: 'object', + properties: instrumentVisitor + }, + instrumenter: { + description: 'stand-alone instrumenter options', + type: 'object', + properties: { + ...instrumentVisitor, + ...instrumentParseGen + } + } +}; + +function defaultsReducer(defaults, [name, {default: value}]) { + /* Modifying arrays in defaults is safe, does not change schema. */ + if (Array.isArray(value)) { + value = [...value]; + } + + return Object.assign(defaults, {[name]: value}); +} + +module.exports = { + ...configs, + defaults: Object.keys(configs).reduce( + (defaults, id) => { + Object.defineProperty(defaults, id, { + enumerable: true, + get() { + /* This defers `process.cwd()` until defaults are requested. */ + return Object.entries(configs[id].properties) + .filter(([, info]) => 'default' in info) + .reduce(defaultsReducer, {}); + } + }); + + return defaults; + }, + {} + ) +}; diff --git a/node_modules/@istanbuljs/schema/package.json b/node_modules/@istanbuljs/schema/package.json new file mode 100644 index 00000000..1d22cde9 --- /dev/null +++ b/node_modules/@istanbuljs/schema/package.json @@ -0,0 +1,30 @@ +{ + "name": "@istanbuljs/schema", + "version": "0.1.3", + "description": "Schemas describing various structures used by nyc and istanbuljs", + "main": "index.js", + "scripts": { + "release": "standard-version --sign", + "pretest": "xo", + "test": "tap", + "snap": "npm test -- --snapshot" + }, + "engines": { + "node": ">=8" + }, + "author": "Corey Farrell", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/istanbuljs/schema.git" + }, + "bugs": { + "url": "https://github.com/istanbuljs/schema/issues" + }, + "homepage": "https://github.com/istanbuljs/schema#readme", + "devDependencies": { + "standard-version": "^7.0.0", + "tap": "^14.6.7", + "xo": "^0.25.3" + } +} diff --git a/node_modules/@octokit/auth-token/LICENSE b/node_modules/@octokit/auth-token/LICENSE new file mode 100644 index 00000000..ef2c18ee --- /dev/null +++ b/node_modules/@octokit/auth-token/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/@octokit/auth-token/README.md b/node_modules/@octokit/auth-token/README.md new file mode 100644 index 00000000..a1f6d359 --- /dev/null +++ b/node_modules/@octokit/auth-token/README.md @@ -0,0 +1,290 @@ +# auth-token.js + +> GitHub API token authentication for browsers and Node.js + +[![@latest](https://img.shields.io/npm/v/@octokit/auth-token.svg)](https://www.npmjs.com/package/@octokit/auth-token) +[![Build Status](https://github.com/octokit/auth-token.js/workflows/Test/badge.svg)](https://github.com/octokit/auth-token.js/actions?query=workflow%3ATest) + +`@octokit/auth-token` is the simplest of [GitHub’s authentication strategies](https://github.com/octokit/auth.js). + +It is useful if you want to support multiple authentication strategies, as it’s API is compatible with its sibling packages for [basic](https://github.com/octokit/auth-basic.js), [GitHub App](https://github.com/octokit/auth-app.js) and [OAuth app](https://github.com/octokit/auth.js) authentication. + + + +- [Usage](#usage) +- [`createTokenAuth(token) options`](#createtokenauthtoken-options) +- [`auth()`](#auth) +- [Authentication object](#authentication-object) +- [`auth.hook(request, route, options)` or `auth.hook(request, options)`](#authhookrequest-route-options-or-authhookrequest-options) +- [Find more information](#find-more-information) + - [Find out what scopes are enabled for oauth tokens](#find-out-what-scopes-are-enabled-for-oauth-tokens) + - [Find out if token is a personal access token or if it belongs to an OAuth app](#find-out-if-token-is-a-personal-access-token-or-if-it-belongs-to-an-oauth-app) + - [Find out what permissions are enabled for a repository](#find-out-what-permissions-are-enabled-for-a-repository) + - [Use token for git operations](#use-token-for-git-operations) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/auth-token` directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with npm install @octokit/auth-token + +```js +const { createTokenAuth } = require("@octokit/auth-token"); +// or: import { createTokenAuth } from "@octokit/auth-token"; +``` + +
+ +```js +const auth = createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +const authentication = await auth(); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } +``` + +## `createTokenAuth(token) options` + +The `createTokenAuth` method accepts a single argument of type string, which is the token. The passed token can be one of the following: + +- [Personal access token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) +- [OAuth access token](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/) +- [GITHUB_TOKEN provided to GitHub Actions](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) +- Installation access token ([server-to-server](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)) +- User authentication for installation ([user-to-server](https://docs.github.com/en/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)) + +Examples + +```js +// Personal access token or OAuth access token +createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghs_InstallallationOrActionToken00000000"); +// { +// type: 'token', +// token: 'ghs_InstallallationOrActionToken00000000', +// tokenType: 'installation' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghu_InstallationUserToServer000000000000"); +// { +// type: 'token', +// token: 'ghu_InstallationUserToServer000000000000', +// tokenType: 'user-to-server' +// } +``` + +## `auth()` + +The `auth()` method has no options. It returns a promise which resolves with the the authentication object. + +## Authentication object + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ type + + string + + "token" +
+ token + + string + + The provided token. +
+ tokenType + + string + + Can be either "oauth" for personal access tokens and OAuth tokens, "installation" for installation access tokens (includes GITHUB_TOKEN provided to GitHub Actions), "app" for a GitHub App JSON Web Token, or "user-to-server" for a user authentication token through an app installation. +
+ +## `auth.hook(request, route, options)` or `auth.hook(request, options)` + +`auth.hook()` hooks directly into the request life cycle. It authenticates the request using the provided token. + +The `request` option is an instance of [`@octokit/request`](https://github.com/octokit/request.js#readme). The `route`/`options` parameters are the same as for the [`request()` method](https://github.com/octokit/request.js#request). + +`auth.hook()` can be called directly to send an authenticated request + +```js +const { data: authorizations } = await auth.hook( + request, + "GET /authorizations" +); +``` + +Or it can be passed as option to [`request()`](https://github.com/octokit/request.js#request). + +```js +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { data: authorizations } = await requestWithAuth("GET /authorizations"); +``` + +## Find more information + +`auth()` does not send any requests, it only transforms the provided token string into an authentication object. + +Here is a list of things you can do to retrieve further information + +### Find out what scopes are enabled for oauth tokens + +Note that this does not work for installations. There is no way to retrieve permissions based on an installation access tokens. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /", { + headers: authentication.headers, +}); +const scopes = response.headers["x-oauth-scopes"].split(/,\s+/); + +if (scopes.length) { + console.log( + `"${TOKEN}" has ${scopes.length} scopes enabled: ${scopes.join(", ")}` + ); +} else { + console.log(`"${TOKEN}" has no scopes enabled`); +} +``` + +### Find out if token is a personal access token or if it belongs to an OAuth app + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /", { + headers: authentication.headers, +}); +const clientId = response.headers["x-oauth-client-id"]; + +if (clientId) { + console.log( + `"${token}" is an OAuth token, its app’s client_id is ${clientId}.` + ); +} else { + console.log(`"${token}" is a personal access token`); +} +``` + +### Find out what permissions are enabled for a repository + +Note that the `permissions` key is not set when authenticated using an installation access token. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("GET /repos/{owner}/{repo}", { + owner: 'octocat', + repo: 'hello-world' + headers: authentication.headers +}); + +console.log(response.data.permissions) +// { +// admin: true, +// push: true, +// pull: true +// } +``` + +### Use token for git operations + +Both OAuth and installation access tokens can be used for git operations. However, when using with an installation, [the token must be prefixed with `x-access-token`](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#http-based-git-access-by-an-installation). + +This example is using the [`execa`](https://github.com/sindresorhus/execa) package to run a `git push` command. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const { token, tokenType } = await auth(); +const tokenWithPrefix = + tokenType === "installation" ? `x-access-token:${token}` : token; + +const repositoryUrl = `https://${tokenWithPrefix}@github.com/octocat/hello-world.git`; + +const { stdout } = await execa("git", ["push", repositoryUrl]); +console.log(stdout); +``` + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/auth-token/dist-node/index.js b/node_modules/@octokit/auth-token/dist-node/index.js new file mode 100644 index 00000000..af0f0a62 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-node/index.js @@ -0,0 +1,55 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token: token, + tokenType + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; + +exports.createTokenAuth = createTokenAuth; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/auth-token/dist-node/index.js.map b/node_modules/@octokit/auth-token/dist-node/index.js.map new file mode 100644 index 00000000..af0c2e20 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nexport async function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) ||\n REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp\n ? \"app\"\n : isInstallation\n ? \"installation\"\n : isUserToServer\n ? \"user-to-server\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType,\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token),\n });\n};\n"],"names":["REGEX_IS_INSTALLATION_LEGACY","REGEX_IS_INSTALLATION","REGEX_IS_USER_TO_SERVER","auth","token","isApp","split","length","isInstallation","test","isUserToServer","tokenType","type","withAuthorizationPrefix","hook","request","route","parameters","endpoint","merge","headers","authorization","createTokenAuth","Error","replace","Object","assign","bind"],"mappings":";;;;AAAA,MAAMA,4BAA4B,GAAG,OAArC;AACA,MAAMC,qBAAqB,GAAG,OAA9B;AACA,MAAMC,uBAAuB,GAAG,OAAhC;AACO,eAAeC,IAAf,CAAoBC,KAApB,EAA2B;AAC9B,QAAMC,KAAK,GAAGD,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAA3C;AACA,QAAMC,cAAc,GAAGR,4BAA4B,CAACS,IAA7B,CAAkCL,KAAlC,KACnBH,qBAAqB,CAACQ,IAAtB,CAA2BL,KAA3B,CADJ;AAEA,QAAMM,cAAc,GAAGR,uBAAuB,CAACO,IAAxB,CAA6BL,KAA7B,CAAvB;AACA,QAAMO,SAAS,GAAGN,KAAK,GACjB,KADiB,GAEjBG,cAAc,GACV,cADU,GAEVE,cAAc,GACV,gBADU,GAEV,OANd;AAOA,SAAO;AACHE,IAAAA,IAAI,EAAE,OADH;AAEHR,IAAAA,KAAK,EAAEA,KAFJ;AAGHO,IAAAA;AAHG,GAAP;AAKH;;ACpBD;AACA;AACA;AACA;AACA;AACA,AAAO,SAASE,uBAAT,CAAiCT,KAAjC,EAAwC;AAC3C,MAAIA,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAAjC,EAAoC;AAChC,WAAQ,UAASH,KAAM,EAAvB;AACH;;AACD,SAAQ,SAAQA,KAAM,EAAtB;AACH;;ACTM,eAAeU,IAAf,CAAoBV,KAApB,EAA2BW,OAA3B,EAAoCC,KAApC,EAA2CC,UAA3C,EAAuD;AAC1D,QAAMC,QAAQ,GAAGH,OAAO,CAACG,QAAR,CAAiBC,KAAjB,CAAuBH,KAAvB,EAA8BC,UAA9B,CAAjB;AACAC,EAAAA,QAAQ,CAACE,OAAT,CAAiBC,aAAjB,GAAiCR,uBAAuB,CAACT,KAAD,CAAxD;AACA,SAAOW,OAAO,CAACG,QAAD,CAAd;AACH;;MCHYI,eAAe,GAAG,SAASA,eAAT,CAAyBlB,KAAzB,EAAgC;AAC3D,MAAI,CAACA,KAAL,EAAY;AACR,UAAM,IAAImB,KAAJ,CAAU,0DAAV,CAAN;AACH;;AACD,MAAI,OAAOnB,KAAP,KAAiB,QAArB,EAA+B;AAC3B,UAAM,IAAImB,KAAJ,CAAU,uEAAV,CAAN;AACH;;AACDnB,EAAAA,KAAK,GAAGA,KAAK,CAACoB,OAAN,CAAc,oBAAd,EAAoC,EAApC,CAAR;AACA,SAAOC,MAAM,CAACC,MAAP,CAAcvB,IAAI,CAACwB,IAAL,CAAU,IAAV,EAAgBvB,KAAhB,CAAd,EAAsC;AACzCU,IAAAA,IAAI,EAAEA,IAAI,CAACa,IAAL,CAAU,IAAV,EAAgBvB,KAAhB;AADmC,GAAtC,CAAP;AAGH,CAXM;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/auth-token/dist-src/auth.js b/node_modules/@octokit/auth-token/dist-src/auth.js new file mode 100644 index 00000000..b22ce98f --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/auth.js @@ -0,0 +1,21 @@ +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +export async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || + REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp + ? "app" + : isInstallation + ? "installation" + : isUserToServer + ? "user-to-server" + : "oauth"; + return { + type: "token", + token: token, + tokenType, + }; +} diff --git a/node_modules/@octokit/auth-token/dist-src/hook.js b/node_modules/@octokit/auth-token/dist-src/hook.js new file mode 100644 index 00000000..f8e47f0c --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/hook.js @@ -0,0 +1,6 @@ +import { withAuthorizationPrefix } from "./with-authorization-prefix"; +export async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} diff --git a/node_modules/@octokit/auth-token/dist-src/index.js b/node_modules/@octokit/auth-token/dist-src/index.js new file mode 100644 index 00000000..f2ddd639 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/index.js @@ -0,0 +1,14 @@ +import { auth } from "./auth"; +import { hook } from "./hook"; +export const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token), + }); +}; diff --git a/node_modules/@octokit/auth-token/dist-src/types.js b/node_modules/@octokit/auth-token/dist-src/types.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js b/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js new file mode 100644 index 00000000..90358136 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js @@ -0,0 +1,11 @@ +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +export function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} diff --git a/node_modules/@octokit/auth-token/dist-types/auth.d.ts b/node_modules/@octokit/auth-token/dist-types/auth.d.ts new file mode 100644 index 00000000..dc418358 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/auth.d.ts @@ -0,0 +1,2 @@ +import { Token, Authentication } from "./types"; +export declare function auth(token: Token): Promise; diff --git a/node_modules/@octokit/auth-token/dist-types/hook.d.ts b/node_modules/@octokit/auth-token/dist-types/hook.d.ts new file mode 100644 index 00000000..21e4b6fc --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/hook.d.ts @@ -0,0 +1,2 @@ +import { AnyResponse, EndpointOptions, RequestInterface, RequestParameters, Route, Token } from "./types"; +export declare function hook(token: Token, request: RequestInterface, route: Route | EndpointOptions, parameters?: RequestParameters): Promise; diff --git a/node_modules/@octokit/auth-token/dist-types/index.d.ts b/node_modules/@octokit/auth-token/dist-types/index.d.ts new file mode 100644 index 00000000..59994293 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/index.d.ts @@ -0,0 +1,7 @@ +import { StrategyInterface, Token, Authentication } from "./types"; +export declare type Types = { + StrategyOptions: Token; + AuthOptions: never; + Authentication: Authentication; +}; +export declare const createTokenAuth: StrategyInterface; diff --git a/node_modules/@octokit/auth-token/dist-types/types.d.ts b/node_modules/@octokit/auth-token/dist-types/types.d.ts new file mode 100644 index 00000000..0ae24de8 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/types.d.ts @@ -0,0 +1,33 @@ +import * as OctokitTypes from "@octokit/types"; +export declare type AnyResponse = OctokitTypes.OctokitResponse; +export declare type StrategyInterface = OctokitTypes.StrategyInterface<[ + Token +], [ +], Authentication>; +export declare type EndpointDefaults = OctokitTypes.EndpointDefaults; +export declare type EndpointOptions = OctokitTypes.EndpointOptions; +export declare type RequestParameters = OctokitTypes.RequestParameters; +export declare type RequestInterface = OctokitTypes.RequestInterface; +export declare type Route = OctokitTypes.Route; +export declare type Token = string; +export declare type OAuthTokenAuthentication = { + type: "token"; + tokenType: "oauth"; + token: Token; +}; +export declare type InstallationTokenAuthentication = { + type: "token"; + tokenType: "installation"; + token: Token; +}; +export declare type AppAuthentication = { + type: "token"; + tokenType: "app"; + token: Token; +}; +export declare type UserToServerAuthentication = { + type: "token"; + tokenType: "user-to-server"; + token: Token; +}; +export declare type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication | UserToServerAuthentication; diff --git a/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts b/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts new file mode 100644 index 00000000..2e52c31d --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts @@ -0,0 +1,6 @@ +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +export declare function withAuthorizationPrefix(token: string): string; diff --git a/node_modules/@octokit/auth-token/dist-web/index.js b/node_modules/@octokit/auth-token/dist-web/index.js new file mode 100644 index 00000000..8b1cd7df --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-web/index.js @@ -0,0 +1,55 @@ +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || + REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp + ? "app" + : isInstallation + ? "installation" + : isUserToServer + ? "user-to-server" + : "oauth"; + return { + type: "token", + token: token, + tokenType, + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token), + }); +}; + +export { createTokenAuth }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/auth-token/dist-web/index.js.map b/node_modules/@octokit/auth-token/dist-web/index.js.map new file mode 100644 index 00000000..1d6197bf --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nexport async function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) ||\n REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp\n ? \"app\"\n : isInstallation\n ? \"installation\"\n : isUserToServer\n ? \"user-to-server\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType,\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token),\n });\n};\n"],"names":[],"mappings":"AAAA,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAC7C,MAAM,qBAAqB,GAAG,OAAO,CAAC;AACtC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AACjC,eAAe,IAAI,CAAC,KAAK,EAAE;AAClC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACjD,IAAI,MAAM,cAAc,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC;AACnE,QAAQ,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,IAAI,MAAM,cAAc,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,SAAS,GAAG,KAAK;AAC3B,UAAU,KAAK;AACf,UAAU,cAAc;AACxB,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,kBAAkB,gBAAgB;AAClC,kBAAkB,OAAO,CAAC;AAC1B,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,OAAO;AACrB,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,SAAS;AACjB,KAAK,CAAC;AACN;;ACpBA;AACA;AACA;AACA;AACA;AACA,AAAO,SAAS,uBAAuB,CAAC,KAAK,EAAE;AAC/C,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACxC,QAAQ,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5B,CAAC;;ACTM,eAAe,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;AAC9D,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC/D,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACpE,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;;ACHW,MAAC,eAAe,GAAG,SAAS,eAAe,CAAC,KAAK,EAAE;AAC/D,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AACpF,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AACjG,KAAK;AACL,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACpD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACjD,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACpC,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/auth-token/package.json b/node_modules/@octokit/auth-token/package.json new file mode 100644 index 00000000..1b0df719 --- /dev/null +++ b/node_modules/@octokit/auth-token/package.json @@ -0,0 +1,45 @@ +{ + "name": "@octokit/auth-token", + "description": "GitHub API token authentication for browsers and Node.js", + "version": "2.5.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "octokit", + "authentication", + "api" + ], + "repository": "github:octokit/auth-token.js", + "dependencies": { + "@octokit/types": "^6.0.3" + }, + "devDependencies": { + "@octokit/core": "^3.0.0", + "@octokit/request": "^5.3.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^27.0.0", + "fetch-mock": "^9.0.0", + "jest": "^27.0.0", + "prettier": "2.4.1", + "semantic-release": "^17.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.0" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/core/LICENSE b/node_modules/@octokit/core/LICENSE new file mode 100644 index 00000000..ef2c18ee --- /dev/null +++ b/node_modules/@octokit/core/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/@octokit/core/README.md b/node_modules/@octokit/core/README.md new file mode 100644 index 00000000..b540cb93 --- /dev/null +++ b/node_modules/@octokit/core/README.md @@ -0,0 +1,448 @@ +# core.js + +> Extendable client for GitHub's REST & GraphQL APIs + +[![@latest](https://img.shields.io/npm/v/@octokit/core.svg)](https://www.npmjs.com/package/@octokit/core) +[![Build Status](https://github.com/octokit/core.js/workflows/Test/badge.svg)](https://github.com/octokit/core.js/actions?query=workflow%3ATest+branch%3Amaster) + + + +- [Usage](#usage) + - [REST API example](#rest-api-example) + - [GraphQL example](#graphql-example) +- [Options](#options) +- [Defaults](#defaults) +- [Authentication](#authentication) +- [Logging](#logging) +- [Hooks](#hooks) +- [Plugins](#plugins) +- [Build your own Octokit with Plugins and Defaults](#build-your-own-octokit-with-plugins-and-defaults) +- [LICENSE](#license) + + + +If you need a minimalistic library to utilize GitHub's [REST API](https://developer.github.com/v3/) and [GraphQL API](https://developer.github.com/v4/) which you can extend with plugins as needed, then `@octokit/core` is a great starting point. + +If you don't need the Plugin API then using [`@octokit/request`](https://github.com/octokit/request.js/) or [`@octokit/graphql`](https://github.com/octokit/graphql.js/) directly is a good alternative. + +## Usage + + + + + + +
+Browsers + +Load @octokit/core directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/core + +```js +const { Octokit } = require("@octokit/core"); +// or: import { Octokit } from "@octokit/core"; +``` + +
+ +### REST API example + +```js +// Create a personal access token at https://github.com/settings/tokens/new?scopes=repo +const octokit = new Octokit({ auth: `personal-access-token123` }); + +const response = await octokit.request("GET /orgs/{org}/repos", { + org: "octokit", + type: "private", +}); +``` + +See [`@octokit/request`](https://github.com/octokit/request.js) for full documentation of the `.request` method. + +### GraphQL example + +```js +const octokit = new Octokit({ auth: `secret123` }); + +const response = await octokit.graphql( + `query ($login: String!) { + organization(login: $login) { + repositories(privacy: PRIVATE) { + totalCount + } + } + }`, + { login: "octokit" } +); +``` + +See [`@octokit/graphql`](https://github.com/octokit/graphql.js) for full documentation of the `.graphql` method. + +## Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ options.authStrategy + + Function + + Defaults to @octokit/auth-token. See Authentication below for examples. +
+ options.auth + + String or Object + + See Authentication below for examples. +
+ options.baseUrl + + String + + +When using with GitHub Enterprise Server, set `options.baseUrl` to the root URL of the API. For example, if your GitHub Enterprise Server's hostname is `github.acme-inc.com`, then set `options.baseUrl` to `https://github.acme-inc.com/api/v3`. Example + +```js +const octokit = new Octokit({ + baseUrl: "https://github.acme-inc.com/api/v3", +}); +``` + +
+ options.previews + + Array of Strings + + +Some REST API endpoints require preview headers to be set, or enable +additional features. Preview headers can be set on a per-request basis, e.g. + +```js +octokit.request("POST /repos/{owner}/{repo}/pulls", { + mediaType: { + previews: ["shadow-cat"], + }, + owner, + repo, + title: "My pull request", + base: "master", + head: "my-feature", + draft: true, +}); +``` + +You can also set previews globally, by setting the `options.previews` option on the constructor. Example: + +```js +const octokit = new Octokit({ + previews: ["shadow-cat"], +}); +``` + +
+ options.request + + Object + + +Set a default request timeout (`options.request.timeout`) or an [`http(s).Agent`](https://nodejs.org/api/http.html#http_class_http_agent) e.g. for proxy usage (Node only, `options.request.agent`). + +There are more `options.request.*` options, see [`@octokit/request` options](https://github.com/octokit/request.js#request). `options.request` can also be set on a per-request basis. + +
+ options.timeZone + + String + + +Sets the `Time-Zone` header which defines a timezone according to the [list of names from the Olson database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + +```js +const octokit = new Octokit({ + timeZone: "America/Los_Angeles", +}); +``` + +The time zone header will determine the timezone used for generating the timestamp when creating commits. See [GitHub's Timezones documentation](https://developer.github.com/v3/#timezones). + +
+ options.userAgent + + String + + +A custom user agent string for your app or library. Example + +```js +const octokit = new Octokit({ + userAgent: "my-app/v1.2.3", +}); +``` + +
+ +## Defaults + +You can create a new Octokit class with customized default options. + +```js +const MyOctokit = Octokit.defaults({ + auth: "personal-access-token123", + baseUrl: "https://github.acme-inc.com/api/v3", + userAgent: "my-app/v1.2.3", +}); +const octokit1 = new MyOctokit(); +const octokit2 = new MyOctokit(); +``` + +If you pass additional options to your new constructor, the options will be merged shallowly. + +```js +const MyOctokit = Octokit.defaults({ + foo: { + opt1: 1, + }, +}); +const octokit = new MyOctokit({ + foo: { + opt2: 1, + }, +}); +// options will be { foo: { opt2: 1 }} +``` + +If you need a deep or conditional merge, you can pass a function instead. + +```js +const MyOctokit = Octokit.defaults((options) => { + return { + foo: Object.assign({}, options.foo, { opt2: 1 }), + }; +}); +const octokit = new MyOctokit({ + foo: { opt2: 1 }, +}); +// options will be { foo: { opt1: 1, opt2: 1 }} +``` + +Be careful about mutating the `options` object in the `Octokit.defaults` callback, as it can have unforeseen consequences. + +## Authentication + +Authentication is optional for some REST API endpoints accessing public data, but is required for GraphQL queries. Using authentication also increases your [API rate limit](https://developer.github.com/v3/#rate-limiting). + +By default, Octokit authenticates using the [token authentication strategy](https://github.com/octokit/auth-token.js). Pass in a token using `options.auth`. It can be a personal access token, an OAuth token, an installation access token or a JSON Web Token for GitHub App authentication. The `Authorization` header will be set according to the type of token. + +```js +import { Octokit } from "@octokit/core"; + +const octokit = new Octokit({ + auth: "mypersonalaccesstoken123", +}); + +const { data } = await octokit.request("/user"); +``` + +To use a different authentication strategy, set `options.authStrategy`. A list of authentication strategies is available at [octokit/authentication-strategies.js](https://github.com/octokit/authentication-strategies.js/#readme). + +Example + +```js +import { Octokit } from "@octokit/core"; +import { createAppAuth } from "@octokit/auth-app"; + +const appOctokit = new Octokit({ + authStrategy: createAppAuth, + auth: { + appId: 123, + privateKey: process.env.PRIVATE_KEY, + }, +}); + +const { data } = await appOctokit.request("/app"); +``` + +The `.auth()` method returned by the current authentication strategy can be accessed at `octokit.auth()`. Example + +```js +const { token } = await appOctokit.auth({ + type: "installation", + installationId: 123, +}); +``` + +## Logging + +There are four built-in log methods + +1. `octokit.log.debug(message[, additionalInfo])` +1. `octokit.log.info(message[, additionalInfo])` +1. `octokit.log.warn(message[, additionalInfo])` +1. `octokit.log.error(message[, additionalInfo])` + +They can be configured using the [`log` client option](client-options). By default, `octokit.log.debug()` and `octokit.log.info()` are no-ops, while the other two call `console.warn()` and `console.error()` respectively. + +This is useful if you build reusable [plugins](#plugins). + +If you would like to make the log level configurable using an environment variable or external option, we recommend the [console-log-level](https://github.com/watson/console-log-level) package. Example + +```js +const octokit = new Octokit({ + log: require("console-log-level")({ level: "info" }), +}); +``` + +## Hooks + +You can customize Octokit's request lifecycle with hooks. + +```js +octokit.hook.before("request", async (options) => { + validate(options); +}); +octokit.hook.after("request", async (response, options) => { + console.log(`${options.method} ${options.url}: ${response.status}`); +}); +octokit.hook.error("request", async (error, options) => { + if (error.status === 304) { + return findInCache(error.response.headers.etag); + } + + throw error; +}); +octokit.hook.wrap("request", async (request, options) => { + // add logic before, after, catch errors or replace the request altogether + return request(options); +}); +``` + +See [before-after-hook](https://github.com/gr2m/before-after-hook#readme) for more documentation on hooks. + +## Plugins + +Octokit’s functionality can be extended using plugins. The `Octokit.plugin()` method accepts a plugin (or many) and returns a new constructor. + +A plugin is a function which gets two arguments: + +1. the current instance +2. the options passed to the constructor. + +In order to extend `octokit`'s API, the plugin must return an object with the new methods. + +```js +// index.js +const { Octokit } = require("@octokit/core") +const MyOctokit = Octokit.plugin( + require("./lib/my-plugin"), + require("octokit-plugin-example") +); + +const octokit = new MyOctokit({ greeting: "Moin moin" }); +octokit.helloWorld(); // logs "Moin moin, world!" +octokit.request("GET /"); // logs "GET / - 200 in 123ms" + +// lib/my-plugin.js +module.exports = (octokit, options = { greeting: "Hello" }) => { + // hook into the request lifecycle + octokit.hook.wrap("request", async (request, options) => { + const time = Date.now(); + const response = await request(options); + console.log( + `${options.method} ${options.url} – ${response.status} in ${Date.now() - + time}ms` + ); + return response; + }); + + // add a custom method + return { + helloWorld: () => console.log(`${options.greeting}, world!`); + } +}; +``` + +## Build your own Octokit with Plugins and Defaults + +You can build your own Octokit class with preset default options and plugins. In fact, this is mostly how the `@octokit/` modules work, such as [`@octokit/action`](https://github.com/octokit/action.js): + +```js +const { Octokit } = require("@octokit/core"); +const MyActionOctokit = Octokit.plugin( + require("@octokit/plugin-paginate-rest").paginateRest, + require("@octokit/plugin-throttling").throttling, + require("@octokit/plugin-retry").retry +).defaults({ + throttle: { + onAbuseLimit: (retryAfter, options) => { + /* ... */ + }, + onRateLimit: (retryAfter, options) => { + /* ... */ + }, + }, + authStrategy: require("@octokit/auth-action").createActionAuth, + userAgent: `my-octokit-action/v1.2.3`, +}); + +const octokit = new MyActionOctokit(); +const installations = await octokit.paginate("GET /app/installations"); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/core/dist-node/index.js b/node_modules/@octokit/core/dist-node/index.js new file mode 100644 index 00000000..0f46e61e --- /dev/null +++ b/node_modules/@octokit/core/dist-node/index.js @@ -0,0 +1,176 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var universalUserAgent = require('universal-user-agent'); +var beforeAfterHook = require('before-after-hook'); +var request = require('@octokit/request'); +var graphql = require('@octokit/graphql'); +var authToken = require('@octokit/auth-token'); + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + + var target = _objectWithoutPropertiesLoose(source, excluded); + + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +const VERSION = "3.6.0"; + +const _excluded = ["authStrategy"]; +class Octokit { + constructor(options = {}) { + const hook = new beforeAfterHook.Collection(); + const requestDefaults = { + baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; // prepend default user agent with `options.userAgent` if set + + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + + this.request = request.request.defaults(requestDefaults); + this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => {}, + info: () => {}, + warn: console.warn.bind(console), + error: console.error.bind(console) + }, options.log); + this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + // (2) + const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { + authStrategy + } = options, + otherOptions = _objectWithoutProperties(options, _excluded); + + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } // apply plugins + // https://stackoverflow.com/a/16345172 + + + const classConstructor = this.constructor; + classConstructor.plugins.forEach(plugin => { + Object.assign(this, plugin(this, options)); + }); + } + + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null)); + } + + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + + + static plugin(...newPlugins) { + var _a; + + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); + return NewOctokit; + } + +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +exports.Octokit = Octokit; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/core/dist-node/index.js.map b/node_modules/@octokit/core/dist-node/index.js.map new file mode 100644 index 00000000..3467e527 --- /dev/null +++ b/node_modules/@octokit/core/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":["VERSION","Octokit","constructor","options","hook","Collection","requestDefaults","baseUrl","request","endpoint","DEFAULTS","headers","Object","assign","bind","mediaType","previews","format","userAgent","getUserAgent","filter","Boolean","join","timeZone","defaults","graphql","withCustomRequest","log","debug","info","warn","console","error","authStrategy","auth","type","createTokenAuth","wrap","otherOptions","octokit","octokitOptions","classConstructor","plugins","forEach","plugin","OctokitWithDefaults","args","newPlugins","_a","currentPlugins","NewOctokit","concat","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;;ACAP,AAMO,MAAMC,OAAN,CAAc;AACjBC,EAAAA,WAAW,CAACC,OAAO,GAAG,EAAX,EAAe;AACtB,UAAMC,IAAI,GAAG,IAAIC,0BAAJ,EAAb;AACA,UAAMC,eAAe,GAAG;AACpBC,MAAAA,OAAO,EAAEC,eAAO,CAACC,QAAR,CAAiBC,QAAjB,CAA0BH,OADf;AAEpBI,MAAAA,OAAO,EAAE,EAFW;AAGpBH,MAAAA,OAAO,EAAEI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACK,OAA1B,EAAmC;AACxC;AACAJ,QAAAA,IAAI,EAAEA,IAAI,CAACU,IAAL,CAAU,IAAV,EAAgB,SAAhB;AAFkC,OAAnC,CAHW;AAOpBC,MAAAA,SAAS,EAAE;AACPC,QAAAA,QAAQ,EAAE,EADH;AAEPC,QAAAA,MAAM,EAAE;AAFD;AAPS,KAAxB,CAFsB;;AAetBX,IAAAA,eAAe,CAACK,OAAhB,CAAwB,YAAxB,IAAwC,CACpCR,OAAO,CAACe,SAD4B,EAEnC,mBAAkBlB,OAAQ,IAAGmB,+BAAY,EAAG,EAFT,EAInCC,MAJmC,CAI5BC,OAJ4B,EAKnCC,IALmC,CAK9B,GAL8B,CAAxC;;AAMA,QAAInB,OAAO,CAACI,OAAZ,EAAqB;AACjBD,MAAAA,eAAe,CAACC,OAAhB,GAA0BJ,OAAO,CAACI,OAAlC;AACH;;AACD,QAAIJ,OAAO,CAACa,QAAZ,EAAsB;AAClBV,MAAAA,eAAe,CAACS,SAAhB,CAA0BC,QAA1B,GAAqCb,OAAO,CAACa,QAA7C;AACH;;AACD,QAAIb,OAAO,CAACoB,QAAZ,EAAsB;AAClBjB,MAAAA,eAAe,CAACK,OAAhB,CAAwB,WAAxB,IAAuCR,OAAO,CAACoB,QAA/C;AACH;;AACD,SAAKf,OAAL,GAAeA,eAAO,CAACgB,QAAR,CAAiBlB,eAAjB,CAAf;AACA,SAAKmB,OAAL,GAAeC,yBAAiB,CAAC,KAAKlB,OAAN,CAAjB,CAAgCgB,QAAhC,CAAyClB,eAAzC,CAAf;AACA,SAAKqB,GAAL,GAAWf,MAAM,CAACC,MAAP,CAAc;AACrBe,MAAAA,KAAK,EAAE,MAAM,EADQ;AAErBC,MAAAA,IAAI,EAAE,MAAM,EAFS;AAGrBC,MAAAA,IAAI,EAAEC,OAAO,CAACD,IAAR,CAAahB,IAAb,CAAkBiB,OAAlB,CAHe;AAIrBC,MAAAA,KAAK,EAAED,OAAO,CAACC,KAAR,CAAclB,IAAd,CAAmBiB,OAAnB;AAJc,KAAd,EAKR5B,OAAO,CAACwB,GALA,CAAX;AAMA,SAAKvB,IAAL,GAAYA,IAAZ,CAtCsB;AAwCtB;AACA;AACA;AACA;;AACA,QAAI,CAACD,OAAO,CAAC8B,YAAb,EAA2B;AACvB,UAAI,CAAC9B,OAAO,CAAC+B,IAAb,EAAmB;AACf;AACA,aAAKA,IAAL,GAAY,aAAa;AACrBC,UAAAA,IAAI,EAAE;AADe,SAAb,CAAZ;AAGH,OALD,MAMK;AACD;AACA,cAAMD,IAAI,GAAGE,yBAAe,CAACjC,OAAO,CAAC+B,IAAT,CAA5B,CAFC;;AAID9B,QAAAA,IAAI,CAACiC,IAAL,CAAU,SAAV,EAAqBH,IAAI,CAAC9B,IAA1B;AACA,aAAK8B,IAAL,GAAYA,IAAZ;AACH;AACJ,KAdD,MAeK;AACD,YAAM;AAAED,QAAAA;AAAF,UAAoC9B,OAA1C;AAAA,YAAyBmC,YAAzB,4BAA0CnC,OAA1C;;AACA,YAAM+B,IAAI,GAAGD,YAAY,CAACrB,MAAM,CAACC,MAAP,CAAc;AACpCL,QAAAA,OAAO,EAAE,KAAKA,OADsB;AAEpCmB,QAAAA,GAAG,EAAE,KAAKA,GAF0B;AAGpC;AACA;AACA;AACA;AACA;AACAY,QAAAA,OAAO,EAAE,IAR2B;AASpCC,QAAAA,cAAc,EAAEF;AAToB,OAAd,EAUvBnC,OAAO,CAAC+B,IAVe,CAAD,CAAzB,CAFC;;AAcD9B,MAAAA,IAAI,CAACiC,IAAL,CAAU,SAAV,EAAqBH,IAAI,CAAC9B,IAA1B;AACA,WAAK8B,IAAL,GAAYA,IAAZ;AACH,KA3EqB;AA6EtB;;;AACA,UAAMO,gBAAgB,GAAG,KAAKvC,WAA9B;AACAuC,IAAAA,gBAAgB,CAACC,OAAjB,CAAyBC,OAAzB,CAAkCC,MAAD,IAAY;AACzChC,MAAAA,MAAM,CAACC,MAAP,CAAc,IAAd,EAAoB+B,MAAM,CAAC,IAAD,EAAOzC,OAAP,CAA1B;AACH,KAFD;AAGH;;AACc,SAARqB,QAAQ,CAACA,QAAD,EAAW;AACtB,UAAMqB,mBAAmB,GAAG,cAAc,IAAd,CAAmB;AAC3C3C,MAAAA,WAAW,CAAC,GAAG4C,IAAJ,EAAU;AACjB,cAAM3C,OAAO,GAAG2C,IAAI,CAAC,CAAD,CAAJ,IAAW,EAA3B;;AACA,YAAI,OAAOtB,QAAP,KAAoB,UAAxB,EAAoC;AAChC,gBAAMA,QAAQ,CAACrB,OAAD,CAAd;AACA;AACH;;AACD,cAAMS,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBW,QAAlB,EAA4BrB,OAA5B,EAAqCA,OAAO,CAACe,SAAR,IAAqBM,QAAQ,CAACN,SAA9B,GACrC;AACEA,UAAAA,SAAS,EAAG,GAAEf,OAAO,CAACe,SAAU,IAAGM,QAAQ,CAACN,SAAU;AADxD,SADqC,GAIrC,IAJA,CAAN;AAKH;;AAZ0C,KAA/C;AAcA,WAAO2B,mBAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACiB,SAAND,MAAM,CAAC,GAAGG,UAAJ,EAAgB;AACzB,QAAIC,EAAJ;;AACA,UAAMC,cAAc,GAAG,KAAKP,OAA5B;AACA,UAAMQ,UAAU,IAAIF,EAAE,GAAG,cAAc,IAAd,CAAmB,EAAxB,EAEhBA,EAAE,CAACN,OAAH,GAAaO,cAAc,CAACE,MAAf,CAAsBJ,UAAU,CAAC3B,MAAX,CAAmBwB,MAAD,IAAY,CAACK,cAAc,CAACG,QAAf,CAAwBR,MAAxB,CAA/B,CAAtB,CAFG,EAGhBI,EAHY,CAAhB;AAIA,WAAOE,UAAP;AACH;;AAnHgB;AAqHrBjD,OAAO,CAACD,OAAR,GAAkBA,OAAlB;AACAC,OAAO,CAACyC,OAAR,GAAkB,EAAlB;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/core/dist-src/index.js b/node_modules/@octokit/core/dist-src/index.js new file mode 100644 index 00000000..bdbc335b --- /dev/null +++ b/node_modules/@octokit/core/dist-src/index.js @@ -0,0 +1,125 @@ +import { getUserAgent } from "universal-user-agent"; +import { Collection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { withCustomRequest } from "@octokit/graphql"; +import { createTokenAuth } from "@octokit/auth-token"; +import { VERSION } from "./version"; +export class Octokit { + constructor(options = {}) { + const hook = new Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request"), + }), + mediaType: { + previews: [], + format: "", + }, + }; + // prepend default user agent with `options.userAgent` if set + requestDefaults.headers["user-agent"] = [ + options.userAgent, + `octokit-core.js/${VERSION} ${getUserAgent()}`, + ] + .filter(Boolean) + .join(" "); + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => { }, + info: () => { }, + warn: console.warn.bind(console), + error: console.error.bind(console), + }, options.log); + this.hook = hook; + // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated", + }); + } + else { + // (2) + const auth = createTokenAuth(options.auth); + // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + } + else { + const { authStrategy, ...otherOptions } = options; + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions, + }, options.auth)); + // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + // apply plugins + // https://stackoverflow.com/a/16345172 + const classConstructor = this.constructor; + classConstructor.plugins.forEach((plugin) => { + Object.assign(this, plugin(this, options)); + }); + } + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent + ? { + userAgent: `${options.userAgent} ${defaults.userAgent}`, + } + : null)); + } + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + var _a; + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this { + }, + _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), + _a); + return NewOctokit; + } +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; diff --git a/node_modules/@octokit/core/dist-src/types.js b/node_modules/@octokit/core/dist-src/types.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/core/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/core/dist-src/version.js b/node_modules/@octokit/core/dist-src/version.js new file mode 100644 index 00000000..bace1a91 --- /dev/null +++ b/node_modules/@octokit/core/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "3.6.0"; diff --git a/node_modules/@octokit/core/dist-types/index.d.ts b/node_modules/@octokit/core/dist-types/index.d.ts new file mode 100644 index 00000000..b757c5bc --- /dev/null +++ b/node_modules/@octokit/core/dist-types/index.d.ts @@ -0,0 +1,30 @@ +import { HookCollection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { graphql } from "@octokit/graphql"; +import { Constructor, Hooks, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types"; +export declare class Octokit { + static VERSION: string; + static defaults>(this: S, defaults: OctokitOptions | Function): S; + static plugins: OctokitPlugin[]; + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin & { + plugins: any[]; + }, T extends OctokitPlugin[]>(this: S, ...newPlugins: T): S & Constructor>>; + constructor(options?: OctokitOptions); + request: typeof request; + graphql: typeof graphql; + log: { + debug: (message: string, additionalInfo?: object) => any; + info: (message: string, additionalInfo?: object) => any; + warn: (message: string, additionalInfo?: object) => any; + error: (message: string, additionalInfo?: object) => any; + [key: string]: any; + }; + hook: HookCollection; + auth: (...args: unknown[]) => Promise; +} diff --git a/node_modules/@octokit/core/dist-types/types.d.ts b/node_modules/@octokit/core/dist-types/types.d.ts new file mode 100644 index 00000000..3970d0de --- /dev/null +++ b/node_modules/@octokit/core/dist-types/types.d.ts @@ -0,0 +1,44 @@ +import * as OctokitTypes from "@octokit/types"; +import { RequestError } from "@octokit/request-error"; +import { Octokit } from "."; +export declare type RequestParameters = OctokitTypes.RequestParameters; +export interface OctokitOptions { + authStrategy?: any; + auth?: any; + userAgent?: string; + previews?: string[]; + baseUrl?: string; + log?: { + debug: (message: string) => unknown; + info: (message: string) => unknown; + warn: (message: string) => unknown; + error: (message: string) => unknown; + }; + request?: OctokitTypes.RequestRequestOptions; + timeZone?: string; + [option: string]: any; +} +export declare type Constructor = new (...args: any[]) => T; +export declare type ReturnTypeOf = T extends AnyFunction ? ReturnType : T extends AnyFunction[] ? UnionToIntersection, void>> : never; +/** + * @author https://stackoverflow.com/users/2887218/jcalz + * @see https://stackoverflow.com/a/50375286/10325032 + */ +export declare type UnionToIntersection = (Union extends any ? (argument: Union) => void : never) extends (argument: infer Intersection) => void ? Intersection : never; +declare type AnyFunction = (...args: any) => any; +export declare type OctokitPlugin = (octokit: Octokit, options: OctokitOptions) => { + [key: string]: any; +} | void; +export declare type Hooks = { + request: { + Options: Required; + Result: OctokitTypes.OctokitResponse; + Error: RequestError | Error; + }; + [key: string]: { + Options: unknown; + Result: unknown; + Error: unknown; + }; +}; +export {}; diff --git a/node_modules/@octokit/core/dist-types/version.d.ts b/node_modules/@octokit/core/dist-types/version.d.ts new file mode 100644 index 00000000..f1a3d022 --- /dev/null +++ b/node_modules/@octokit/core/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "3.6.0"; diff --git a/node_modules/@octokit/core/dist-web/index.js b/node_modules/@octokit/core/dist-web/index.js new file mode 100644 index 00000000..741d2317 --- /dev/null +++ b/node_modules/@octokit/core/dist-web/index.js @@ -0,0 +1,130 @@ +import { getUserAgent } from 'universal-user-agent'; +import { Collection } from 'before-after-hook'; +import { request } from '@octokit/request'; +import { withCustomRequest } from '@octokit/graphql'; +import { createTokenAuth } from '@octokit/auth-token'; + +const VERSION = "3.6.0"; + +class Octokit { + constructor(options = {}) { + const hook = new Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request"), + }), + mediaType: { + previews: [], + format: "", + }, + }; + // prepend default user agent with `options.userAgent` if set + requestDefaults.headers["user-agent"] = [ + options.userAgent, + `octokit-core.js/${VERSION} ${getUserAgent()}`, + ] + .filter(Boolean) + .join(" "); + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => { }, + info: () => { }, + warn: console.warn.bind(console), + error: console.error.bind(console), + }, options.log); + this.hook = hook; + // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated", + }); + } + else { + // (2) + const auth = createTokenAuth(options.auth); + // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + } + else { + const { authStrategy, ...otherOptions } = options; + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions, + }, options.auth)); + // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + // apply plugins + // https://stackoverflow.com/a/16345172 + const classConstructor = this.constructor; + classConstructor.plugins.forEach((plugin) => { + Object.assign(this, plugin(this, options)); + }); + } + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent + ? { + userAgent: `${options.userAgent} ${defaults.userAgent}`, + } + : null)); + } + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + var _a; + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this { + }, + _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), + _a); + return NewOctokit; + } +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +export { Octokit }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/core/dist-web/index.js.map b/node_modules/@octokit/core/dist-web/index.js.map new file mode 100644 index 00000000..238c82e7 --- /dev/null +++ b/node_modules/@octokit/core/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":[],"mappings":";;;;;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACMnC,MAAM,OAAO,CAAC;AACrB,IAAI,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE;AAC9B,QAAQ,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;AACtC,QAAQ,MAAM,eAAe,GAAG;AAChC,YAAY,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO;AACtD,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE;AACxD;AACA,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AAChD,aAAa,CAAC;AACd,YAAY,SAAS,EAAE;AACvB,gBAAgB,QAAQ,EAAE,EAAE;AAC5B,gBAAgB,MAAM,EAAE,EAAE;AAC1B,aAAa;AACb,SAAS,CAAC;AACV;AACA,QAAQ,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG;AAChD,YAAY,OAAO,CAAC,SAAS;AAC7B,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AAC1D,SAAS;AACT,aAAa,MAAM,CAAC,OAAO,CAAC;AAC5B,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAC7B,YAAY,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtD,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClE,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;AACpE,SAAS;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACzD,QAAQ,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACjF,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;AACjC,YAAY,KAAK,EAAE,MAAM,GAAG;AAC5B,YAAY,IAAI,EAAE,MAAM,GAAG;AAC3B,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,YAAY,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACxB,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACnC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/B;AACA,gBAAgB,IAAI,CAAC,IAAI,GAAG,aAAa;AACzC,oBAAoB,IAAI,EAAE,iBAAiB;AAC3C,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB;AACjB;AACA,gBAAgB,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3D;AACA,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,gBAAgB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;AAC9D,YAAY,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACpD,gBAAgB,OAAO,EAAE,IAAI,CAAC,OAAO;AACrC,gBAAgB,GAAG,EAAE,IAAI,CAAC,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,cAAc,EAAE,YAAY;AAC5C,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B;AACA,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAY,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7B,SAAS;AACT;AACA;AACA,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;AAClD,QAAQ,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;AACrD,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE;AAC9B,QAAQ,MAAM,mBAAmB,GAAG,cAAc,IAAI,CAAC;AACvD,YAAY,WAAW,CAAC,GAAG,IAAI,EAAE;AACjC,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,gBAAgB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACpD,oBAAoB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;AAClG,sBAAsB;AACtB,wBAAwB,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/E,qBAAqB;AACrB,sBAAsB,IAAI,CAAC,CAAC,CAAC;AAC7B,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,OAAO,mBAAmB,CAAC;AACnC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,GAAG,UAAU,EAAE;AACjC,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;AAC5C,QAAQ,MAAM,UAAU,IAAI,EAAE,GAAG,cAAc,IAAI,CAAC;AACpD,aAAa;AACb,YAAY,EAAE,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/G,YAAY,EAAE,CAAC,CAAC;AAChB,QAAQ,OAAO,UAAU,CAAC;AAC1B,KAAK;AACL,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/core/package.json b/node_modules/@octokit/core/package.json new file mode 100644 index 00000000..548e76c9 --- /dev/null +++ b/node_modules/@octokit/core/package.json @@ -0,0 +1,57 @@ +{ + "name": "@octokit/core", + "description": "Extendable client for GitHub's REST & GraphQL APIs", + "version": "3.6.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "sdk", + "toolkit" + ], + "repository": "github:octokit/core.js", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@octokit/auth": "^3.0.1", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^27.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "http-proxy-agent": "^5.0.0", + "jest": "^27.0.0", + "lolex": "^6.0.0", + "prettier": "2.4.1", + "proxy": "^1.0.1", + "semantic-release": "^18.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^27.0.0", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/endpoint/LICENSE b/node_modules/@octokit/endpoint/LICENSE new file mode 100644 index 00000000..af5366d0 --- /dev/null +++ b/node_modules/@octokit/endpoint/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2018 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/endpoint/README.md new file mode 100644 index 00000000..1e5153fa --- /dev/null +++ b/node_modules/@octokit/endpoint/README.md @@ -0,0 +1,421 @@ +# endpoint.js + +> Turns GitHub REST API endpoints into generic request options + +[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) +![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg) + +`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. + + + + + +- [Usage](#usage) +- [API](#api) + - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) + - [`endpoint.defaults()`](#endpointdefaults) + - [`endpoint.DEFAULTS`](#endpointdefaults) + - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) + - [`endpoint.parse()`](#endpointparse) +- [Special cases](#special-cases) + - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) + - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) +- [LICENSE](#license) + + + +## Usage + + + + + + +
+Browsers + +Load @octokit/endpoint directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/endpoint + +```js +const { endpoint } = require("@octokit/endpoint"); +// or: import { endpoint } from "@octokit/endpoint"; +``` + +
+ +Example for [List organization repositories](https://developer.github.com/v3/repos/#list-organization-repositories) + +```js +const requestOptions = endpoint("GET /orgs/{org}/repos", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); +``` + +The resulting `requestOptions` looks as follows + +```json +{ + "method": "GET", + "url": "https://api.github.com/orgs/octokit/repos?type=private", + "headers": { + "accept": "application/vnd.github.v3+json", + "authorization": "token 0000000000000000000000000000000000000001", + "user-agent": "octokit/endpoint.js v1.2.3" + } +} +``` + +You can pass `requestOptions` to common request libraries + +```js +const { url, ...options } = requestOptions; +// using with fetch (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) +fetch(url, options); +// using with request (https://github.com/request/request) +request(requestOptions); +// using with got (https://github.com/sindresorhus/got) +got[options.method](url, options); +// using with axios +axios(requestOptions); +``` + +## API + +### `endpoint(route, options)` or `endpoint(options)` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + If set, it has to be a string consisting of URL and the request method, e.g., GET /orgs/{org}. If it’s set to a URL, only the method defaults to GET. +
+ options.method + + String + + Required unless route is set. Any supported http verb. Defaults to GET. +
+ options.url + + String + + Required unless route is set. A path or full URL which may contain :variable or {variable} placeholders, + e.g., /orgs/{org}/repos. The url is parsed using url-template. +
+ options.baseUrl + + String + + Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-endpoint.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
+
+ options.mediaType.format + + String + + Media type param, such as raw, diff, or text+json. See Media Types. Setting options.mediaType.format will amend the headers.accept value. +
+ options.mediaType.previews + + Array of Strings + + Name of previews, such as mercy, symmetra, or scarlet-witch. See API Previews. If options.mediaType.previews was set as default, the new previews will be merged into the default ones. Setting options.mediaType.previews will amend the headers.accept value. options.mediaType.previews will be merged with an existing array set using .defaults(). +
+ options.data + + Any + + Set request body directly instead of setting it to JSON based on additional parameters. See "The data parameter" below. +
+ options.request + + Object + + Pass custom meta information for the request. The request object will be returned as is. +
+ +All other options will be passed depending on the `method` and `url` options. + +1. If the option key has a placeholder in the `url`, it will be used as the replacement. For example, if the passed options are `{url: '/orgs/{org}/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos`. +2. If the `method` is `GET` or `HEAD`, the option is passed as a query parameter. +3. Otherwise, the parameter is passed in the request body as a JSON key. + +**Result** + +`endpoint()` is a synchronous method and returns an object with the following keys: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
methodStringThe http method. Always lowercase.
urlStringThe url with placeholders replaced with passed parameters.
headersObjectAll header names are lowercased.
bodyAnyThe request body if one is present. Only for PATCH, POST, PUT, DELETE requests.
requestObjectRequest meta option, it will be returned as it was passed into endpoint()
+ +### `endpoint.defaults()` + +Override or set default options. Example: + +```js +const request = require("request"); +const myEndpoint = require("@octokit/endpoint").defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-project", + per_page: 100, +}); + +request(myEndpoint(`GET /orgs/{org}/repos`)); +``` + +You can call `.defaults()` again on the returned method, the defaults will cascade. + +```js +const myProjectEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +const myProjectEndpointWithAuth = myProjectEndpoint.defaults({ + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, +}); +``` + +`myProjectEndpointWithAuth` now defaults the `baseUrl`, `headers['user-agent']`, +`org` and `headers['authorization']` on top of `headers['accept']` that is set +by the global default. + +### `endpoint.DEFAULTS` + +The current default options. + +```js +endpoint.DEFAULTS.baseUrl; // https://api.github.com +const myEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", +}); +myEndpoint.DEFAULTS.baseUrl; // https://github-enterprise.acme-inc.com/api/v3 +``` + +### `endpoint.merge(route, options)` or `endpoint.merge(options)` + +Get the defaulted endpoint options, but without parsing them into request options: + +```js +const myProjectEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +myProjectEndpoint.merge("GET /orgs/{org}/repos", { + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-secret-project", + type: "private", +}); + +// { +// baseUrl: 'https://github-enterprise.acme-inc.com/api/v3', +// method: 'GET', +// url: '/orgs/{org}/repos', +// headers: { +// accept: 'application/vnd.github.v3+json', +// authorization: `token 0000000000000000000000000000000000000001`, +// 'user-agent': 'myApp/1.2.3' +// }, +// org: 'my-secret-project', +// type: 'private' +// } +``` + +### `endpoint.parse()` + +Stateless method to turn endpoint options into request options. Calling +`endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + +## Special cases + + + +### The `data` parameter – set request body directly + +Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) don’t have parameters that are sent as request body keys, instead, the request body needs to be set directly. In these cases, set the `data` parameter. + +```js +const options = endpoint("POST /markdown/raw", { + data: "Hello world github/linguist#1 **cool**, and #1!", + headers: { + accept: "text/html;charset=utf-8", + "content-type": "text/plain", + }, +}); + +// options is +// { +// method: 'post', +// url: 'https://api.github.com/markdown/raw', +// headers: { +// accept: 'text/html;charset=utf-8', +// 'content-type': 'text/plain', +// 'user-agent': userAgent +// }, +// body: 'Hello world github/linguist#1 **cool**, and #1!' +// } +``` + +### Set parameters for both the URL/query and the request body + +There are API endpoints that accept both query parameters as well as a body. In that case, you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570). + +Example + +```js +endpoint( + "POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + { + name: "example.zip", + label: "short description", + headers: { + "content-type": "text/plain", + "content-length": 14, + authorization: `token 0000000000000000000000000000000000000001`, + }, + data: "Hello, world!", + } +); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/endpoint/dist-node/index.js b/node_modules/@octokit/endpoint/dist-node/index.js new file mode 100644 index 00000000..70f24ff7 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-node/index.js @@ -0,0 +1,390 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var isPlainObject = require('is-plain-object'); +var universalUserAgent = require('universal-user-agent'); + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (isPlainObject.isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { + [key]: options[key] + });else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { + [key]: options[key] + }); + } + }); + return result; +} + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + + return obj; +} + +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { + method, + url + } : { + url: method + }, options); + } else { + options = Object.assign({}, route); + } // lowercase header names before merging with defaults to avoid duplicates + + + options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging + + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten + + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); + } + + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); + return mergedOptions; +} + +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + + if (names.length === 0) { + return url; + } + + return url + separator + names.map(name => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +const urlVariableRegex = /\{[^}]+\}/g; + +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} + +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + + if (!matches) { + return []; + } + + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* istanbul ignore file */ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + + return part; + }).join(""); +} + +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} + +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} + +function isDefined(value) { + return value !== undefined && value !== null; +} + +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} + +function getValues(context, operator, key, modifier) { + var value = context[key], + result = []; + + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + + return result; +} + +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} + +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + + if (operator && operator !== "+") { + var separator = ","; + + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + }); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible + + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later + + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + + const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); + } + + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + + + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } else { + headers["content-length"] = 0; + } + } + } // default content-type for JSON if body is set + + + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + + + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } // Only return body/request keys if present + + + return Object.assign({ + method, + url, + headers + }, typeof body !== "undefined" ? { + body + } : null, options.request ? { + request: options.request + } : null); +} + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); +} + +const VERSION = "6.0.12"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. + +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; + +const endpoint = withDefaults(null, DEFAULTS); + +exports.endpoint = endpoint; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/endpoint/dist-node/index.js.map b/node_modules/@octokit/endpoint/dist-node/index.js.map new file mode 100644 index 00000000..003e4f27 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.12\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":["lowercaseKeys","object","Object","keys","reduce","newObj","key","toLowerCase","mergeDeep","defaults","options","result","assign","forEach","isPlainObject","removeUndefinedProperties","obj","undefined","merge","route","method","url","split","headers","mergedOptions","mediaType","previews","length","filter","preview","includes","concat","map","replace","addQueryParameters","parameters","separator","test","names","name","q","encodeURIComponent","join","urlVariableRegex","removeNonChars","variableName","extractUrlVariableNames","matches","match","a","b","omit","keysToOmit","option","encodeReserved","str","part","encodeURI","encodeUnreserved","c","charCodeAt","toString","toUpperCase","encodeValue","operator","value","isDefined","isKeyOperator","getValues","context","modifier","substring","parseInt","push","Array","isArray","k","tmp","parseUrl","template","expand","bind","operators","_","expression","literal","values","indexOf","charAt","substr","variable","exec","parse","body","urlVariableNames","baseUrl","omittedParameters","remainingParameters","isBinaryRequest","accept","format","previewsFromAcceptHeader","data","request","endpointWithDefaults","withDefaults","oldDefaults","newDefaults","DEFAULTS","endpoint","VERSION","userAgent","getUserAgent"],"mappings":";;;;;;;AAAO,SAASA,aAAT,CAAuBC,MAAvB,EAA+B;AAClC,MAAI,CAACA,MAAL,EAAa;AACT,WAAO,EAAP;AACH;;AACD,SAAOC,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,MAApB,CAA2B,CAACC,MAAD,EAASC,GAAT,KAAiB;AAC/CD,IAAAA,MAAM,CAACC,GAAG,CAACC,WAAJ,EAAD,CAAN,GAA4BN,MAAM,CAACK,GAAD,CAAlC;AACA,WAAOD,MAAP;AACH,GAHM,EAGJ,EAHI,CAAP;AAIH;;ACPM,SAASG,SAAT,CAAmBC,QAAnB,EAA6BC,OAA7B,EAAsC;AACzC,QAAMC,MAAM,GAAGT,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBH,QAAlB,CAAf;AACAP,EAAAA,MAAM,CAACC,IAAP,CAAYO,OAAZ,EAAqBG,OAArB,CAA8BP,GAAD,IAAS;AAClC,QAAIQ,2BAAa,CAACJ,OAAO,CAACJ,GAAD,CAAR,CAAjB,EAAiC;AAC7B,UAAI,EAAEA,GAAG,IAAIG,QAAT,CAAJ,EACIP,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;AAAE,SAACL,GAAD,GAAOI,OAAO,CAACJ,GAAD;AAAhB,OAAtB,EADJ,KAGIK,MAAM,CAACL,GAAD,CAAN,GAAcE,SAAS,CAACC,QAAQ,CAACH,GAAD,CAAT,EAAgBI,OAAO,CAACJ,GAAD,CAAvB,CAAvB;AACP,KALD,MAMK;AACDJ,MAAAA,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;AAAE,SAACL,GAAD,GAAOI,OAAO,CAACJ,GAAD;AAAhB,OAAtB;AACH;AACJ,GAVD;AAWA,SAAOK,MAAP;AACH;;ACfM,SAASI,yBAAT,CAAmCC,GAAnC,EAAwC;AAC3C,OAAK,MAAMV,GAAX,IAAkBU,GAAlB,EAAuB;AACnB,QAAIA,GAAG,CAACV,GAAD,CAAH,KAAaW,SAAjB,EAA4B;AACxB,aAAOD,GAAG,CAACV,GAAD,CAAV;AACH;AACJ;;AACD,SAAOU,GAAP;AACH;;ACJM,SAASE,KAAT,CAAeT,QAAf,EAAyBU,KAAzB,EAAgCT,OAAhC,EAAyC;AAC5C,MAAI,OAAOS,KAAP,KAAiB,QAArB,EAA+B;AAC3B,QAAI,CAACC,MAAD,EAASC,GAAT,IAAgBF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAApB;AACAZ,IAAAA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAcS,GAAG,GAAG;AAAED,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KAAH,GAAqB;AAAEA,MAAAA,GAAG,EAAED;AAAP,KAAtC,EAAuDV,OAAvD,CAAV;AACH,GAHD,MAIK;AACDA,IAAAA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBO,KAAlB,CAAV;AACH,GAP2C;;;AAS5CT,EAAAA,OAAO,CAACa,OAAR,GAAkBvB,aAAa,CAACU,OAAO,CAACa,OAAT,CAA/B,CAT4C;;AAW5CR,EAAAA,yBAAyB,CAACL,OAAD,CAAzB;AACAK,EAAAA,yBAAyB,CAACL,OAAO,CAACa,OAAT,CAAzB;AACA,QAAMC,aAAa,GAAGhB,SAAS,CAACC,QAAQ,IAAI,EAAb,EAAiBC,OAAjB,CAA/B,CAb4C;;AAe5C,MAAID,QAAQ,IAAIA,QAAQ,CAACgB,SAAT,CAAmBC,QAAnB,CAA4BC,MAA5C,EAAoD;AAChDH,IAAAA,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCjB,QAAQ,CAACgB,SAAT,CAAmBC,QAAnB,CAC9BE,MAD8B,CACtBC,OAAD,IAAa,CAACL,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCI,QAAjC,CAA0CD,OAA1C,CADS,EAE9BE,MAF8B,CAEvBP,aAAa,CAACC,SAAd,CAAwBC,QAFD,CAAnC;AAGH;;AACDF,EAAAA,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCF,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCM,GAAjC,CAAsCH,OAAD,IAAaA,OAAO,CAACI,OAAR,CAAgB,UAAhB,EAA4B,EAA5B,CAAlD,CAAnC;AACA,SAAOT,aAAP;AACH;;ACzBM,SAASU,kBAAT,CAA4Bb,GAA5B,EAAiCc,UAAjC,EAA6C;AAChD,QAAMC,SAAS,GAAG,KAAKC,IAAL,CAAUhB,GAAV,IAAiB,GAAjB,GAAuB,GAAzC;AACA,QAAMiB,KAAK,GAAGpC,MAAM,CAACC,IAAP,CAAYgC,UAAZ,CAAd;;AACA,MAAIG,KAAK,CAACX,MAAN,KAAiB,CAArB,EAAwB;AACpB,WAAON,GAAP;AACH;;AACD,SAAQA,GAAG,GACPe,SADI,GAEJE,KAAK,CACAN,GADL,CACUO,IAAD,IAAU;AACf,QAAIA,IAAI,KAAK,GAAb,EAAkB;AACd,aAAQ,OAAOJ,UAAU,CAACK,CAAX,CAAalB,KAAb,CAAmB,GAAnB,EAAwBU,GAAxB,CAA4BS,kBAA5B,EAAgDC,IAAhD,CAAqD,GAArD,CAAf;AACH;;AACD,WAAQ,GAAEH,IAAK,IAAGE,kBAAkB,CAACN,UAAU,CAACI,IAAD,CAAX,CAAmB,EAAvD;AACH,GAND,EAOKG,IAPL,CAOU,GAPV,CAFJ;AAUH;;AChBD,MAAMC,gBAAgB,GAAG,YAAzB;;AACA,SAASC,cAAT,CAAwBC,YAAxB,EAAsC;AAClC,SAAOA,YAAY,CAACZ,OAAb,CAAqB,YAArB,EAAmC,EAAnC,EAAuCX,KAAvC,CAA6C,GAA7C,CAAP;AACH;;AACD,AAAO,SAASwB,uBAAT,CAAiCzB,GAAjC,EAAsC;AACzC,QAAM0B,OAAO,GAAG1B,GAAG,CAAC2B,KAAJ,CAAUL,gBAAV,CAAhB;;AACA,MAAI,CAACI,OAAL,EAAc;AACV,WAAO,EAAP;AACH;;AACD,SAAOA,OAAO,CAACf,GAAR,CAAYY,cAAZ,EAA4BxC,MAA5B,CAAmC,CAAC6C,CAAD,EAAIC,CAAJ,KAAUD,CAAC,CAAClB,MAAF,CAASmB,CAAT,CAA7C,EAA0D,EAA1D,CAAP;AACH;;ACVM,SAASC,IAAT,CAAclD,MAAd,EAAsBmD,UAAtB,EAAkC;AACrC,SAAOlD,MAAM,CAACC,IAAP,CAAYF,MAAZ,EACF2B,MADE,CACMyB,MAAD,IAAY,CAACD,UAAU,CAACtB,QAAX,CAAoBuB,MAApB,CADlB,EAEFjD,MAFE,CAEK,CAACY,GAAD,EAAMV,GAAN,KAAc;AACtBU,IAAAA,GAAG,CAACV,GAAD,CAAH,GAAWL,MAAM,CAACK,GAAD,CAAjB;AACA,WAAOU,GAAP;AACH,GALM,EAKJ,EALI,CAAP;AAMH;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,SAASsC,cAAT,CAAwBC,GAAxB,EAA6B;AACzB,SAAOA,GAAG,CACLjC,KADE,CACI,oBADJ,EAEFU,GAFE,CAEE,UAAUwB,IAAV,EAAgB;AACrB,QAAI,CAAC,eAAenB,IAAf,CAAoBmB,IAApB,CAAL,EAAgC;AAC5BA,MAAAA,IAAI,GAAGC,SAAS,CAACD,IAAD,CAAT,CAAgBvB,OAAhB,CAAwB,MAAxB,EAAgC,GAAhC,EAAqCA,OAArC,CAA6C,MAA7C,EAAqD,GAArD,CAAP;AACH;;AACD,WAAOuB,IAAP;AACH,GAPM,EAQFd,IARE,CAQG,EARH,CAAP;AASH;;AACD,SAASgB,gBAAT,CAA0BH,GAA1B,EAA+B;AAC3B,SAAOd,kBAAkB,CAACc,GAAD,CAAlB,CAAwBtB,OAAxB,CAAgC,UAAhC,EAA4C,UAAU0B,CAAV,EAAa;AAC5D,WAAO,MAAMA,CAAC,CAACC,UAAF,CAAa,CAAb,EAAgBC,QAAhB,CAAyB,EAAzB,EAA6BC,WAA7B,EAAb;AACH,GAFM,CAAP;AAGH;;AACD,SAASC,WAAT,CAAqBC,QAArB,EAA+BC,KAA/B,EAAsC3D,GAAtC,EAA2C;AACvC2D,EAAAA,KAAK,GACDD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,GACMV,cAAc,CAACW,KAAD,CADpB,GAEMP,gBAAgB,CAACO,KAAD,CAH1B;;AAIA,MAAI3D,GAAJ,EAAS;AACL,WAAOoD,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAAxB,GAA8B2D,KAArC;AACH,GAFD,MAGK;AACD,WAAOA,KAAP;AACH;AACJ;;AACD,SAASC,SAAT,CAAmBD,KAAnB,EAA0B;AACtB,SAAOA,KAAK,KAAKhD,SAAV,IAAuBgD,KAAK,KAAK,IAAxC;AACH;;AACD,SAASE,aAAT,CAAuBH,QAAvB,EAAiC;AAC7B,SAAOA,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,IAAwCA,QAAQ,KAAK,GAA5D;AACH;;AACD,SAASI,SAAT,CAAmBC,OAAnB,EAA4BL,QAA5B,EAAsC1D,GAAtC,EAA2CgE,QAA3C,EAAqD;AACjD,MAAIL,KAAK,GAAGI,OAAO,CAAC/D,GAAD,CAAnB;AAAA,MAA0BK,MAAM,GAAG,EAAnC;;AACA,MAAIuD,SAAS,CAACD,KAAD,CAAT,IAAoBA,KAAK,KAAK,EAAlC,EAAsC;AAClC,QAAI,OAAOA,KAAP,KAAiB,QAAjB,IACA,OAAOA,KAAP,KAAiB,QADjB,IAEA,OAAOA,KAAP,KAAiB,SAFrB,EAEgC;AAC5BA,MAAAA,KAAK,GAAGA,KAAK,CAACJ,QAAN,EAAR;;AACA,UAAIS,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;AAC9BL,QAAAA,KAAK,GAAGA,KAAK,CAACM,SAAN,CAAgB,CAAhB,EAAmBC,QAAQ,CAACF,QAAD,EAAW,EAAX,CAA3B,CAAR;AACH;;AACD3D,MAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBE,aAAa,CAACH,QAAD,CAAb,GAA0B1D,GAA1B,GAAgC,EAAlD,CAAvB;AACH,KARD,MASK;AACD,UAAIgE,QAAQ,KAAK,GAAjB,EAAsB;AAClB,YAAII,KAAK,CAACC,OAAN,CAAcV,KAAd,CAAJ,EAA0B;AACtBA,UAAAA,KAAK,CAACrC,MAAN,CAAasC,SAAb,EAAwBrD,OAAxB,CAAgC,UAAUoD,KAAV,EAAiB;AAC7CtD,YAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBE,aAAa,CAACH,QAAD,CAAb,GAA0B1D,GAA1B,GAAgC,EAAlD,CAAvB;AACH,WAFD;AAGH,SAJD,MAKK;AACDJ,UAAAA,MAAM,CAACC,IAAP,CAAY8D,KAAZ,EAAmBpD,OAAnB,CAA2B,UAAU+D,CAAV,EAAa;AACpC,gBAAIV,SAAS,CAACD,KAAK,CAACW,CAAD,CAAN,CAAb,EAAyB;AACrBjE,cAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACW,CAAD,CAAhB,EAAqBA,CAArB,CAAvB;AACH;AACJ,WAJD;AAKH;AACJ,OAbD,MAcK;AACD,cAAMC,GAAG,GAAG,EAAZ;;AACA,YAAIH,KAAK,CAACC,OAAN,CAAcV,KAAd,CAAJ,EAA0B;AACtBA,UAAAA,KAAK,CAACrC,MAAN,CAAasC,SAAb,EAAwBrD,OAAxB,CAAgC,UAAUoD,KAAV,EAAiB;AAC7CY,YAAAA,GAAG,CAACJ,IAAJ,CAASV,WAAW,CAACC,QAAD,EAAWC,KAAX,CAApB;AACH,WAFD;AAGH,SAJD,MAKK;AACD/D,UAAAA,MAAM,CAACC,IAAP,CAAY8D,KAAZ,EAAmBpD,OAAnB,CAA2B,UAAU+D,CAAV,EAAa;AACpC,gBAAIV,SAAS,CAACD,KAAK,CAACW,CAAD,CAAN,CAAb,EAAyB;AACrBC,cAAAA,GAAG,CAACJ,IAAJ,CAASf,gBAAgB,CAACkB,CAAD,CAAzB;AACAC,cAAAA,GAAG,CAACJ,IAAJ,CAASV,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACW,CAAD,CAAL,CAASf,QAAT,EAAX,CAApB;AACH;AACJ,WALD;AAMH;;AACD,YAAIM,aAAa,CAACH,QAAD,CAAjB,EAA6B;AACzBrD,UAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAAxB,GAA8BuE,GAAG,CAACnC,IAAJ,CAAS,GAAT,CAA1C;AACH,SAFD,MAGK,IAAImC,GAAG,CAAClD,MAAJ,KAAe,CAAnB,EAAsB;AACvBhB,UAAAA,MAAM,CAAC8D,IAAP,CAAYI,GAAG,CAACnC,IAAJ,CAAS,GAAT,CAAZ;AACH;AACJ;AACJ;AACJ,GAhDD,MAiDK;AACD,QAAIsB,QAAQ,KAAK,GAAjB,EAAsB;AAClB,UAAIE,SAAS,CAACD,KAAD,CAAb,EAAsB;AAClBtD,QAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAA5B;AACH;AACJ,KAJD,MAKK,IAAI2D,KAAK,KAAK,EAAV,KAAiBD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAlD,CAAJ,EAA4D;AAC7DrD,MAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAApC;AACH,KAFI,MAGA,IAAI2D,KAAK,KAAK,EAAd,EAAkB;AACnBtD,MAAAA,MAAM,CAAC8D,IAAP,CAAY,EAAZ;AACH;AACJ;;AACD,SAAO9D,MAAP;AACH;;AACD,AAAO,SAASmE,QAAT,CAAkBC,QAAlB,EAA4B;AAC/B,SAAO;AACHC,IAAAA,MAAM,EAAEA,MAAM,CAACC,IAAP,CAAY,IAAZ,EAAkBF,QAAlB;AADL,GAAP;AAGH;;AACD,SAASC,MAAT,CAAgBD,QAAhB,EAA0BV,OAA1B,EAAmC;AAC/B,MAAIa,SAAS,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,CAAhB;AACA,SAAOH,QAAQ,CAAC9C,OAAT,CAAiB,4BAAjB,EAA+C,UAAUkD,CAAV,EAAaC,UAAb,EAAyBC,OAAzB,EAAkC;AACpF,QAAID,UAAJ,EAAgB;AACZ,UAAIpB,QAAQ,GAAG,EAAf;AACA,YAAMsB,MAAM,GAAG,EAAf;;AACA,UAAIJ,SAAS,CAACK,OAAV,CAAkBH,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAlB,MAA4C,CAAC,CAAjD,EAAoD;AAChDxB,QAAAA,QAAQ,GAAGoB,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAX;AACAJ,QAAAA,UAAU,GAAGA,UAAU,CAACK,MAAX,CAAkB,CAAlB,CAAb;AACH;;AACDL,MAAAA,UAAU,CAAC9D,KAAX,CAAiB,IAAjB,EAAuBT,OAAvB,CAA+B,UAAU6E,QAAV,EAAoB;AAC/C,YAAIb,GAAG,GAAG,4BAA4Bc,IAA5B,CAAiCD,QAAjC,CAAV;AACAJ,QAAAA,MAAM,CAACb,IAAP,CAAYL,SAAS,CAACC,OAAD,EAAUL,QAAV,EAAoBa,GAAG,CAAC,CAAD,CAAvB,EAA4BA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAG,CAAC,CAAD,CAAzC,CAArB;AACH,OAHD;;AAIA,UAAIb,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;AAC9B,YAAI5B,SAAS,GAAG,GAAhB;;AACA,YAAI4B,QAAQ,KAAK,GAAjB,EAAsB;AAClB5B,UAAAA,SAAS,GAAG,GAAZ;AACH,SAFD,MAGK,IAAI4B,QAAQ,KAAK,GAAjB,EAAsB;AACvB5B,UAAAA,SAAS,GAAG4B,QAAZ;AACH;;AACD,eAAO,CAACsB,MAAM,CAAC3D,MAAP,KAAkB,CAAlB,GAAsBqC,QAAtB,GAAiC,EAAlC,IAAwCsB,MAAM,CAAC5C,IAAP,CAAYN,SAAZ,CAA/C;AACH,OATD,MAUK;AACD,eAAOkD,MAAM,CAAC5C,IAAP,CAAY,GAAZ,CAAP;AACH;AACJ,KAxBD,MAyBK;AACD,aAAOY,cAAc,CAAC+B,OAAD,CAArB;AACH;AACJ,GA7BM,CAAP;AA8BH;;AC/JM,SAASO,KAAT,CAAelF,OAAf,EAAwB;AAC3B;AACA,MAAIU,MAAM,GAAGV,OAAO,CAACU,MAAR,CAAe0C,WAAf,EAAb,CAF2B;;AAI3B,MAAIzC,GAAG,GAAG,CAACX,OAAO,CAACW,GAAR,IAAe,GAAhB,EAAqBY,OAArB,CAA6B,cAA7B,EAA6C,MAA7C,CAAV;AACA,MAAIV,OAAO,GAAGrB,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBF,OAAO,CAACa,OAA1B,CAAd;AACA,MAAIsE,IAAJ;AACA,MAAI1D,UAAU,GAAGgB,IAAI,CAACzC,OAAD,EAAU,CAC3B,QAD2B,EAE3B,SAF2B,EAG3B,KAH2B,EAI3B,SAJ2B,EAK3B,SAL2B,EAM3B,WAN2B,CAAV,CAArB,CAP2B;;AAgB3B,QAAMoF,gBAAgB,GAAGhD,uBAAuB,CAACzB,GAAD,CAAhD;AACAA,EAAAA,GAAG,GAAGyD,QAAQ,CAACzD,GAAD,CAAR,CAAc2D,MAAd,CAAqB7C,UAArB,CAAN;;AACA,MAAI,CAAC,QAAQE,IAAR,CAAahB,GAAb,CAAL,EAAwB;AACpBA,IAAAA,GAAG,GAAGX,OAAO,CAACqF,OAAR,GAAkB1E,GAAxB;AACH;;AACD,QAAM2E,iBAAiB,GAAG9F,MAAM,CAACC,IAAP,CAAYO,OAAZ,EACrBkB,MADqB,CACbyB,MAAD,IAAYyC,gBAAgB,CAAChE,QAAjB,CAA0BuB,MAA1B,CADE,EAErBtB,MAFqB,CAEd,SAFc,CAA1B;AAGA,QAAMkE,mBAAmB,GAAG9C,IAAI,CAAChB,UAAD,EAAa6D,iBAAb,CAAhC;AACA,QAAME,eAAe,GAAG,6BAA6B7D,IAA7B,CAAkCd,OAAO,CAAC4E,MAA1C,CAAxB;;AACA,MAAI,CAACD,eAAL,EAAsB;AAClB,QAAIxF,OAAO,CAACe,SAAR,CAAkB2E,MAAtB,EAA8B;AAC1B;AACA7E,MAAAA,OAAO,CAAC4E,MAAR,GAAiB5E,OAAO,CAAC4E,MAAR,CACZ7E,KADY,CACN,GADM,EAEZU,GAFY,CAEPH,OAAD,IAAaA,OAAO,CAACI,OAAR,CAAgB,kDAAhB,EAAqE,uBAAsBvB,OAAO,CAACe,SAAR,CAAkB2E,MAAO,EAApH,CAFL,EAGZ1D,IAHY,CAGP,GAHO,CAAjB;AAIH;;AACD,QAAIhC,OAAO,CAACe,SAAR,CAAkBC,QAAlB,CAA2BC,MAA/B,EAAuC;AACnC,YAAM0E,wBAAwB,GAAG9E,OAAO,CAAC4E,MAAR,CAAenD,KAAf,CAAqB,qBAArB,KAA+C,EAAhF;AACAzB,MAAAA,OAAO,CAAC4E,MAAR,GAAiBE,wBAAwB,CACpCtE,MADY,CACLrB,OAAO,CAACe,SAAR,CAAkBC,QADb,EAEZM,GAFY,CAEPH,OAAD,IAAa;AAClB,cAAMuE,MAAM,GAAG1F,OAAO,CAACe,SAAR,CAAkB2E,MAAlB,GACR,IAAG1F,OAAO,CAACe,SAAR,CAAkB2E,MAAO,EADpB,GAET,OAFN;AAGA,eAAQ,0BAAyBvE,OAAQ,WAAUuE,MAAO,EAA1D;AACH,OAPgB,EAQZ1D,IARY,CAQP,GARO,CAAjB;AASH;AACJ,GA9C0B;AAgD3B;;;AACA,MAAI,CAAC,KAAD,EAAQ,MAAR,EAAgBZ,QAAhB,CAAyBV,MAAzB,CAAJ,EAAsC;AAClCC,IAAAA,GAAG,GAAGa,kBAAkB,CAACb,GAAD,EAAM4E,mBAAN,CAAxB;AACH,GAFD,MAGK;AACD,QAAI,UAAUA,mBAAd,EAAmC;AAC/BJ,MAAAA,IAAI,GAAGI,mBAAmB,CAACK,IAA3B;AACH,KAFD,MAGK;AACD,UAAIpG,MAAM,CAACC,IAAP,CAAY8F,mBAAZ,EAAiCtE,MAArC,EAA6C;AACzCkE,QAAAA,IAAI,GAAGI,mBAAP;AACH,OAFD,MAGK;AACD1E,QAAAA,OAAO,CAAC,gBAAD,CAAP,GAA4B,CAA5B;AACH;AACJ;AACJ,GAhE0B;;;AAkE3B,MAAI,CAACA,OAAO,CAAC,cAAD,CAAR,IAA4B,OAAOsE,IAAP,KAAgB,WAAhD,EAA6D;AACzDtE,IAAAA,OAAO,CAAC,cAAD,CAAP,GAA0B,iCAA1B;AACH,GApE0B;AAsE3B;;;AACA,MAAI,CAAC,OAAD,EAAU,KAAV,EAAiBO,QAAjB,CAA0BV,MAA1B,KAAqC,OAAOyE,IAAP,KAAgB,WAAzD,EAAsE;AAClEA,IAAAA,IAAI,GAAG,EAAP;AACH,GAzE0B;;;AA2E3B,SAAO3F,MAAM,CAACU,MAAP,CAAc;AAAEQ,IAAAA,MAAF;AAAUC,IAAAA,GAAV;AAAeE,IAAAA;AAAf,GAAd,EAAwC,OAAOsE,IAAP,KAAgB,WAAhB,GAA8B;AAAEA,IAAAA;AAAF,GAA9B,GAAyC,IAAjF,EAAuFnF,OAAO,CAAC6F,OAAR,GAAkB;AAAEA,IAAAA,OAAO,EAAE7F,OAAO,CAAC6F;AAAnB,GAAlB,GAAiD,IAAxI,CAAP;AACH;;AC9EM,SAASC,oBAAT,CAA8B/F,QAA9B,EAAwCU,KAAxC,EAA+CT,OAA/C,EAAwD;AAC3D,SAAOkF,KAAK,CAAC1E,KAAK,CAACT,QAAD,EAAWU,KAAX,EAAkBT,OAAlB,CAAN,CAAZ;AACH;;ACDM,SAAS+F,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;AACnD,QAAMC,QAAQ,GAAG1F,KAAK,CAACwF,WAAD,EAAcC,WAAd,CAAtB;AACA,QAAME,QAAQ,GAAGL,oBAAoB,CAACvB,IAArB,CAA0B,IAA1B,EAAgC2B,QAAhC,CAAjB;AACA,SAAO1G,MAAM,CAACU,MAAP,CAAciG,QAAd,EAAwB;AAC3BD,IAAAA,QAD2B;AAE3BnG,IAAAA,QAAQ,EAAEgG,YAAY,CAACxB,IAAb,CAAkB,IAAlB,EAAwB2B,QAAxB,CAFiB;AAG3B1F,IAAAA,KAAK,EAAEA,KAAK,CAAC+D,IAAN,CAAW,IAAX,EAAiB2B,QAAjB,CAHoB;AAI3BhB,IAAAA;AAJ2B,GAAxB,CAAP;AAMH;;ACZM,MAAMkB,OAAO,GAAG,mBAAhB;;ACEP,MAAMC,SAAS,GAAI,uBAAsBD,OAAQ,IAAGE,+BAAY,EAAG,EAAnE;AAEA;;AACA,AAAO,MAAMJ,QAAQ,GAAG;AACpBxF,EAAAA,MAAM,EAAE,KADY;AAEpB2E,EAAAA,OAAO,EAAE,wBAFW;AAGpBxE,EAAAA,OAAO,EAAE;AACL4E,IAAAA,MAAM,EAAE,gCADH;AAEL,kBAAcY;AAFT,GAHW;AAOpBtF,EAAAA,SAAS,EAAE;AACP2E,IAAAA,MAAM,EAAE,EADD;AAEP1E,IAAAA,QAAQ,EAAE;AAFH;AAPS,CAAjB;;MCHMmF,QAAQ,GAAGJ,YAAY,CAAC,IAAD,EAAOG,QAAP,CAA7B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/endpoint/dist-src/defaults.js new file mode 100644 index 00000000..456e586a --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -0,0 +1,17 @@ +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +export const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent, + }, + mediaType: { + format: "", + previews: [], + }, +}; diff --git a/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js new file mode 100644 index 00000000..5763758f --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js @@ -0,0 +1,5 @@ +import { merge } from "./merge"; +import { parse } from "./parse"; +export function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} diff --git a/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/endpoint/dist-src/index.js new file mode 100644 index 00000000..599917f9 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/index.js @@ -0,0 +1,3 @@ +import { withDefaults } from "./with-defaults"; +import { DEFAULTS } from "./defaults"; +export const endpoint = withDefaults(null, DEFAULTS); diff --git a/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/endpoint/dist-src/merge.js new file mode 100644 index 00000000..1abcecfa --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/merge.js @@ -0,0 +1,26 @@ +import { lowercaseKeys } from "./util/lowercase-keys"; +import { mergeDeep } from "./util/merge-deep"; +import { removeUndefinedProperties } from "./util/remove-undefined-properties"; +export function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { method, url } : { url: method }, options); + } + else { + options = Object.assign({}, route); + } + // lowercase header names before merging with defaults to avoid duplicates + options.headers = lowercaseKeys(options.headers); + // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + // mediaType.previews arrays are merged, instead of overwritten + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews + .filter((preview) => !mergedOptions.mediaType.previews.includes(preview)) + .concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, "")); + return mergedOptions; +} diff --git a/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/endpoint/dist-src/parse.js new file mode 100644 index 00000000..6bdd1bfa --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/parse.js @@ -0,0 +1,81 @@ +import { addQueryParameters } from "./util/add-query-parameters"; +import { extractUrlVariableNames } from "./util/extract-url-variable-names"; +import { omit } from "./util/omit"; +import { parseUrl } from "./util/url-template"; +export function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); + // replace :varname with {varname} to make it RFC 6570 compatible + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType", + ]); + // extract variable names from URL to calculate remaining variables later + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options) + .filter((option) => urlVariableNames.includes(option)) + .concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept + .split(/,/) + .map((preview) => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)) + .join(","); + } + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader + .concat(options.mediaType.previews) + .map((preview) => { + const format = options.mediaType.format + ? `.${options.mediaType.format}` + : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }) + .join(","); + } + } + // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } + else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } + else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + else { + headers["content-length"] = 0; + } + } + } + // default content-type for JSON if body is set + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + // Only return body/request keys if present + return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js new file mode 100644 index 00000000..d26be314 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js @@ -0,0 +1,17 @@ +export function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return (url + + separator + + names + .map((name) => { + if (name === "q") { + return ("q=" + parameters.q.split("+").map(encodeURIComponent).join("+")); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }) + .join("&")); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js new file mode 100644 index 00000000..3e75db28 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js @@ -0,0 +1,11 @@ +const urlVariableRegex = /\{[^}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} +export function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js new file mode 100644 index 00000000..07806425 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js @@ -0,0 +1,9 @@ +export function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js new file mode 100644 index 00000000..d92aca35 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js @@ -0,0 +1,16 @@ +import { isPlainObject } from "is-plain-object"; +export function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } + else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/endpoint/dist-src/util/omit.js new file mode 100644 index 00000000..62450310 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/omit.js @@ -0,0 +1,8 @@ +export function omit(object, keysToOmit) { + return Object.keys(object) + .filter((option) => !keysToOmit.includes(option)) + .reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js new file mode 100644 index 00000000..6b5ee5fb --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js @@ -0,0 +1,8 @@ +export function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + return obj; +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/endpoint/dist-src/util/url-template.js new file mode 100644 index 00000000..439b3fee --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/url-template.js @@ -0,0 +1,164 @@ +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* istanbul ignore file */ +function encodeReserved(str) { + return str + .split(/(%[0-9A-Fa-f]{2})/g) + .map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }) + .join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = + operator === "+" || operator === "#" + ? encodeReserved(value) + : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } + else { + return value; + } +} +function isDefined(value) { + return value !== undefined && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || + typeof value === "number" || + typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } + else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } + else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } + else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } + else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } + else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } + else if (value === "") { + result.push(""); + } + } + return result; +} +export function parseUrl(template) { + return { + expand: expand.bind(null, template), + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } + else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } + else { + return values.join(","); + } + } + else { + return encodeReserved(literal); + } + }); +} diff --git a/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/endpoint/dist-src/version.js new file mode 100644 index 00000000..930e2557 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "6.0.12"; diff --git a/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/endpoint/dist-src/with-defaults.js new file mode 100644 index 00000000..81baf6cf --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -0,0 +1,13 @@ +import { endpointWithDefaults } from "./endpoint-with-defaults"; +import { merge } from "./merge"; +import { parse } from "./parse"; +export function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse, + }); +} diff --git a/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts new file mode 100644 index 00000000..30fcd203 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts @@ -0,0 +1,2 @@ +import { EndpointDefaults } from "@octokit/types"; +export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts new file mode 100644 index 00000000..ff39e5e7 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts @@ -0,0 +1,3 @@ +import { EndpointOptions, RequestParameters, Route } from "@octokit/types"; +import { DEFAULTS } from "./defaults"; +export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/endpoint/dist-types/index.d.ts new file mode 100644 index 00000000..1ede1366 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/index.d.ts @@ -0,0 +1 @@ +export declare const endpoint: import("@octokit/types").EndpointInterface; diff --git a/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/endpoint/dist-types/merge.d.ts new file mode 100644 index 00000000..b75a15ec --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/merge.d.ts @@ -0,0 +1,2 @@ +import { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; +export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/endpoint/dist-types/parse.d.ts new file mode 100644 index 00000000..fbe21440 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/parse.d.ts @@ -0,0 +1,2 @@ +import { EndpointDefaults, RequestOptions } from "@octokit/types"; +export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts new file mode 100644 index 00000000..4b192ac4 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts @@ -0,0 +1,4 @@ +export declare function addQueryParameters(url: string, parameters: { + [x: string]: string | undefined; + q?: string; +}): string; diff --git a/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts new file mode 100644 index 00000000..93586d4d --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts @@ -0,0 +1 @@ +export declare function extractUrlVariableNames(url: string): string[]; diff --git a/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts new file mode 100644 index 00000000..1daf3073 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts @@ -0,0 +1,5 @@ +export declare function lowercaseKeys(object?: { + [key: string]: any; +}): { + [key: string]: any; +}; diff --git a/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts new file mode 100644 index 00000000..914411cf --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts @@ -0,0 +1 @@ +export declare function mergeDeep(defaults: any, options: any): object; diff --git a/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts new file mode 100644 index 00000000..06927d6b --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts @@ -0,0 +1,5 @@ +export declare function omit(object: { + [key: string]: any; +}, keysToOmit: string[]): { + [key: string]: any; +}; diff --git a/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts new file mode 100644 index 00000000..92d8d850 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts @@ -0,0 +1 @@ +export declare function removeUndefinedProperties(obj: any): any; diff --git a/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts new file mode 100644 index 00000000..5d967cab --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts @@ -0,0 +1,3 @@ +export declare function parseUrl(template: string): { + expand: (context: object) => string; +}; diff --git a/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/endpoint/dist-types/version.d.ts new file mode 100644 index 00000000..330d47ae --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "6.0.12"; diff --git a/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts new file mode 100644 index 00000000..6f5afd1e --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; +export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/node_modules/@octokit/endpoint/dist-web/index.js b/node_modules/@octokit/endpoint/dist-web/index.js new file mode 100644 index 00000000..e1521639 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-web/index.js @@ -0,0 +1,381 @@ +import { isPlainObject } from 'is-plain-object'; +import { getUserAgent } from 'universal-user-agent'; + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } + else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + return obj; +} + +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { method, url } : { url: method }, options); + } + else { + options = Object.assign({}, route); + } + // lowercase header names before merging with defaults to avoid duplicates + options.headers = lowercaseKeys(options.headers); + // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + // mediaType.previews arrays are merged, instead of overwritten + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews + .filter((preview) => !mergedOptions.mediaType.previews.includes(preview)) + .concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, "")); + return mergedOptions; +} + +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return (url + + separator + + names + .map((name) => { + if (name === "q") { + return ("q=" + parameters.q.split("+").map(encodeURIComponent).join("+")); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }) + .join("&")); +} + +const urlVariableRegex = /\{[^}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object) + .filter((option) => !keysToOmit.includes(option)) + .reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* istanbul ignore file */ +function encodeReserved(str) { + return str + .split(/(%[0-9A-Fa-f]{2})/g) + .map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }) + .join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = + operator === "+" || operator === "#" + ? encodeReserved(value) + : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } + else { + return value; + } +} +function isDefined(value) { + return value !== undefined && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || + typeof value === "number" || + typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } + else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } + else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } + else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } + else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } + else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } + else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template), + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } + else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } + else { + return values.join(","); + } + } + else { + return encodeReserved(literal); + } + }); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); + // replace :varname with {varname} to make it RFC 6570 compatible + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType", + ]); + // extract variable names from URL to calculate remaining variables later + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options) + .filter((option) => urlVariableNames.includes(option)) + .concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept + .split(/,/) + .map((preview) => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)) + .join(","); + } + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader + .concat(options.mediaType.previews) + .map((preview) => { + const format = options.mediaType.format + ? `.${options.mediaType.format}` + : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }) + .join(","); + } + } + // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } + else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } + else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + else { + headers["content-length"] = 0; + } + } + } + // default content-type for JSON if body is set + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + // Only return body/request keys if present + return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null); +} + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse, + }); +} + +const VERSION = "6.0.12"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent, + }, + mediaType: { + format: "", + previews: [], + }, +}; + +const endpoint = withDefaults(null, DEFAULTS); + +export { endpoint }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/endpoint/dist-web/index.js.map b/node_modules/@octokit/endpoint/dist-web/index.js.map new file mode 100644 index 00000000..1d60d026 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.12\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":[],"mappings":";;;AAAO,SAAS,aAAa,CAAC,MAAM,EAAE;AACtC,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AACvD,QAAQ,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;;ACPO,SAAS,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;AAC7C,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC1C,QAAQ,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AACzC,YAAY,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC;AAClC,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/D;AACA,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,SAAS;AACT,aAAa;AACb,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3D,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;;ACfM,SAAS,yBAAyB,CAAC,GAAG,EAAE;AAC/C,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AAC3B,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AACpC,YAAY,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,CAAC;;ACJM,SAAS,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAChD,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7C,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;AAClF,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC3C,KAAK;AACL;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD;AACA,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACvC,IAAI,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/C,IAAI,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7D;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxD,QAAQ,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ;AACtE,aAAa,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrF,aAAa,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,KAAK;AACL,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1H,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC;;ACzBM,SAAS,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE;AACpD,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AACjD,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK;AACL,IAAI,QAAQ,GAAG;AACf,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,aAAa,GAAG,CAAC,CAAC,IAAI,KAAK;AAC3B,YAAY,IAAI,IAAI,KAAK,GAAG,EAAE;AAC9B,gBAAgB,QAAQ,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC1F,aAAa;AACb,YAAY,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,SAAS,CAAC;AACV,aAAa,IAAI,CAAC,GAAG,CAAC,EAAE;AACxB,CAAC;;AChBD,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,SAAS,cAAc,CAAC,YAAY,EAAE;AACtC,IAAI,OAAO,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AACD,AAAO,SAAS,uBAAuB,CAAC,GAAG,EAAE;AAC7C,IAAI,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAChD,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;;ACVM,SAAS,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;AACzC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9B,SAAS,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzD,SAAS,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AAC9B,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,IAAI,OAAO,GAAG;AACd,SAAS,KAAK,CAAC,oBAAoB,CAAC;AACpC,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE;AAC7B,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACxC,YAAY,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7E,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AACD,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,IAAI,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;AACpE,QAAQ,OAAO,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAChE,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;AAC3C,IAAI,KAAK;AACT,QAAQ,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG;AAC5C,cAAc,cAAc,CAAC,KAAK,CAAC;AACnC,cAAc,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACtC,IAAI,IAAI,GAAG,EAAE;AACb,QAAQ,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;AACnD,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,CAAC;AACD,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACjD,CAAC;AACD,SAAS,aAAa,CAAC,QAAQ,EAAE;AACjC,IAAI,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;AACpE,CAAC;AACD,SAAS,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;AACrD,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AAC1C,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE;AAC1C,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;AACrC,YAAY,OAAO,KAAK,KAAK,QAAQ;AACrC,YAAY,OAAO,KAAK,KAAK,SAAS,EAAE;AACxC,YAAY,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AACrC,YAAY,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9C,gBAAgB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACnE,aAAa;AACb,YAAY,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1F,SAAS;AACT,aAAa;AACb,YAAY,IAAI,QAAQ,KAAK,GAAG,EAAE;AAClC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1C,oBAAoB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACrE,wBAAwB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACtG,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5D,wBAAwB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,4BAA4B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5E,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,aAAa;AACb,iBAAiB;AACjB,gBAAgB,MAAM,GAAG,GAAG,EAAE,CAAC;AAC/B,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1C,oBAAoB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACrE,wBAAwB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/D,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5D,wBAAwB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,4BAA4B,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,4BAA4B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACjF,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,gBAAgB,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;AAC7C,oBAAoB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,iBAAiB;AACjB,qBAAqB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,oBAAoB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9B,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAClC,gBAAgB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,aAAa;AACb,SAAS;AACT,aAAa,IAAI,KAAK,KAAK,EAAE,KAAK,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE;AACzE,YAAY,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACrD,SAAS;AACT,aAAa,IAAI,KAAK,KAAK,EAAE,EAAE;AAC/B,YAAY,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,AAAO,SAAS,QAAQ,CAAC,QAAQ,EAAE;AACnC,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC3C,KAAK,CAAC;AACN,CAAC;AACD,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE;AACnC,IAAI,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,4BAA4B,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;AAC5F,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,IAAI,QAAQ,GAAG,EAAE,CAAC;AAC9B,YAAY,MAAM,MAAM,GAAG,EAAE,CAAC;AAC9B,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAChE,gBAAgB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChD,gBAAgB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,aAAa;AACb,YAAY,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;AAC/D,gBAAgB,IAAI,GAAG,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrE,gBAAgB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9C,gBAAgB,IAAI,SAAS,GAAG,GAAG,CAAC;AACpC,gBAAgB,IAAI,QAAQ,KAAK,GAAG,EAAE;AACtC,oBAAoB,SAAS,GAAG,GAAG,CAAC;AACpC,iBAAiB;AACjB,qBAAqB,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC3C,oBAAoB,SAAS,GAAG,QAAQ,CAAC;AACzC,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtF,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AAC3C,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;;AC/JM,SAAS,KAAK,CAAC,OAAO,EAAE;AAC/B;AACA,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9C;AACA,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACnE,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,IAAI,IAAI,IAAI,CAAC;AACb,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE;AACnC,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,QAAQ,SAAS;AACjB,QAAQ,SAAS;AACjB,QAAQ,WAAW;AACnB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;AAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC5B,QAAQ,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;AACpC,KAAK;AACL,IAAI,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAClD,SAAS,MAAM,CAAC,CAAC,MAAM,KAAK,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9D,SAAS,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,IAAI,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AACpE,IAAI,MAAM,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9E,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;AACtC;AACA,YAAY,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AAC3C,iBAAiB,KAAK,CAAC,GAAG,CAAC;AAC3B,iBAAiB,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,kDAAkD,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzJ,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC/C,YAAY,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;AAC/F,YAAY,OAAO,CAAC,MAAM,GAAG,wBAAwB;AACrD,iBAAiB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnD,iBAAiB,GAAG,CAAC,CAAC,OAAO,KAAK;AAClC,gBAAgB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM;AACvD,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpD,sBAAsB,OAAO,CAAC;AAC9B,gBAAgB,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5E,aAAa,CAAC;AACd,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1C,QAAQ,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AAC3D,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE;AAC3C,YAAY,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;AAC5C,SAAS;AACT,aAAa;AACb,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE;AACzD,gBAAgB,IAAI,GAAG,mBAAmB,CAAC;AAC3C,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC9C,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AACjE,QAAQ,OAAO,CAAC,cAAc,CAAC,GAAG,iCAAiC,CAAC;AACpE,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AAC1E,QAAQ,IAAI,GAAG,EAAE,CAAC;AAClB,KAAK;AACL;AACA,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,IAAI,KAAK,WAAW,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AACzJ,CAAC;;AC9EM,SAAS,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAC/D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC;;ACDM,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;AACvD,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC/D,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;AACnC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnD,QAAQ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACzC,QAAQ,KAAK;AACb,KAAK,CAAC,CAAC;AACP,CAAC;;ACZM,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACE3C,MAAM,SAAS,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AACrE;AACA;AACA,AAAO,MAAM,QAAQ,GAAG;AACxB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,OAAO,EAAE,wBAAwB;AACrC,IAAI,OAAO,EAAE;AACb,QAAQ,MAAM,EAAE,gCAAgC;AAChD,QAAQ,YAAY,EAAE,SAAS;AAC/B,KAAK;AACL,IAAI,SAAS,EAAE;AACf,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,QAAQ,EAAE,EAAE;AACpB,KAAK;AACL,CAAC,CAAC;;ACdU,MAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/endpoint/package.json new file mode 100644 index 00000000..4e4d4255 --- /dev/null +++ b/node_modules/@octokit/endpoint/package.json @@ -0,0 +1,44 @@ +{ + "name": "@octokit/endpoint", + "description": "Turns REST API endpoints into generic request options", + "version": "6.0.12", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "rest" + ], + "repository": "github:octokit/endpoint.js", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/jest": "^26.0.0", + "jest": "^27.0.0", + "prettier": "2.3.1", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/graphql/LICENSE b/node_modules/@octokit/graphql/LICENSE new file mode 100644 index 00000000..af5366d0 --- /dev/null +++ b/node_modules/@octokit/graphql/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2018 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/@octokit/graphql/README.md b/node_modules/@octokit/graphql/README.md new file mode 100644 index 00000000..fe7881cf --- /dev/null +++ b/node_modules/@octokit/graphql/README.md @@ -0,0 +1,409 @@ +# graphql.js + +> GitHub GraphQL API client for browsers and Node + +[![@latest](https://img.shields.io/npm/v/@octokit/graphql.svg)](https://www.npmjs.com/package/@octokit/graphql) +[![Build Status](https://github.com/octokit/graphql.js/workflows/Test/badge.svg)](https://github.com/octokit/graphql.js/actions?query=workflow%3ATest+branch%3Amaster) + + + +- [Usage](#usage) + - [Send a simple query](#send-a-simple-query) + - [Authentication](#authentication) + - [Variables](#variables) + - [Pass query together with headers and variables](#pass-query-together-with-headers-and-variables) + - [Use with GitHub Enterprise](#use-with-github-enterprise) + - [Use custom `@octokit/request` instance](#use-custom-octokitrequest-instance) +- [TypeScript](#typescript) + - [Additional Types](#additional-types) +- [Errors](#errors) +- [Partial responses](#partial-responses) +- [Writing tests](#writing-tests) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/graphql` directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with npm install @octokit/graphql + +```js +const { graphql } = require("@octokit/graphql"); +// or: import { graphql } from "@octokit/graphql"; +``` + +
+ +### Send a simple query + +```js +const { repository } = await graphql( + ` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } + `, + { + headers: { + authorization: `token secret123`, + }, + } +); +``` + +### Authentication + +The simplest way to authenticate a request is to set the `Authorization` header, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const graphqlWithAuth = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphqlWithAuth(` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +const { createAppAuth } = require("@octokit/auth-app"); +const auth = createAppAuth({ + id: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const graphqlWithAuth = graphql.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { repository } = await graphqlWithAuth( + `{ + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + }` +); +``` + +### Variables + +⚠️ Do not use [template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) in the query strings as they make your code vulnerable to query injection attacks (see [#2](https://github.com/octokit/graphql.js/issues/2)). Use variables instead: + +```js +const { lastIssues } = await graphql( + ` + query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner: $owner, name: $repo) { + issues(last: $num) { + edges { + node { + title + } + } + } + } + } + `, + { + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, + } +); +``` + +### Pass query together with headers and variables + +```js +const { graphql } = require("@octokit/graphql"); +const { lastIssues } = await graphql({ + query: `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner:$owner, name:$repo) { + issues(last:$num) { + edges { + node { + title + } + } + } + } + }`, + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, +}); +``` + +### Use with GitHub Enterprise + +```js +let { graphql } = require("@octokit/graphql"); +graphql = graphql.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api", + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +### Use custom `@octokit/request` instance + +```js +const { request } = require("@octokit/request"); +const { withCustomRequest } = require("@octokit/graphql"); + +let requestCounter = 0; +const myRequest = request.defaults({ + headers: { + authentication: "token secret123", + }, + request: { + hook(request, options) { + requestCounter++; + return request(options); + }, + }, +}); +const myGraphql = withCustomRequest(myRequest); +await request("/"); +await myGraphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +// requestCounter is now 2 +``` + +## TypeScript + +`@octokit/graphql` is exposing proper types for its usage with TypeScript projects. + +### Additional Types + +Additionally, `GraphQlQueryResponseData` has been exposed to users: + +```ts +import type { GraphQlQueryResponseData } from "@octokit/graphql"; +``` + +## Errors + +In case of a GraphQL error, `error.message` is set to a combined message describing all errors returned by the endpoint. +All errors can be accessed at `error.errors`. `error.request` has the request options such as query, variables and headers set for easier debugging. + +```js +let { graphql, GraphqlResponseError } = require("@octokit/graphql"); +graphqlt = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const query = `{ + viewer { + bioHtml + } +}`; + +try { + const result = await graphql(query); +} catch (error) { + if (error instanceof GraphqlResponseError) { + // do something with the error, allowing you to detect a graphql response error, + // compared to accidentally catching unrelated errors. + + // server responds with an object like the following (as an example) + // class GraphqlResponseError { + // "headers": { + // "status": "403", + // }, + // "data": null, + // "errors": [{ + // "message": "Field 'bioHtml' doesn't exist on type 'User'", + // "locations": [{ + // "line": 3, + // "column": 5 + // }] + // }] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // Field 'bioHtml' doesn't exist on type 'User' + } else { + // handle non-GraphQL error + } +} +``` + +## Partial responses + +A GraphQL query may respond with partial data accompanied by errors. In this case we will throw an error but the partial data will still be accessible through `error.data` + +```js +let { graphql } = require("@octokit/graphql"); +graphql = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const query = `{ + repository(name: "probot", owner: "probot") { + name + ref(qualifiedName: "master") { + target { + ... on Commit { + history(first: 25, after: "invalid cursor") { + nodes { + message + } + } + } + } + } + } +}`; + +try { + const result = await graphql(query); +} catch (error) { + // server responds with + // { + // "data": { + // "repository": { + // "name": "probot", + // "ref": null + // } + // }, + // "errors": [ + // { + // "type": "INVALID_CURSOR_ARGUMENTS", + // "path": [ + // "repository", + // "ref", + // "target", + // "history" + // ], + // "locations": [ + // { + // "line": 7, + // "column": 11 + // } + // ], + // "message": "`invalid cursor` does not appear to be a valid cursor." + // } + // ] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // `invalid cursor` does not appear to be a valid cursor. + console.log(error.data); // { repository: { name: 'probot', ref: null } } +} +``` + +## Writing tests + +You can pass a replacement for [the built-in fetch implementation](https://github.com/bitinn/node-fetch) as `request.fetch` option. For example, using [fetch-mock](http://www.wheresrhys.co.uk/fetch-mock/) works great to write tests + +```js +const assert = require("assert"); +const fetchMock = require("fetch-mock/es5/server"); + +const { graphql } = require("@octokit/graphql"); + +graphql("{ viewer { login } }", { + headers: { + authorization: "token secret123", + }, + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", (url, options) => { + assert.strictEqual(options.headers.authorization, "token secret123"); + assert.strictEqual( + options.body, + '{"query":"{ viewer { login } }"}', + "Sends correct query" + ); + return { data: {} }; + }), + }, +}); +``` + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/graphql/dist-node/index.js b/node_modules/@octokit/graphql/dist-node/index.js new file mode 100644 index 00000000..6401417b --- /dev/null +++ b/node_modules/@octokit/graphql/dist-node/index.js @@ -0,0 +1,118 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var request = require('@octokit/request'); +var universalUserAgent = require('universal-user-agent'); + +const VERSION = "4.8.0"; + +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); +} + +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. + + this.errors = response.errors; + this.data = response.data; // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + +} + +const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + + const parsedOptions = typeof query === "string" ? Object.assign({ + query + }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + + if (!result.variables) { + result.variables = {}; + } + + result.variables[key] = parsedOptions[key]; + return result; + }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + + return request(requestOptions).then(response => { + if (response.data.errors) { + const headers = {}; + + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + + return response.data.data; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.request.endpoint + }); +} + +const graphql$1 = withDefaults(request.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} + +exports.GraphqlResponseError = GraphqlResponseError; +exports.graphql = graphql$1; +exports.withCustomRequest = withCustomRequest; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/graphql/dist-node/index.js.map b/node_modules/@octokit/graphql/dist-node/index.js.map new file mode 100644 index 00000000..873a8d4e --- /dev/null +++ b/node_modules/@octokit/graphql/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["VERSION","_buildMessageForResponseErrors","data","errors","map","e","message","join","GraphqlResponseError","Error","constructor","request","headers","response","name","captureStackTrace","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","query","options","Promise","reject","key","includes","parsedOptions","Object","assign","requestOptions","keys","reduce","result","variables","baseUrl","endpoint","DEFAULTS","test","url","replace","then","withDefaults","newDefaults","newRequest","defaults","newApi","bind","Request","getUserAgent","method","withCustomRequest","customRequest"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAP,SAASC,8BAAT,CAAwCC,IAAxC,EAA8C;AAC1C,SAAS,oDAAD,GACJA,IAAI,CAACC,MAAL,CAAYC,GAAZ,CAAiBC,CAAD,IAAQ,MAAKA,CAAC,CAACC,OAAQ,EAAvC,EAA0CC,IAA1C,CAA+C,IAA/C,CADJ;AAEH;;AACD,AAAO,MAAMC,oBAAN,SAAmCC,KAAnC,CAAyC;AAC5CC,EAAAA,WAAW,CAACC,OAAD,EAAUC,OAAV,EAAmBC,QAAnB,EAA6B;AACpC,UAAMZ,8BAA8B,CAACY,QAAD,CAApC;AACA,SAAKF,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,IAAL,GAAY,sBAAZ,CALoC;;AAOpC,SAAKX,MAAL,GAAcU,QAAQ,CAACV,MAAvB;AACA,SAAKD,IAAL,GAAYW,QAAQ,CAACX,IAArB,CARoC;;AAUpC;;AACA,QAAIO,KAAK,CAACM,iBAAV,EAA6B;AACzBN,MAAAA,KAAK,CAACM,iBAAN,CAAwB,IAAxB,EAA8B,KAAKL,WAAnC;AACH;AACJ;;AAf2C;;ACHhD,MAAMM,oBAAoB,GAAG,CACzB,QADyB,EAEzB,SAFyB,EAGzB,KAHyB,EAIzB,SAJyB,EAKzB,SALyB,EAMzB,OANyB,EAOzB,WAPyB,CAA7B;AASA,MAAMC,0BAA0B,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,CAAnC;AACA,MAAMC,oBAAoB,GAAG,eAA7B;AACA,AAAO,SAASC,OAAT,CAAiBR,OAAjB,EAA0BS,KAA1B,EAAiCC,OAAjC,EAA0C;AAC7C,MAAIA,OAAJ,EAAa;AACT,QAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6B,WAAWC,OAA5C,EAAqD;AACjD,aAAOC,OAAO,CAACC,MAAR,CAAe,IAAId,KAAJ,CAAW,4DAAX,CAAf,CAAP;AACH;;AACD,SAAK,MAAMe,GAAX,IAAkBH,OAAlB,EAA2B;AACvB,UAAI,CAACJ,0BAA0B,CAACQ,QAA3B,CAAoCD,GAApC,CAAL,EACI;AACJ,aAAOF,OAAO,CAACC,MAAR,CAAe,IAAId,KAAJ,CAAW,uBAAsBe,GAAI,mCAArC,CAAf,CAAP;AACH;AACJ;;AACD,QAAME,aAAa,GAAG,OAAON,KAAP,KAAiB,QAAjB,GAA4BO,MAAM,CAACC,MAAP,CAAc;AAAER,IAAAA;AAAF,GAAd,EAAyBC,OAAzB,CAA5B,GAAgED,KAAtF;AACA,QAAMS,cAAc,GAAGF,MAAM,CAACG,IAAP,CAAYJ,aAAZ,EAA2BK,MAA3B,CAAkC,CAACC,MAAD,EAASR,GAAT,KAAiB;AACtE,QAAIR,oBAAoB,CAACS,QAArB,CAA8BD,GAA9B,CAAJ,EAAwC;AACpCQ,MAAAA,MAAM,CAACR,GAAD,CAAN,GAAcE,aAAa,CAACF,GAAD,CAA3B;AACA,aAAOQ,MAAP;AACH;;AACD,QAAI,CAACA,MAAM,CAACC,SAAZ,EAAuB;AACnBD,MAAAA,MAAM,CAACC,SAAP,GAAmB,EAAnB;AACH;;AACDD,IAAAA,MAAM,CAACC,SAAP,CAAiBT,GAAjB,IAAwBE,aAAa,CAACF,GAAD,CAArC;AACA,WAAOQ,MAAP;AACH,GAVsB,EAUpB,EAVoB,CAAvB,CAZ6C;AAwB7C;;AACA,QAAME,OAAO,GAAGR,aAAa,CAACQ,OAAd,IAAyBvB,OAAO,CAACwB,QAAR,CAAiBC,QAAjB,CAA0BF,OAAnE;;AACA,MAAIhB,oBAAoB,CAACmB,IAArB,CAA0BH,OAA1B,CAAJ,EAAwC;AACpCL,IAAAA,cAAc,CAACS,GAAf,GAAqBJ,OAAO,CAACK,OAAR,CAAgBrB,oBAAhB,EAAsC,cAAtC,CAArB;AACH;;AACD,SAAOP,OAAO,CAACkB,cAAD,CAAP,CAAwBW,IAAxB,CAA8B3B,QAAD,IAAc;AAC9C,QAAIA,QAAQ,CAACX,IAAT,CAAcC,MAAlB,EAA0B;AACtB,YAAMS,OAAO,GAAG,EAAhB;;AACA,WAAK,MAAMY,GAAX,IAAkBG,MAAM,CAACG,IAAP,CAAYjB,QAAQ,CAACD,OAArB,CAAlB,EAAiD;AAC7CA,QAAAA,OAAO,CAACY,GAAD,CAAP,GAAeX,QAAQ,CAACD,OAAT,CAAiBY,GAAjB,CAAf;AACH;;AACD,YAAM,IAAIhB,oBAAJ,CAAyBqB,cAAzB,EAAyCjB,OAAzC,EAAkDC,QAAQ,CAACX,IAA3D,CAAN;AACH;;AACD,WAAOW,QAAQ,CAACX,IAAT,CAAcA,IAArB;AACH,GATM,CAAP;AAUH;;ACjDM,SAASuC,YAAT,CAAsB9B,SAAtB,EAA+B+B,WAA/B,EAA4C;AAC/C,QAAMC,UAAU,GAAGhC,SAAO,CAACiC,QAAR,CAAiBF,WAAjB,CAAnB;;AACA,QAAMG,MAAM,GAAG,CAACzB,KAAD,EAAQC,OAAR,KAAoB;AAC/B,WAAOF,OAAO,CAACwB,UAAD,EAAavB,KAAb,EAAoBC,OAApB,CAAd;AACH,GAFD;;AAGA,SAAOM,MAAM,CAACC,MAAP,CAAciB,MAAd,EAAsB;AACzBD,IAAAA,QAAQ,EAAEH,YAAY,CAACK,IAAb,CAAkB,IAAlB,EAAwBH,UAAxB,CADe;AAEzBR,IAAAA,QAAQ,EAAEY,eAAO,CAACZ;AAFO,GAAtB,CAAP;AAIH;;MCPYhB,SAAO,GAAGsB,YAAY,CAAC9B,eAAD,EAAU;AACzCC,EAAAA,OAAO,EAAE;AACL,kBAAe,sBAAqBZ,OAAQ,IAAGgD,+BAAY,EAAG;AADzD,GADgC;AAIzCC,EAAAA,MAAM,EAAE,MAJiC;AAKzCX,EAAAA,GAAG,EAAE;AALoC,CAAV,CAA5B;AAOP,AACO,SAASY,iBAAT,CAA2BC,aAA3B,EAA0C;AAC7C,SAAOV,YAAY,CAACU,aAAD,EAAgB;AAC/BF,IAAAA,MAAM,EAAE,MADuB;AAE/BX,IAAAA,GAAG,EAAE;AAF0B,GAAhB,CAAnB;AAIH;;;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/graphql/dist-src/error.js b/node_modules/@octokit/graphql/dist-src/error.js new file mode 100644 index 00000000..182f967a --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/error.js @@ -0,0 +1,21 @@ +function _buildMessageForResponseErrors(data) { + return (`Request failed due to following response errors:\n` + + data.errors.map((e) => ` - ${e.message}`).join("\n")); +} +export class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + // Expose the errors and response data in their shorthand properties. + this.errors = response.errors; + this.data = response.data; + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} diff --git a/node_modules/@octokit/graphql/dist-src/graphql.js b/node_modules/@octokit/graphql/dist-src/graphql.js new file mode 100644 index 00000000..8297f845 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/graphql.js @@ -0,0 +1,52 @@ +import { GraphqlResponseError } from "./error"; +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", +]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +export function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) + continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + return response.data.data; + }); +} diff --git a/node_modules/@octokit/graphql/dist-src/index.js b/node_modules/@octokit/graphql/dist-src/index.js new file mode 100644 index 00000000..2a7d06b9 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/index.js @@ -0,0 +1,18 @@ +import { request } from "@octokit/request"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +import { withDefaults } from "./with-defaults"; +export const graphql = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`, + }, + method: "POST", + url: "/graphql", +}); +export { GraphqlResponseError } from "./error"; +export function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql", + }); +} diff --git a/node_modules/@octokit/graphql/dist-src/types.js b/node_modules/@octokit/graphql/dist-src/types.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/graphql/dist-src/version.js b/node_modules/@octokit/graphql/dist-src/version.js new file mode 100644 index 00000000..3a4f8fff --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "4.8.0"; diff --git a/node_modules/@octokit/graphql/dist-src/with-defaults.js b/node_modules/@octokit/graphql/dist-src/with-defaults.js new file mode 100644 index 00000000..6ea309e3 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/with-defaults.js @@ -0,0 +1,12 @@ +import { request as Request } from "@octokit/request"; +import { graphql } from "./graphql"; +export function withDefaults(request, newDefaults) { + const newRequest = request.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: Request.endpoint, + }); +} diff --git a/node_modules/@octokit/graphql/dist-types/error.d.ts b/node_modules/@octokit/graphql/dist-types/error.d.ts new file mode 100644 index 00000000..3bd37ada --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/error.d.ts @@ -0,0 +1,13 @@ +import { ResponseHeaders } from "@octokit/types"; +import { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types"; +declare type ServerResponseData = Required>; +export declare class GraphqlResponseError extends Error { + readonly request: GraphQlEndpointOptions; + readonly headers: ResponseHeaders; + readonly response: ServerResponseData; + name: string; + readonly errors: GraphQlQueryResponse["errors"]; + readonly data: ResponseData; + constructor(request: GraphQlEndpointOptions, headers: ResponseHeaders, response: ServerResponseData); +} +export {}; diff --git a/node_modules/@octokit/graphql/dist-types/graphql.d.ts b/node_modules/@octokit/graphql/dist-types/graphql.d.ts new file mode 100644 index 00000000..2942b8b6 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/graphql.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import { RequestParameters, GraphQlQueryResponseData } from "./types"; +export declare function graphql(request: typeof Request, query: string | RequestParameters, options?: RequestParameters): Promise; diff --git a/node_modules/@octokit/graphql/dist-types/index.d.ts b/node_modules/@octokit/graphql/dist-types/index.d.ts new file mode 100644 index 00000000..282f98ae --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/index.d.ts @@ -0,0 +1,5 @@ +import { request } from "@octokit/request"; +export declare const graphql: import("./types").graphql; +export { GraphQlQueryResponseData } from "./types"; +export { GraphqlResponseError } from "./error"; +export declare function withCustomRequest(customRequest: typeof request): import("./types").graphql; diff --git a/node_modules/@octokit/graphql/dist-types/types.d.ts b/node_modules/@octokit/graphql/dist-types/types.d.ts new file mode 100644 index 00000000..b266bdbb --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/types.d.ts @@ -0,0 +1,55 @@ +import { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types"; +export declare type GraphQlEndpointOptions = EndpointOptions & { + variables?: { + [key: string]: unknown; + }; +}; +export declare type RequestParameters = RequestParametersType; +export declare type Query = string; +export interface graphql { + /** + * Sends a GraphQL query request based on endpoint options + * The GraphQL query must be specified in `options`. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: RequestParameters): GraphQlResponse; + /** + * Sends a GraphQL query request based on endpoint options + * + * @param {string} query GraphQL query. Example: `'query { viewer { login } }'`. + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (query: Query, parameters?: RequestParameters): GraphQlResponse; + /** + * Returns a new `endpoint` with updated route and parameters + */ + defaults: (newDefaults: RequestParameters) => graphql; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} +export declare type GraphQlResponse = Promise; +export declare type GraphQlQueryResponseData = { + [key: string]: any; +}; +export declare type GraphQlQueryResponse = { + data: ResponseData; + errors?: [ + { + type: string; + message: string; + path: [string]; + extensions: { + [key: string]: any; + }; + locations: [ + { + line: number; + column: number; + } + ]; + } + ]; +}; diff --git a/node_modules/@octokit/graphql/dist-types/version.d.ts b/node_modules/@octokit/graphql/dist-types/version.d.ts new file mode 100644 index 00000000..e80848ef --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "4.8.0"; diff --git a/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts b/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts new file mode 100644 index 00000000..03edc320 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import { graphql as ApiInterface, RequestParameters } from "./types"; +export declare function withDefaults(request: typeof Request, newDefaults: RequestParameters): ApiInterface; diff --git a/node_modules/@octokit/graphql/dist-web/index.js b/node_modules/@octokit/graphql/dist-web/index.js new file mode 100644 index 00000000..5307e263 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-web/index.js @@ -0,0 +1,106 @@ +import { request } from '@octokit/request'; +import { getUserAgent } from 'universal-user-agent'; + +const VERSION = "4.8.0"; + +function _buildMessageForResponseErrors(data) { + return (`Request failed due to following response errors:\n` + + data.errors.map((e) => ` - ${e.message}`).join("\n")); +} +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + // Expose the errors and response data in their shorthand properties. + this.errors = response.errors; + this.data = response.data; + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} + +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", +]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) + continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + return response.data.data; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.endpoint, + }); +} + +const graphql$1 = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`, + }, + method: "POST", + url: "/graphql", +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql", + }); +} + +export { GraphqlResponseError, graphql$1 as graphql, withCustomRequest }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/graphql/dist-web/index.js.map b/node_modules/@octokit/graphql/dist-web/index.js.map new file mode 100644 index 00000000..3c6a6ed8 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["request","Request","graphql"],"mappings":";;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACA1C,SAAS,8BAA8B,CAAC,IAAI,EAAE;AAC9C,IAAI,QAAQ,CAAC,kDAAkD,CAAC;AAChE,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC9D,CAAC;AACD,AAAO,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAChD,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC5C,QAAQ,KAAK,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;AAC3C;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACtC,QAAQ,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAClC;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,KAAK;AACL,CAAC;;ACnBD,MAAM,oBAAoB,GAAG;AAC7B,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,WAAW;AACf,CAAC,CAAC;AACF,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9D,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,AAAO,SAAS,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AACjD,IAAI,IAAI,OAAO,EAAE;AACjB,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,EAAE;AAC7D,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,CAAC;AAC3G,SAAS;AACT,QAAQ,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AACnC,YAAY,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzD,gBAAgB,SAAS;AACzB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC;AAC5G,SAAS;AACT,KAAK;AACL,IAAI,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;AAChG,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AAC9E,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAChD,YAAY,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7C,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC/B,YAAY,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;AAClC,SAAS;AACT,QAAQ,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACnD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;AACA;AACA,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/E,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC5C,QAAQ,cAAc,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK;AACtD,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AAClC,YAAY,MAAM,OAAO,GAAG,EAAE,CAAC;AAC/B,YAAY,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC7D,gBAAgB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACrD,aAAa;AACb,YAAY,MAAM,IAAI,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnF,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACjDM,SAAS,YAAY,CAACA,SAAO,EAAE,WAAW,EAAE;AACnD,IAAI,MAAM,UAAU,GAAGA,SAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AACvC,QAAQ,OAAO,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACnD,KAAK,CAAC;AACN,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;AACrD,QAAQ,QAAQ,EAAEC,OAAO,CAAC,QAAQ;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACPW,MAACC,SAAO,GAAG,YAAY,CAAC,OAAO,EAAE;AAC7C,IAAI,OAAO,EAAE;AACb,QAAQ,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,GAAG,EAAE,UAAU;AACnB,CAAC,CAAC,CAAC;AACH,AACO,SAAS,iBAAiB,CAAC,aAAa,EAAE;AACjD,IAAI,OAAO,YAAY,CAAC,aAAa,EAAE;AACvC,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,GAAG,EAAE,UAAU;AACvB,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/graphql/package.json b/node_modules/@octokit/graphql/package.json new file mode 100644 index 00000000..9ba3cb73 --- /dev/null +++ b/node_modules/@octokit/graphql/package.json @@ -0,0 +1,47 @@ +{ + "name": "@octokit/graphql", + "description": "GitHub GraphQL API client for browsers and Node", + "version": "4.8.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "graphql" + ], + "repository": "github:octokit/graphql.js", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.2.5", + "@types/jest": "^27.0.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "jest": "^27.0.0", + "prettier": "2.3.2", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.0" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@octokit/openapi-types/LICENSE new file mode 100644 index 00000000..c61fbbe5 --- /dev/null +++ b/node_modules/@octokit/openapi-types/LICENSE @@ -0,0 +1,7 @@ +Copyright 2020 Gregor Martynus + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/openapi-types/README.md new file mode 100644 index 00000000..9da833cf --- /dev/null +++ b/node_modules/@octokit/openapi-types/README.md @@ -0,0 +1,17 @@ +# @octokit/openapi-types + +> Generated TypeScript definitions based on GitHub's OpenAPI spec + +This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) + +## Usage + +```ts +import { components } from "@octokit/openapi-types"; + +type Repository = components["schemas"]["full-repository"]; +``` + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/openapi-types/package.json new file mode 100644 index 00000000..4c43b5e8 --- /dev/null +++ b/node_modules/@octokit/openapi-types/package.json @@ -0,0 +1,20 @@ +{ + "name": "@octokit/openapi-types", + "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", + "repository": { + "type": "git", + "url": "https://github.com/octokit/openapi-types.ts.git", + "directory": "packages/openapi-types" + }, + "publishConfig": { + "access": "public" + }, + "version": "11.2.0", + "main": "", + "types": "types.d.ts", + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "octokit": { + "openapi-version": "5.9.0" + } +} diff --git a/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/openapi-types/types.d.ts new file mode 100644 index 00000000..00a5b9a3 --- /dev/null +++ b/node_modules/@octokit/openapi-types/types.d.ts @@ -0,0 +1,34021 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/": { + /** Get Hypermedia links to resources accessible in GitHub's REST API */ + get: operations["meta/root"]; + }; + "/app": { + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-authenticated"]; + }; + "/app-manifests/{code}/conversions": { + /** Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ + post: operations["apps/create-from-manifest"]; + }; + "/app/hook/config": { + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-config-for-app"]; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + patch: operations["apps/update-webhook-config-for-app"]; + }; + "/app/hook/deliveries": { + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/list-webhook-deliveries"]; + }; + "/app/hook/deliveries/{delivery_id}": { + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-delivery"]; + }; + "/app/hook/deliveries/{delivery_id}/attempts": { + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/redeliver-webhook-delivery"]; + }; + "/app/installations": { + /** + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + get: operations["apps/list-installations"]; + }; + "/app/installations/{installation_id}": { + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-installation"]; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/delete-installation"]; + }; + "/app/installations/{installation_id}/access_tokens": { + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/create-installation-access-token"]; + }; + "/app/installations/{installation_id}/suspended": { + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + put: operations["apps/suspend-installation"]; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/unsuspend-installation"]; + }; + "/applications/grants": { + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + */ + get: operations["oauth-authorizations/list-grants"]; + }; + "/applications/grants/{grant_id}": { + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/get-grant"]; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + delete: operations["oauth-authorizations/delete-grant"]; + }; + "/applications/{client_id}/grant": { + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + delete: operations["apps/delete-authorization"]; + }; + "/applications/{client_id}/token": { + /** OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ + post: operations["apps/check-token"]; + /** OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. */ + delete: operations["apps/delete-token"]; + /** OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + patch: operations["apps/reset-token"]; + }; + "/applications/{client_id}/token/scoped": { + /** Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + post: operations["apps/scope-token"]; + }; + "/apps/{app_slug}": { + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + get: operations["apps/get-by-slug"]; + }; + "/authorizations": { + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/list-authorizations"]; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + * + * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + */ + post: operations["oauth-authorizations/create-authorization"]; + }; + "/authorizations/clients/{client_id}": { + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + put: operations["oauth-authorizations/get-or-create-authorization-for-app"]; + }; + "/authorizations/clients/{client_id}/{fingerprint}": { + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + */ + put: operations["oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint"]; + }; + "/authorizations/{authorization_id}": { + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/get-authorization"]; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + delete: operations["oauth-authorizations/delete-authorization"]; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + */ + patch: operations["oauth-authorizations/update-authorization"]; + }; + "/codes_of_conduct": { + get: operations["codes-of-conduct/get-all-codes-of-conduct"]; + }; + "/codes_of_conduct/{key}": { + get: operations["codes-of-conduct/get-conduct-code"]; + }; + "/emojis": { + /** Lists all the emojis available to use on GitHub. */ + get: operations["emojis/get"]; + }; + "/enterprises/{enterprise}/actions/permissions": { + /** + * Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-github-actions-permissions-enterprise"]; + /** + * Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-github-actions-permissions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/organizations": { + /** + * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise"]; + /** + * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}": { + /** + * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/enable-selected-organization-github-actions-enterprise"]; + /** + * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/disable-selected-organization-github-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/selected-actions": { + /** + * Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-allowed-actions-enterprise"]; + /** + * Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-allowed-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups": { + /** + * Lists all self-hosted runner groups for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-self-hosted-runner-groups-for-enterprise"]; + /** + * Creates a new self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + post: operations["enterprise-admin/create-self-hosted-runner-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": { + /** + * Gets a specific self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-self-hosted-runner-group-for-enterprise"]; + /** + * Deletes a self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/delete-self-hosted-runner-group-from-enterprise"]; + /** + * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + patch: operations["enterprise-admin/update-self-hosted-runner-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": { + /** + * Lists the organizations with access to a self-hosted runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise"]; + /** + * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": { + /** + * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise"]; + /** + * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": { + /** + * Lists the self-hosted runners that are in a specific enterprise group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-self-hosted-runners-in-group-for-enterprise"]; + /** + * Replaces the list of self-hosted runners that are part of an enterprise runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-self-hosted-runners-in-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + /** + * Adds a self-hosted runner to a runner group configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` + * scope to use this endpoint. + */ + put: operations["enterprise-admin/add-self-hosted-runner-to-group-for-enterprise"]; + /** + * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners": { + /** + * Lists all self-hosted runners configured for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-self-hosted-runners-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/downloads": { + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-runner-applications-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/registration-token": { + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN + * ``` + */ + post: operations["enterprise-admin/create-registration-token-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/remove-token": { + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["enterprise-admin/create-remove-token-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/{runner_id}": { + /** + * Gets a specific self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-self-hosted-runner-for-enterprise"]; + /** + * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/delete-self-hosted-runner-from-enterprise"]; + }; + "/enterprises/{enterprise}/audit-log": { + /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ + get: operations["enterprise-admin/get-audit-log"]; + }; + "/enterprises/{enterprise}/settings/billing/actions": { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * The authenticated user must be an enterprise admin. + */ + get: operations["billing/get-github-actions-billing-ghe"]; + }; + "/enterprises/{enterprise}/settings/billing/packages": { + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + get: operations["billing/get-github-packages-billing-ghe"]; + }; + "/enterprises/{enterprise}/settings/billing/shared-storage": { + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + get: operations["billing/get-shared-storage-billing-ghe"]; + }; + "/events": { + /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ + get: operations["activity/list-public-events"]; + }; + "/feeds": { + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + get: operations["activity/get-feeds"]; + }; + "/gists": { + /** Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ + get: operations["gists/list"]; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + post: operations["gists/create"]; + }; + "/gists/public": { + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + get: operations["gists/list-public"]; + }; + "/gists/starred": { + /** List the authenticated user's starred gists: */ + get: operations["gists/list-starred"]; + }; + "/gists/{gist_id}": { + get: operations["gists/get"]; + delete: operations["gists/delete"]; + /** Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. */ + patch: operations["gists/update"]; + }; + "/gists/{gist_id}/comments": { + get: operations["gists/list-comments"]; + post: operations["gists/create-comment"]; + }; + "/gists/{gist_id}/comments/{comment_id}": { + get: operations["gists/get-comment"]; + delete: operations["gists/delete-comment"]; + patch: operations["gists/update-comment"]; + }; + "/gists/{gist_id}/commits": { + get: operations["gists/list-commits"]; + }; + "/gists/{gist_id}/forks": { + get: operations["gists/list-forks"]; + /** **Note**: This was previously `/gists/:gist_id/fork`. */ + post: operations["gists/fork"]; + }; + "/gists/{gist_id}/star": { + get: operations["gists/check-is-starred"]; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + put: operations["gists/star"]; + delete: operations["gists/unstar"]; + }; + "/gists/{gist_id}/{sha}": { + get: operations["gists/get-revision"]; + }; + "/gitignore/templates": { + /** List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). */ + get: operations["gitignore/get-all-templates"]; + }; + "/gitignore/templates/{name}": { + /** + * The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + get: operations["gitignore/get-template"]; + }; + "/installation/repositories": { + /** + * List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + get: operations["apps/list-repos-accessible-to-installation"]; + }; + "/installation/token": { + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + delete: operations["apps/revoke-installation-access-token"]; + }; + "/issues": { + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list"]; + }; + "/licenses": { + get: operations["licenses/get-all-commonly-used"]; + }; + "/licenses/{license}": { + get: operations["licenses/get"]; + }; + "/markdown": { + post: operations["markdown/render"]; + }; + "/markdown/raw": { + /** You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ + post: operations["markdown/render-raw"]; + }; + "/marketplace_listing/accounts/{account_id}": { + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account"]; + }; + "/marketplace_listing/plans": { + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans"]; + }; + "/marketplace_listing/plans/{plan_id}/accounts": { + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan"]; + }; + "/marketplace_listing/stubbed/accounts/{account_id}": { + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account-stubbed"]; + }; + "/marketplace_listing/stubbed/plans": { + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans-stubbed"]; + }; + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan-stubbed"]; + }; + "/meta": { + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/)." + * + * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. + */ + get: operations["meta/get"]; + }; + "/networks/{owner}/{repo}/events": { + get: operations["activity/list-public-events-for-repo-network"]; + }; + "/notifications": { + /** List all notifications for the current user, sorted by most recently updated. */ + get: operations["activity/list-notifications-for-authenticated-user"]; + /** Marks all notifications as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + put: operations["activity/mark-notifications-as-read"]; + }; + "/notifications/threads/{thread_id}": { + get: operations["activity/get-thread"]; + patch: operations["activity/mark-thread-as-read"]; + }; + "/notifications/threads/{thread_id}/subscription": { + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + get: operations["activity/get-thread-subscription-for-authenticated-user"]; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + put: operations["activity/set-thread-subscription"]; + /** Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ + delete: operations["activity/delete-thread-subscription"]; + }; + "/octocat": { + /** Get the octocat as ASCII art */ + get: operations["meta/get-octocat"]; + }; + "/organizations": { + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + get: operations["orgs/list"]; + }; + "/orgs/{org}": { + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + get: operations["orgs/get"]; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + patch: operations["orgs/update"]; + }; + "/orgs/{org}/actions/permissions": { + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-github-actions-permissions-organization"]; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-github-actions-permissions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories": { + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/enable-selected-repository-github-actions-organization"]; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + delete: operations["actions/disable-selected-repository-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/selected-actions": { + /** + * Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-allowed-actions-organization"]; + /** + * Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-allowed-actions-organization"]; + }; + "/orgs/{org}/actions/runner-groups": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runner-groups-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Creates a new self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["actions/create-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Gets a specific self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-group-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Deletes a self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-group-from-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + patch: operations["actions/update-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists self-hosted runners that are in a specific organization group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-in-group-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of self-hosted runners that are part of an organization runner group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-self-hosted-runners-in-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a self-hosted runner to a runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + put: operations["actions/add-self-hosted-runner-to-group-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-self-hosted-runner-from-group-for-org"]; + }; + "/orgs/{org}/actions/runners": { + /** + * Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-for-org"]; + }; + "/orgs/{org}/actions/runners/downloads": { + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-runner-applications-for-org"]; + }; + "/orgs/{org}/actions/runners/registration-token": { + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + post: operations["actions/create-registration-token-for-org"]; + }; + "/orgs/{org}/actions/runners/remove-token": { + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["actions/create-remove-token-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}": { + /** + * Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-for-org"]; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-org"]; + }; + "/orgs/{org}/actions/secrets": { + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/list-org-secrets"]; + }; + "/orgs/{org}/actions/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/get-org-public-key"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}": { + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/get-org-secret"]; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-org-secret"]; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + delete: operations["actions/delete-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/list-selected-repos-for-org-secret"]; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + put: operations["actions/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + put: operations["actions/add-selected-repo-to-org-secret"]; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + delete: operations["actions/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/audit-log": { + /** + * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." + * + * To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + */ + get: operations["orgs/get-audit-log"]; + }; + "/orgs/{org}/blocks": { + /** List the users blocked by an organization. */ + get: operations["orgs/list-blocked-users"]; + }; + "/orgs/{org}/blocks/{username}": { + get: operations["orgs/check-blocked-user"]; + put: operations["orgs/block-user"]; + delete: operations["orgs/unblock-user"]; + }; + "/orgs/{org}/credential-authorizations": { + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://help.github.com/en/articles/about-authentication-with-saml-single-sign-on). + */ + get: operations["orgs/list-saml-sso-authorizations"]; + }; + "/orgs/{org}/credential-authorizations/{credential_id}": { + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. + */ + delete: operations["orgs/remove-saml-sso-authorization"]; + }; + "/orgs/{org}/events": { + get: operations["activity/list-public-org-events"]; + }; + "/orgs/{org}/failed_invitations": { + /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ + get: operations["orgs/list-failed-invitations"]; + }; + "/orgs/{org}/hooks": { + get: operations["orgs/list-webhooks"]; + /** Here's how you can create a hook that posts payloads in JSON format: */ + post: operations["orgs/create-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}": { + /** Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." */ + get: operations["orgs/get-webhook"]; + delete: operations["orgs/delete-webhook"]; + /** Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." */ + patch: operations["orgs/update-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}/config": { + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + get: operations["orgs/get-webhook-config-for-org"]; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + patch: operations["orgs/update-webhook-config-for-org"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries": { + /** Returns a list of webhook deliveries for a webhook configured in an organization. */ + get: operations["orgs/list-webhook-deliveries"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** Returns a delivery for a webhook configured in an organization. */ + get: operations["orgs/get-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** Redeliver a delivery for a webhook configured in an organization. */ + post: operations["orgs/redeliver-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/pings": { + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + post: operations["orgs/ping-webhook"]; + }; + "/orgs/{org}/installation": { + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-org-installation"]; + }; + "/orgs/{org}/installations": { + /** Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ + get: operations["orgs/list-app-installations"]; + }; + "/orgs/{org}/interaction-limits": { + /** Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. */ + get: operations["interactions/get-restrictions-for-org"]; + /** Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ + put: operations["interactions/set-restrictions-for-org"]; + /** Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ + delete: operations["interactions/remove-restrictions-for-org"]; + }; + "/orgs/{org}/invitations": { + /** The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ + get: operations["orgs/list-pending-invitations"]; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["orgs/create-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}": { + /** + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + delete: operations["orgs/cancel-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}/teams": { + /** List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ + get: operations["orgs/list-invitation-teams"]; + }; + "/orgs/{org}/issues": { + /** + * List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-org"]; + }; + "/orgs/{org}/members": { + /** List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ + get: operations["orgs/list-members"]; + }; + "/orgs/{org}/members/{username}": { + /** Check if a user is, publicly or privately, a member of the organization. */ + get: operations["orgs/check-membership-for-user"]; + /** Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ + delete: operations["orgs/remove-member"]; + }; + "/orgs/{org}/memberships/{username}": { + /** In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ + get: operations["orgs/get-membership-for-user"]; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + put: operations["orgs/set-membership-for-user"]; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + delete: operations["orgs/remove-membership-for-user"]; + }; + "/orgs/{org}/migrations": { + /** Lists the most recent migrations. */ + get: operations["migrations/list-for-org"]; + /** Initiates the generation of a migration archive. */ + post: operations["migrations/start-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}": { + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + get: operations["migrations/get-status-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/archive": { + /** Fetches the URL to a migration archive. */ + get: operations["migrations/download-archive-for-org"]; + /** Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ + delete: operations["migrations/delete-archive-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + /** Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */ + delete: operations["migrations/unlock-repo-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repositories": { + /** List all the repositories for this organization migration. */ + get: operations["migrations/list-repos-for-org"]; + }; + "/orgs/{org}/outside_collaborators": { + /** List all users who are outside collaborators of an organization. */ + get: operations["orgs/list-outside-collaborators"]; + }; + "/orgs/{org}/outside_collaborators/{username}": { + /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". */ + put: operations["orgs/convert-member-to-outside-collaborator"]; + /** Removing a user from this list will remove them from all the organization's repositories. */ + delete: operations["orgs/remove-outside-collaborator"]; + }; + "/orgs/{org}/packages": { + /** + * Lists all packages in an organization readable by the user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-organization"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}": { + /** + * Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-organization"]; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/restore": { + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-organization"]; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-version-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-version-for-org"]; + }; + "/orgs/{org}/projects": { + /** Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + get: operations["projects/list-for-org"]; + /** Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + post: operations["projects/create-for-org"]; + }; + "/orgs/{org}/public_members": { + /** Members of an organization can choose to have their membership publicized or not. */ + get: operations["orgs/list-public-members"]; + }; + "/orgs/{org}/public_members/{username}": { + get: operations["orgs/check-public-membership-for-user"]; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["orgs/set-public-membership-for-authenticated-user"]; + delete: operations["orgs/remove-public-membership-for-authenticated-user"]; + }; + "/orgs/{org}/repos": { + /** Lists repositories for the specified organization. */ + get: operations["repos/list-for-org"]; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + post: operations["repos/create-in-org"]; + }; + "/orgs/{org}/secret-scanning/alerts": { + /** + * Lists all secret scanning alerts for all eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-org"]; + }; + "/orgs/{org}/settings/billing/actions": { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-github-actions-billing-org"]; + }; + "/orgs/{org}/settings/billing/packages": { + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-github-packages-billing-org"]; + }; + "/orgs/{org}/settings/billing/shared-storage": { + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-shared-storage-billing-org"]; + }; + "/orgs/{org}/team-sync/groups": { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + */ + get: operations["teams/list-idp-groups-for-org"]; + }; + "/orgs/{org}/teams": { + /** Lists all teams in an organization that are visible to the authenticated user. */ + get: operations["teams/list"]; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + post: operations["teams/create"]; + }; + "/orgs/{org}/teams/{team_slug}": { + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + get: operations["teams/get-by-name"]; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + delete: operations["teams/delete-in-org"]; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + patch: operations["teams/update-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions": { + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + get: operations["teams/list-discussions-in-org"]; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ + post: operations["teams/create-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + get: operations["teams/get-discussion-in-org"]; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + delete: operations["teams/delete-discussion-in-org"]; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + patch: operations["teams/update-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + get: operations["teams/list-discussion-comments-in-org"]; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + post: operations["teams/create-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + get: operations["teams/get-discussion-comment-in-org"]; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + delete: operations["teams/delete-discussion-comment-in-org"]; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + patch: operations["teams/update-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + get: operations["reactions/list-for-team-discussion-comment-in-org"]; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + post: operations["reactions/create-for-team-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["reactions/delete-for-team-discussion-comment"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + get: operations["reactions/list-for-team-discussion-in-org"]; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + post: operations["reactions/create-for-team-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["reactions/delete-for-team-discussion"]; + }; + "/orgs/{org}/teams/{team_slug}/invitations": { + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + get: operations["teams/list-pending-invitations-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/members": { + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/list-members-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-in-org"]; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + put: operations["teams/add-or-update-membership-for-user-in-org"]; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + delete: operations["teams/remove-membership-for-user-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects": { + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + get: operations["teams/list-projects-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + get: operations["teams/check-permissions-for-project-in-org"]; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + put: operations["teams/add-or-update-project-permissions-in-org"]; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + delete: operations["teams/remove-project-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos": { + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + get: operations["teams/list-repos-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + get: operations["teams/check-permissions-for-repo-in-org"]; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + put: operations["teams/add-or-update-repo-permissions-in-org"]; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + delete: operations["teams/remove-repo-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + get: operations["teams/list-idp-groups-in-org"]; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + patch: operations["teams/create-or-update-idp-group-connections-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/teams": { + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + get: operations["teams/list-child-in-org"]; + }; + "/projects/columns/cards/{card_id}": { + get: operations["projects/get-card"]; + delete: operations["projects/delete-card"]; + patch: operations["projects/update-card"]; + }; + "/projects/columns/cards/{card_id}/moves": { + post: operations["projects/move-card"]; + }; + "/projects/columns/{column_id}": { + get: operations["projects/get-column"]; + delete: operations["projects/delete-column"]; + patch: operations["projects/update-column"]; + }; + "/projects/columns/{column_id}/cards": { + get: operations["projects/list-cards"]; + post: operations["projects/create-card"]; + }; + "/projects/columns/{column_id}/moves": { + post: operations["projects/move-column"]; + }; + "/projects/{project_id}": { + /** Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + get: operations["projects/get"]; + /** Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ + delete: operations["projects/delete"]; + /** Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + patch: operations["projects/update"]; + }; + "/projects/{project_id}/collaborators": { + /** Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ + get: operations["projects/list-collaborators"]; + }; + "/projects/{project_id}/collaborators/{username}": { + /** Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ + put: operations["projects/add-collaborator"]; + /** Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ + delete: operations["projects/remove-collaborator"]; + }; + "/projects/{project_id}/collaborators/{username}/permission": { + /** Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ + get: operations["projects/get-permission-for-user"]; + }; + "/projects/{project_id}/columns": { + get: operations["projects/list-columns"]; + post: operations["projects/create-column"]; + }; + "/rate_limit": { + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: operations["rate-limit/get"]; + }; + "/reactions/{reaction_id}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/). + * + * OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). + */ + delete: operations["reactions/delete-legacy"]; + }; + "/repos/{owner}/{repo}": { + /** The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. */ + get: operations["repos/get"]; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + delete: operations["repos/delete"]; + /** **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. */ + patch: operations["repos/update"]; + }; + "/repos/{owner}/{repo}/actions/artifacts": { + /** Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/list-artifacts-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + /** Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-artifact"]; + /** Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + delete: operations["actions/delete-artifact"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-artifact"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + /** Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-job-logs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/permissions": { + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + get: operations["actions/get-github-actions-permissions-repository"]; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository. + * + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + put: operations["actions/set-github-actions-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + /** + * Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + get: operations["actions/get-allowed-actions-repository"]; + /** + * Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + put: operations["actions/set-allowed-actions-repository"]; + }; + "/repos/{owner}/{repo}/actions/runners": { + /** Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + get: operations["actions/list-self-hosted-runners-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/downloads": { + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + get: operations["actions/list-runner-applications-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/registration-token": { + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` + */ + post: operations["actions/create-registration-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/remove-token": { + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["actions/create-remove-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + /** + * Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + get: operations["actions/get-self-hosted-runner-for-repo"]; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs": { + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-workflow-runs-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + /** Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-workflow-run"]; + /** + * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + delete: operations["actions/delete-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-reviews-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { + /** + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/approve-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + /** Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/list-workflow-run-artifacts"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + /** + * Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ + get: operations["actions/get-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + /** Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + get: operations["actions/list-jobs-for-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { + /** + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-attempt-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + /** Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + post: operations["actions/cancel-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + /** Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + get: operations["actions/list-jobs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-logs"]; + /** Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + delete: operations["actions/delete-workflow-run-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-pending-deployments-for-run"]; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Anyone with read access to the repository contents and deployments can use this endpoint. + */ + post: operations["actions/review-pending-deployments-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + /** Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + post: operations["actions/re-run-workflow"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-run-usage"]; + }; + "/repos/{owner}/{repo}/actions/secrets": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/actions/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-repo-secret"]; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-repo-secret"]; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + delete: operations["actions/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/actions/workflows": { + /** Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/list-repo-workflows"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + /** Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/disable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + post: operations["actions/create-workflow-dispatch"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/enable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + get: operations["actions/list-workflow-runs"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-usage"]; + }; + "/repos/{owner}/{repo}/assignees": { + /** Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ + get: operations["issues/list-assignees"]; + }; + "/repos/{owner}/{repo}/assignees/{assignee}": { + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned"]; + }; + "/repos/{owner}/{repo}/autolinks": { + /** + * This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/list-autolinks"]; + /** Users with admin access to the repository can create an autolink. */ + post: operations["repos/create-autolink"]; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/get-autolink"]; + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + delete: operations["repos/delete-autolink"]; + }; + "/repos/{owner}/{repo}/automated-security-fixes": { + /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". */ + put: operations["repos/enable-automated-security-fixes"]; + /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". */ + delete: operations["repos/disable-automated-security-fixes"]; + }; + "/repos/{owner}/{repo}/branches": { + get: operations["repos/list-branches"]; + }; + "/repos/{owner}/{repo}/branches/{branch}": { + get: operations["repos/get-branch"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-branch-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + put: operations["repos/update-branch-protection"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/delete-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-admin-branch-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + post: operations["repos/set-admin-branch-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + delete: operations["repos/delete-admin-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-pull-request-review-protection"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/delete-pull-request-review-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + patch: operations["repos/update-pull-request-review-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + get: operations["repos/get-commit-signature-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + post: operations["repos/create-commit-signature-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + delete: operations["repos/delete-commit-signature-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-status-checks-protection"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/remove-status-check-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + patch: operations["repos/update-status-check-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-all-status-check-contexts"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + put: operations["repos/set-status-check-contexts"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + post: operations["repos/add-status-check-contexts"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/remove-status-check-contexts"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + get: operations["repos/get-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + delete: operations["repos/delete-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + get: operations["repos/get-apps-with-access-to-protected-branch"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-app-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-app-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-app-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + get: operations["repos/get-teams-with-access-to-protected-branch"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-team-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-team-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-team-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + get: operations["repos/get-users-with-access-to-protected-branch"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-user-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-user-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-user-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/rename": { + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + post: operations["repos/rename-branch"]; + }; + "/repos/{owner}/{repo}/check-runs": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + post: operations["checks/create"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/get"]; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + patch: operations["checks/update"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + /** Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ + get: operations["checks/list-annotations"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + post: operations["checks/rerequest-run"]; + }; + "/repos/{owner}/{repo}/check-suites": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + post: operations["checks/create-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/preferences": { + /** Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ + patch: operations["checks/set-suites-preferences"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + get: operations["checks/get-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/list-for-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + post: operations["checks/rerequest-suite"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts": { + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint. GitHub Apps must have the `security_events` read permission to use + * this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + get: operations["code-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + /** + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. + */ + get: operations["code-scanning/get-alert"]; + /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. */ + patch: operations["code-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + /** Lists all instances of the specified code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + get: operations["code-scanning/list-alert-instances"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + get: operations["code-scanning/list-recent-analyses"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { + /** + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + */ + get: operations["code-scanning/get-analysis"]; + /** + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` and `repo:security_events` scopes. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set + * (see the example default response below). + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in the set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find the deletable analysis for one of the sets, + * step through deleting the analyses in that set, + * and then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + delete: operations["code-scanning/delete-analysis"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs": { + /** + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." + */ + post: operations["code-scanning/upload-sarif"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + /** Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + get: operations["code-scanning/get-sarif"]; + }; + "/repos/{owner}/{repo}/collaborators": { + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + get: operations["repos/list-collaborators"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + get: operations["repos/check-collaborator"]; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * For more information the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + put: operations["repos/add-collaborator"]; + delete: operations["repos/remove-collaborator"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ + get: operations["repos/get-collaborator-permission-level"]; + }; + "/repos/{owner}/{repo}/comments": { + /** + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + get: operations["repos/list-commit-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + get: operations["repos/get-commit-comment"]; + delete: operations["repos/delete-commit-comment"]; + patch: operations["repos/update-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ + get: operations["reactions/list-for-commit-comment"]; + /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ + post: operations["reactions/create-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + delete: operations["reactions/delete-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits": { + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/list-commits"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + get: operations["repos/list-branches-for-head-commit"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + /** Use the `:commit_sha` to specify the commit that will have its comments listed. */ + get: operations["repos/list-comments-for-commit"]; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["repos/create-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + /** Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint. */ + get: operations["repos/list-pull-requests-associated-with-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}": { + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/get-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/list-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + get: operations["checks/list-suites-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/status": { + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * The most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts. + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + get: operations["repos/get-combined-status-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + get: operations["repos/list-commit-statuses-for-ref"]; + }; + "/repos/{owner}/{repo}/community/profile": { + /** + * This endpoint will return all community profile metrics, including an + * overall health score, repository description, the presence of documentation, detected + * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * these four documents are present: README, CONTRIBUTING, LICENSE, and + * CODE_OF_CONDUCT. For example, if all four documents are present, then + * the `health_percentage` is `100`. If only one is present, then the + * `health_percentage` is `25`. + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + get: operations["repos/get-community-profile-metrics"]; + }; + "/repos/{owner}/{repo}/compare/{basehead}": { + /** + * The `basehead` param is comprised of two parts: `base` and `head`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits-with-basehead"]; + }; + "/repos/{owner}/{repo}/content_references/{content_reference_id}/attachments": { + /** + * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` and `repository` `full_name` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://docs.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + post: operations["apps/create-content-attachment-for-repo"]; + }; + "/repos/{owner}/{repo}/contents/{path}": { + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent + * object format. + * + * **Note**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/reference/git#get-a-tree). + * * This API supports files up to 1 megabyte in size. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + get: operations["repos/get-content"]; + /** Creates a new file or replaces an existing file in a repository. */ + put: operations["repos/create-or-update-file-contents"]; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + */ + delete: operations["repos/delete-file"]; + }; + "/repos/{owner}/{repo}/contributors": { + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + get: operations["repos/list-contributors"]; + }; + "/repos/{owner}/{repo}/deployments": { + /** Simple filtering of deployments is available via query parameters: */ + get: operations["repos/list-deployments"]; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + post: operations["repos/create-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + get: operations["repos/get-deployment"]; + /** + * To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." + */ + delete: operations["repos/delete-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + /** Users with pull access can view deployment statuses for a deployment: */ + get: operations["repos/list-deployment-statuses"]; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + post: operations["repos/create-deployment-status"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + /** Users with pull access can view a deployment status for a deployment: */ + get: operations["repos/get-deployment-status"]; + }; + "/repos/{owner}/{repo}/dispatches": { + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + post: operations["repos/create-dispatch-event"]; + }; + "/repos/{owner}/{repo}/environments": { + /** + * Get all environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/get-all-environments"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}": { + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["repos/get-environment"]; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + /** You must authenticate using an access token with the repo scope to use this endpoint. */ + delete: operations["repos/delete-an-environment"]; + }; + "/repos/{owner}/{repo}/events": { + get: operations["activity/list-repo-events"]; + }; + "/repos/{owner}/{repo}/forks": { + get: operations["repos/list-forks"]; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + */ + post: operations["repos/create-fork"]; + }; + "/repos/{owner}/{repo}/git/blobs": { + post: operations["git/create-blob"]; + }; + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + get: operations["git/get-blob"]; + }; + "/repos/{owner}/{repo}/git/commits": { + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-commit"]; + }; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-commit"]; + }; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + get: operations["git/list-matching-refs"]; + }; + "/repos/{owner}/{repo}/git/ref/{ref}": { + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + get: operations["git/get-ref"]; + }; + "/repos/{owner}/{repo}/git/refs": { + /** Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ + post: operations["git/create-ref"]; + }; + "/repos/{owner}/{repo}/git/refs/{ref}": { + delete: operations["git/delete-ref"]; + patch: operations["git/update-ref"]; + }; + "/repos/{owner}/{repo}/git/tags": { + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-tag"]; + }; + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-tag"]; + }; + "/repos/{owner}/{repo}/git/trees": { + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + */ + post: operations["git/create-tree"]; + }; + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + */ + get: operations["git/get-tree"]; + }; + "/repos/{owner}/{repo}/hooks": { + get: operations["repos/list-webhooks"]; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + post: operations["repos/create-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}": { + /** Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." */ + get: operations["repos/get-webhook"]; + delete: operations["repos/delete-webhook"]; + /** Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." */ + patch: operations["repos/update-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + get: operations["repos/get-webhook-config-for-repo"]; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + patch: operations["repos/update-webhook-config-for-repo"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + /** Returns a list of webhook deliveries for a webhook configured in a repository. */ + get: operations["repos/list-webhook-deliveries"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** Returns a delivery for a webhook configured in a repository. */ + get: operations["repos/get-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** Redeliver a webhook delivery for a webhook configured in a repository. */ + post: operations["repos/redeliver-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + post: operations["repos/ping-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + post: operations["repos/test-push-webhook"]; + }; + "/repos/{owner}/{repo}/import": { + /** + * View the progress of an import. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + get: operations["migrations/get-import-status"]; + /** Start a source import to a GitHub repository using GitHub Importer. */ + put: operations["migrations/start-import"]; + /** Stop an import for a repository. */ + delete: operations["migrations/cancel-import"]; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + */ + patch: operations["migrations/update-import"]; + }; + "/repos/{owner}/{repo}/import/authors": { + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. + */ + get: operations["migrations/get-commit-authors"]; + }; + "/repos/{owner}/{repo}/import/authors/{author_id}": { + /** Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. */ + patch: operations["migrations/map-commit-author"]; + }; + "/repos/{owner}/{repo}/import/large_files": { + /** List files larger than 100MB found during the import */ + get: operations["migrations/get-large-files"]; + }; + "/repos/{owner}/{repo}/import/lfs": { + /** You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/). */ + patch: operations["migrations/set-lfs-preference"]; + }; + "/repos/{owner}/{repo}/installation": { + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-repo-installation"]; + }; + "/repos/{owner}/{repo}/interaction-limits": { + /** Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. */ + get: operations["interactions/get-restrictions-for-repo"]; + /** Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + put: operations["interactions/set-restrictions-for-repo"]; + /** Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + delete: operations["interactions/remove-restrictions-for-repo"]; + }; + "/repos/{owner}/{repo}/invitations": { + /** When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ + get: operations["repos/list-invitations"]; + }; + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + delete: operations["repos/delete-invitation"]; + patch: operations["repos/update-invitation"]; + }; + "/repos/{owner}/{repo}/issues": { + /** + * List issues in a repository. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-repo"]; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["issues/create"]; + }; + "/repos/{owner}/{repo}/issues/comments": { + /** By default, Issue Comments are ordered by ascending ID. */ + get: operations["issues/list-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + get: operations["issues/get-comment"]; + delete: operations["issues/delete-comment"]; + patch: operations["issues/update-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + /** List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ + get: operations["reactions/list-for-issue-comment"]; + /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ + post: operations["reactions/create-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + delete: operations["reactions/delete-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/events": { + get: operations["issues/list-events-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/events/{event_id}": { + get: operations["issues/get-event"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}": { + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/get"]; + /** Issue owners and users with push access can edit an issue. */ + patch: operations["issues/update"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + /** Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. */ + post: operations["issues/add-assignees"]; + /** Removes one or more assignees from an issue. */ + delete: operations["issues/remove-assignees"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + /** Issue Comments are ordered by ascending ID. */ + get: operations["issues/list-comments"]; + /** This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + post: operations["issues/create-comment"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + get: operations["issues/list-events"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + get: operations["issues/list-labels-on-issue"]; + /** Removes any previous labels and sets the new labels for an issue. */ + put: operations["issues/set-labels"]; + post: operations["issues/add-labels"]; + delete: operations["issues/remove-all-labels"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + /** Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ + delete: operations["issues/remove-label"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["issues/lock"]; + /** Users with push access can unlock an issue's conversation. */ + delete: operations["issues/unlock"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + /** List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */ + get: operations["reactions/list-for-issue"]; + /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ + post: operations["reactions/create-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + */ + delete: operations["reactions/delete-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + get: operations["issues/list-events-for-timeline"]; + }; + "/repos/{owner}/{repo}/keys": { + get: operations["repos/list-deploy-keys"]; + /** You can create a read-only deploy key. */ + post: operations["repos/create-deploy-key"]; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + get: operations["repos/get-deploy-key"]; + /** Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ + delete: operations["repos/delete-deploy-key"]; + }; + "/repos/{owner}/{repo}/labels": { + get: operations["issues/list-labels-for-repo"]; + post: operations["issues/create-label"]; + }; + "/repos/{owner}/{repo}/labels/{name}": { + get: operations["issues/get-label"]; + delete: operations["issues/delete-label"]; + patch: operations["issues/update-label"]; + }; + "/repos/{owner}/{repo}/languages": { + /** Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ + get: operations["repos/list-languages"]; + }; + "/repos/{owner}/{repo}/lfs": { + /** **Note:** The Git LFS API endpoints are currently in beta and are subject to change. */ + put: operations["repos/enable-lfs-for-repo"]; + /** **Note:** The Git LFS API endpoints are currently in beta and are subject to change. */ + delete: operations["repos/disable-lfs-for-repo"]; + }; + "/repos/{owner}/{repo}/license": { + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + get: operations["licenses/get-for-repo"]; + }; + "/repos/{owner}/{repo}/merge-upstream": { + /** + * **Note:** This endpoint is currently in beta and subject to change. + * + * Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + post: operations["repos/merge-upstream"]; + }; + "/repos/{owner}/{repo}/merges": { + post: operations["repos/merge"]; + }; + "/repos/{owner}/{repo}/milestones": { + get: operations["issues/list-milestones"]; + post: operations["issues/create-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + get: operations["issues/get-milestone"]; + delete: operations["issues/delete-milestone"]; + patch: operations["issues/update-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + get: operations["issues/list-labels-for-milestone"]; + }; + "/repos/{owner}/{repo}/notifications": { + /** List all notifications for the current user. */ + get: operations["activity/list-repo-notifications-for-authenticated-user"]; + /** Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + put: operations["activity/mark-repo-notifications-as-read"]; + }; + "/repos/{owner}/{repo}/pages": { + get: operations["repos/get-pages"]; + /** Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). */ + put: operations["repos/update-information-about-pages-site"]; + /** Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." */ + post: operations["repos/create-pages-site"]; + delete: operations["repos/delete-pages-site"]; + }; + "/repos/{owner}/{repo}/pages/builds": { + get: operations["repos/list-pages-builds"]; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + post: operations["repos/request-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/latest": { + get: operations["repos/get-latest-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + get: operations["repos/get-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/health": { + /** + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. + */ + get: operations["repos/get-pages-health-check"]; + }; + "/repos/{owner}/{repo}/projects": { + /** Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + get: operations["projects/list-for-repo"]; + /** Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + post: operations["projects/create-for-repo"]; + }; + "/repos/{owner}/{repo}/pulls": { + /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["pulls/list"]; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + post: operations["pulls/create"]; + }; + "/repos/{owner}/{repo}/pulls/comments": { + /** Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ + get: operations["pulls/list-review-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + /** Provides details for a review comment. */ + get: operations["pulls/get-review-comment"]; + /** Deletes a review comment. */ + delete: operations["pulls/delete-review-comment"]; + /** Enables you to edit a review comment. */ + patch: operations["pulls/update-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + /** List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ + get: operations["reactions/list-for-pull-request-review-comment"]; + /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ + post: operations["reactions/create-for-pull-request-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + delete: operations["reactions/delete-for-pull-request-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}": { + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + get: operations["pulls/get"]; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + patch: operations["pulls/update"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + /** Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ + get: operations["pulls/list-review-comments"]; + /** + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see the [`comfort-fade` preview notice](https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request-preview-notices). + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/create-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/create-reply-for-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + /** Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. */ + get: operations["pulls/list-commits"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + /** **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ + get: operations["pulls/list-files"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + get: operations["pulls/check-if-merged"]; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + put: operations["pulls/merge"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + get: operations["pulls/list-requested-reviewers"]; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + post: operations["pulls/request-reviewers"]; + delete: operations["pulls/remove-requested-reviewers"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + /** The list of reviews returns in chronological order. */ + get: operations["pulls/list-reviews"]; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + post: operations["pulls/create-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + get: operations["pulls/get-review"]; + /** Update the review summary comment with new text. */ + put: operations["pulls/update-review"]; + delete: operations["pulls/delete-pending-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + /** List comments for a specific pull request review. */ + get: operations["pulls/list-comments-for-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + /** **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ + put: operations["pulls/dismiss-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + post: operations["pulls/submit-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + /** Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ + put: operations["pulls/update-branch"]; + }; + "/repos/{owner}/{repo}/readme": { + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme"]; + }; + "/repos/{owner}/{repo}/readme/{dir}": { + /** + * Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme-in-directory"]; + }; + "/repos/{owner}/{repo}/releases": { + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + get: operations["repos/list-releases"]; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["repos/create-release"]; + }; + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + get: operations["repos/get-release-asset"]; + delete: operations["repos/delete-release-asset"]; + /** Users with push access to the repository can edit a release asset. */ + patch: operations["repos/update-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/generate-notes": { + /** Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ + post: operations["repos/generate-release-notes"]; + }; + "/repos/{owner}/{repo}/releases/latest": { + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + get: operations["repos/get-latest-release"]; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + /** Get a published release with the specified tag. */ + get: operations["repos/get-release-by-tag"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + get: operations["repos/get-release"]; + /** Users with push access to the repository can delete a release. */ + delete: operations["repos/delete-release"]; + /** Users with push access to the repository can edit a release. */ + patch: operations["repos/update-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + get: operations["repos/list-release-assets"]; + /** + * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + post: operations["repos/upload-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions": { + /** Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ + post: operations["reactions/create-for-release"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + /** + * Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + /** + * Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/get-alert"]; + /** + * Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + patch: operations["secret-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/stargazers": { + /** + * Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-stargazers-for-repo"]; + }; + "/repos/{owner}/{repo}/stats/code_frequency": { + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + get: operations["repos/get-code-frequency-stats"]; + }; + "/repos/{owner}/{repo}/stats/commit_activity": { + /** Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ + get: operations["repos/get-commit-activity-stats"]; + }; + "/repos/{owner}/{repo}/stats/contributors": { + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + get: operations["repos/get-contributors-stats"]; + }; + "/repos/{owner}/{repo}/stats/participation": { + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + */ + get: operations["repos/get-participation-stats"]; + }; + "/repos/{owner}/{repo}/stats/punch_card": { + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + get: operations["repos/get-punch-card-stats"]; + }; + "/repos/{owner}/{repo}/statuses/{sha}": { + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + post: operations["repos/create-commit-status"]; + }; + "/repos/{owner}/{repo}/subscribers": { + /** Lists the people watching the specified repository. */ + get: operations["activity/list-watchers-for-repo"]; + }; + "/repos/{owner}/{repo}/subscription": { + get: operations["activity/get-repo-subscription"]; + /** If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. */ + put: operations["activity/set-repo-subscription"]; + /** This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). */ + delete: operations["activity/delete-repo-subscription"]; + }; + "/repos/{owner}/{repo}/tags": { + get: operations["repos/list-tags"]; + }; + "/repos/{owner}/{repo}/tarball/{ref}": { + /** + * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + get: operations["repos/download-tarball-archive"]; + }; + "/repos/{owner}/{repo}/teams": { + get: operations["repos/list-teams"]; + }; + "/repos/{owner}/{repo}/topics": { + get: operations["repos/get-all-topics"]; + put: operations["repos/replace-all-topics"]; + }; + "/repos/{owner}/{repo}/traffic/clones": { + /** Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + get: operations["repos/get-clones"]; + }; + "/repos/{owner}/{repo}/traffic/popular/paths": { + /** Get the top 10 popular contents over the last 14 days. */ + get: operations["repos/get-top-paths"]; + }; + "/repos/{owner}/{repo}/traffic/popular/referrers": { + /** Get the top 10 referrers over the last 14 days. */ + get: operations["repos/get-top-referrers"]; + }; + "/repos/{owner}/{repo}/traffic/views": { + /** Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + get: operations["repos/get-views"]; + }; + "/repos/{owner}/{repo}/transfer": { + /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/). */ + post: operations["repos/transfer"]; + }; + "/repos/{owner}/{repo}/vulnerability-alerts": { + /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + get: operations["repos/check-vulnerability-alerts"]; + /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + put: operations["repos/enable-vulnerability-alerts"]; + /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + delete: operations["repos/disable-vulnerability-alerts"]; + }; + "/repos/{owner}/{repo}/zipball/{ref}": { + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + get: operations["repos/download-zipball-archive"]; + }; + "/repos/{template_owner}/{template_repo}/generate": { + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + post: operations["repos/create-using-template"]; + }; + "/repositories": { + /** + * Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ + get: operations["repos/list-public"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets": { + /** Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/list-environment-secrets"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { + /** Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-environment-public-key"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { + /** Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-environment-secret"]; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-environment-secret"]; + /** Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + delete: operations["actions/delete-environment-secret"]; + }; + "/scim/v2/enterprises/{enterprise}/Groups": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/list-provisioned-groups-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. + */ + post: operations["enterprise-admin/provision-and-invite-enterprise-group"]; + }; + "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/get-provisioning-information-for-enterprise-group"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. + */ + put: operations["enterprise-admin/set-information-for-provisioned-enterprise-group"]; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + delete: operations["enterprise-admin/delete-scim-group-from-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ + patch: operations["enterprise-admin/update-attribute-for-enterprise-group"]; + }; + "/scim/v2/enterprises/{enterprise}/Users": { + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. + * + * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. + */ + get: operations["enterprise-admin/list-provisioned-identities-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision enterprise membership for a user, and send organization invitation emails to the email address. + * + * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. + */ + post: operations["enterprise-admin/provision-and-invite-enterprise-user"]; + }; + "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/get-provisioning-information-for-enterprise-user"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + put: operations["enterprise-admin/set-information-for-provisioned-enterprise-user"]; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + delete: operations["enterprise-admin/delete-user-from-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + patch: operations["enterprise-admin/update-attribute-for-enterprise-user"]; + }; + "/scim/v2/organizations/{org}/Users": { + /** + * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub organization. + * + * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. + */ + get: operations["scim/list-provisioned-identities"]; + /** Provision organization membership for a user, and send an activation email to the email address. */ + post: operations["scim/provision-and-invite-user"]; + }; + "/scim/v2/organizations/{org}/Users/{scim_user_id}": { + get: operations["scim/get-provisioning-information-for-user"]; + /** + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + put: operations["scim/set-information-for-provisioned-user"]; + delete: operations["scim/delete-user-from-org"]; + /** + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + patch: operations["scim/update-attribute-for-user"]; + }; + "/search/code": { + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + */ + get: operations["search/code"]; + }; + "/search/commits": { + /** + * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + get: operations["search/commits"]; + }; + "/search/issues": { + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + get: operations["search/issues-and-pull-requests"]; + }; + "/search/labels": { + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + get: operations["search/labels"]; + }; + "/search/repositories": { + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + * + * When you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this: + * + * `q=topic:ruby+topic:rails` + */ + get: operations["search/repos"]; + }; + "/search/topics": { + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://help.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + get: operations["search/topics"]; + }; + "/search/users": { + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + */ + get: operations["search/users"]; + }; + "/teams/{team_id}": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. */ + get: operations["teams/get-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + delete: operations["teams/delete-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + patch: operations["teams/update-legacy"]; + }; + "/teams/{team_id}/discussions": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/list-discussions-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["teams/create-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/get-discussion-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["teams/delete-discussion-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + patch: operations["teams/update-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/list-discussion-comments-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["teams/create-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/get-discussion-comment-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + patch: operations["teams/update-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + */ + post: operations["reactions/create-for-team-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + */ + post: operations["reactions/create-for-team-discussion-legacy"]; + }; + "/teams/{team_id}/invitations": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + get: operations["teams/list-pending-invitations-legacy"]; + }; + "/teams/{team_id}/members": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + get: operations["teams/list-members-legacy"]; + }; + "/teams/{team_id}/members/{username}": { + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/get-member-legacy"]; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["teams/add-member-legacy"]; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-member-legacy"]; + }; + "/teams/{team_id}/memberships/{username}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + put: operations["teams/add-or-update-membership-for-user-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-membership-for-user-legacy"]; + }; + "/teams/{team_id}/projects": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ + get: operations["teams/list-projects-legacy"]; + }; + "/teams/{team_id}/projects/{project_id}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + */ + get: operations["teams/check-permissions-for-project-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + */ + put: operations["teams/add-or-update-project-permissions-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + */ + delete: operations["teams/remove-project-legacy"]; + }; + "/teams/{team_id}/repos": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. */ + get: operations["teams/list-repos-legacy"]; + }; + "/teams/{team_id}/repos/{owner}/{repo}": { + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + delete: operations["teams/remove-repo-legacy"]; + }; + "/teams/{team_id}/team-sync/group-mappings": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + */ + get: operations["teams/list-idp-groups-for-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + */ + patch: operations["teams/create-or-update-idp-group-connections-legacy"]; + }; + "/teams/{team_id}/teams": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */ + get: operations["teams/list-child-legacy"]; + }; + "/user": { + /** + * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + get: operations["users/get-authenticated"]; + /** **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ + patch: operations["users/update-authenticated"]; + }; + "/user/blocks": { + /** List the users you've blocked on your personal account. */ + get: operations["users/list-blocked-by-authenticated-user"]; + }; + "/user/blocks/{username}": { + get: operations["users/check-blocked"]; + put: operations["users/block"]; + delete: operations["users/unblock"]; + }; + "/user/email/visibility": { + /** Sets the visibility for your primary email addresses. */ + patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; + }; + "/user/emails": { + /** Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ + get: operations["users/list-emails-for-authenticated-user"]; + /** This endpoint is accessible with the `user` scope. */ + post: operations["users/add-email-for-authenticated-user"]; + /** This endpoint is accessible with the `user` scope. */ + delete: operations["users/delete-email-for-authenticated-user"]; + }; + "/user/followers": { + /** Lists the people following the authenticated user. */ + get: operations["users/list-followers-for-authenticated-user"]; + }; + "/user/following": { + /** Lists the people who the authenticated user follows. */ + get: operations["users/list-followed-by-authenticated-user"]; + }; + "/user/following/{username}": { + get: operations["users/check-person-is-followed-by-authenticated"]; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + put: operations["users/follow"]; + /** Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ + delete: operations["users/unfollow"]; + }; + "/user/gpg_keys": { + /** Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/list-gpg-keys-for-authenticated-user"]; + /** Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + post: operations["users/create-gpg-key-for-authenticated-user"]; + }; + "/user/gpg_keys/{gpg_key_id}": { + /** View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/get-gpg-key-for-authenticated-user"]; + /** Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + delete: operations["users/delete-gpg-key-for-authenticated-user"]; + }; + "/user/installations": { + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + get: operations["apps/list-installations-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories": { + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + get: operations["apps/list-installation-repos-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + put: operations["apps/add-repo-to-installation-for-authenticated-user"]; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; + }; + "/user/interaction-limits": { + /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. */ + get: operations["interactions/get-restrictions-for-authenticated-user"]; + /** Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ + put: operations["interactions/set-restrictions-for-authenticated-user"]; + /** Removes any interaction restrictions from your public repositories. */ + delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + }; + "/user/issues": { + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-authenticated-user"]; + }; + "/user/keys": { + /** Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/list-public-ssh-keys-for-authenticated-user"]; + /** Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + post: operations["users/create-public-ssh-key-for-authenticated-user"]; + }; + "/user/keys/{key_id}": { + /** View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/get-public-ssh-key-for-authenticated-user"]; + /** Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; + }; + "/user/marketplace_purchases": { + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + get: operations["apps/list-subscriptions-for-authenticated-user"]; + }; + "/user/marketplace_purchases/stubbed": { + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + }; + "/user/memberships/orgs": { + get: operations["orgs/list-memberships-for-authenticated-user"]; + }; + "/user/memberships/orgs/{org}": { + get: operations["orgs/get-membership-for-authenticated-user"]; + patch: operations["orgs/update-membership-for-authenticated-user"]; + }; + "/user/migrations": { + /** Lists all migrations a user has started. */ + get: operations["migrations/list-for-authenticated-user"]; + /** Initiates the generation of a user migration archive. */ + post: operations["migrations/start-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}": { + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + */ + get: operations["migrations/get-status-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/archive": { + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + get: operations["migrations/get-archive-for-authenticated-user"]; + /** Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */ + delete: operations["migrations/delete-archive-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + /** Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ + delete: operations["migrations/unlock-repo-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repositories": { + /** Lists all the repositories for this user migration. */ + get: operations["migrations/list-repos-for-authenticated-user"]; + }; + "/user/orgs": { + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + get: operations["orgs/list-for-authenticated-user"]; + }; + "/user/packages": { + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}": { + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-authenticated-user"]; + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + delete: operations["packages/delete-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/restore": { + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + post: operations["packages/restore-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-authenticated-user"]; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + delete: operations["packages/delete-package-version-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + post: operations["packages/restore-package-version-for-authenticated-user"]; + }; + "/user/projects": { + post: operations["projects/create-for-authenticated-user"]; + }; + "/user/public_emails": { + /** Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ + get: operations["users/list-public-emails-for-authenticated-user"]; + }; + "/user/repos": { + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + get: operations["repos/list-for-authenticated-user"]; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + post: operations["repos/create-for-authenticated-user"]; + }; + "/user/repository_invitations": { + /** When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ + get: operations["repos/list-invitations-for-authenticated-user"]; + }; + "/user/repository_invitations/{invitation_id}": { + delete: operations["repos/decline-invitation-for-authenticated-user"]; + patch: operations["repos/accept-invitation-for-authenticated-user"]; + }; + "/user/starred": { + /** + * Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-repos-starred-by-authenticated-user"]; + }; + "/user/starred/{owner}/{repo}": { + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + put: operations["activity/star-repo-for-authenticated-user"]; + delete: operations["activity/unstar-repo-for-authenticated-user"]; + }; + "/user/subscriptions": { + /** Lists repositories the authenticated user is watching. */ + get: operations["activity/list-watched-repos-for-authenticated-user"]; + }; + "/user/teams": { + /** List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). */ + get: operations["teams/list-for-authenticated-user"]; + }; + "/users": { + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + */ + get: operations["users/list"]; + }; + "/users/{username}": { + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + */ + get: operations["users/get-by-username"]; + }; + "/users/{username}/events": { + /** If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ + get: operations["activity/list-events-for-authenticated-user"]; + }; + "/users/{username}/events/orgs/{org}": { + /** This is the user's organization dashboard. You must be authenticated as the user to view this. */ + get: operations["activity/list-org-events-for-authenticated-user"]; + }; + "/users/{username}/events/public": { + get: operations["activity/list-public-events-for-user"]; + }; + "/users/{username}/followers": { + /** Lists the people following the specified user. */ + get: operations["users/list-followers-for-user"]; + }; + "/users/{username}/following": { + /** Lists the people who the specified user follows. */ + get: operations["users/list-following-for-user"]; + }; + "/users/{username}/following/{target_user}": { + get: operations["users/check-following-for-user"]; + }; + "/users/{username}/gists": { + /** Lists public gists for the specified user: */ + get: operations["gists/list-for-user"]; + }; + "/users/{username}/gpg_keys": { + /** Lists the GPG keys for a user. This information is accessible by anyone. */ + get: operations["users/list-gpg-keys-for-user"]; + }; + "/users/{username}/hovercard": { + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + get: operations["users/get-context-for-user"]; + }; + "/users/{username}/installation": { + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-user-installation"]; + }; + "/users/{username}/keys": { + /** Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ + get: operations["users/list-public-keys-for-user"]; + }; + "/users/{username}/orgs": { + /** + * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + get: operations["orgs/list-for-user"]; + }; + "/users/{username}/packages": { + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}": { + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-user"]; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/restore": { + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-user"]; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-version-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-version-for-user"]; + }; + "/users/{username}/projects": { + get: operations["projects/list-for-user"]; + }; + "/users/{username}/received_events": { + /** These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ + get: operations["activity/list-received-events-for-user"]; + }; + "/users/{username}/received_events/public": { + get: operations["activity/list-received-public-events-for-user"]; + }; + "/users/{username}/repos": { + /** Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ + get: operations["repos/list-for-user"]; + }; + "/users/{username}/settings/billing/actions": { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-actions-billing-user"]; + }; + "/users/{username}/settings/billing/packages": { + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-packages-billing-user"]; + }; + "/users/{username}/settings/billing/shared-storage": { + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-shared-storage-billing-user"]; + }; + "/users/{username}/starred": { + /** + * Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-repos-starred-by-user"]; + }; + "/users/{username}/subscriptions": { + /** Lists repositories a user is watching. */ + get: operations["activity/list-repos-watched-by-user"]; + }; + "/zen": { + /** Get a random sentence from the Zen of GitHub */ + get: operations["meta/get-zen"]; + }; + "/repos/{owner}/{repo}/compare/{base}...{head}": { + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits"]; + }; + "/content_references/{content_reference_id}/attachments": { + /** + * **Deprecated:** use `apps.createContentAttachmentForRepo()` (`POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments`) instead. Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://docs.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + post: operations["apps/create-content-attachment"]; + }; + "/repos/{owner}/{repo}/community/code_of_conduct": { + /** + * Returns the contents of the repository's code of conduct file, if one is detected. + * + * A code of conduct is detected if there is a file named `CODE_OF_CONDUCT` in the root directory of the repository. GitHub detects which code of conduct it is using fuzzy matching. + */ + get: operations["codes-of-conduct/get-for-repo"]; + }; +} + +export interface components { + schemas: { + /** Simple User */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + starred_at?: string; + } | null; + /** GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. */ + integration: { + /** Unique identifier of the GitHub app */ + id: number; + /** The slug name of the GitHub app */ + slug?: string; + node_id: string; + owner: components["schemas"]["nullable-simple-user"]; + /** The name of the GitHub app */ + name: string; + description: string | null; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + /** The set of permissions for the GitHub app */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + } & { [key: string]: string }; + /** The list of events for the GitHub app */ + events: string[]; + /** The number of installations associated with the GitHub app */ + installations_count?: number; + client_id?: string; + client_secret?: string; + webhook_secret?: string | null; + pem?: string; + }; + /** Basic Error */ + "basic-error": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + /** Validation Error Simple */ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; + /** The URL to which the payloads will be delivered. */ + "webhook-config-url": string; + /** The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. */ + "webhook-config-content-type": string; + /** If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). */ + "webhook-config-secret": string; + "webhook-config-insecure-ssl": string | number; + /** Configuration object of the webhook */ + "webhook-config": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** Delivery made by a webhook, without request and response information. */ + "hook-delivery-item": { + /** Unique identifier of the webhook delivery. */ + id: number; + /** Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). */ + guid: string; + /** Time when the webhook delivery occurred. */ + delivered_at: string; + /** Whether the webhook delivery is a redelivery. */ + redelivery: boolean; + /** Time spent delivering. */ + duration: number; + /** Describes the response returned after attempting the delivery. */ + status: string; + /** Status code received when delivery was made. */ + status_code: number; + /** The event that triggered the delivery. */ + event: string; + /** The type of activity for the event that triggered the delivery. */ + action: string | null; + /** The id of the GitHub App installation associated with this event. */ + installation_id: number | null; + /** The id of the repository associated with this event. */ + repository_id: number | null; + }; + /** Scim Error */ + "scim-error": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + /** Validation Error */ + "validation-error": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + /** Delivery made by a webhook. */ + "hook-delivery": { + /** Unique identifier of the delivery. */ + id: number; + /** Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). */ + guid: string; + /** Time when the delivery was delivered. */ + delivered_at: string; + /** Whether the delivery is a redelivery. */ + redelivery: boolean; + /** Time spent delivering. */ + duration: number; + /** Description of the status of the attempted delivery */ + status: string; + /** Status code received when delivery was made. */ + status_code: number; + /** The event that triggered the delivery. */ + event: string; + /** The type of activity for the event that triggered the delivery. */ + action: string | null; + /** The id of the GitHub App installation associated with this event. */ + installation_id: number | null; + /** The id of the repository associated with this event. */ + repository_id: number | null; + /** The URL target of the delivery. */ + url?: string; + request: { + /** The request headers sent with the webhook delivery. */ + headers: { [key: string]: unknown } | null; + /** The webhook payload. */ + payload: { [key: string]: unknown } | null; + }; + response: { + /** The response headers received when the delivery was made. */ + headers: { [key: string]: unknown } | null; + /** The response payload received. */ + payload: string | null; + }; + }; + /** Simple User */ + "simple-user": { + name?: string | null; + email?: string | null; + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + starred_at?: string; + }; + /** An enterprise account */ + enterprise: { + /** A short description of the enterprise. */ + description?: string | null; + html_url: string; + /** The enterprise's website URL. */ + website_url?: string | null; + /** Unique identifier of the enterprise */ + id: number; + node_id: string; + /** The name of the enterprise. */ + name: string; + /** The slug url identifier for the enterprise. */ + slug: string; + created_at: string | null; + updated_at: string | null; + avatar_url: string; + }; + /** The permissions granted to the user-to-server access token. */ + "app-permissions": { + /** The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. Can be one of: `read` or `write`. */ + actions?: "read" | "write"; + /** The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. Can be one of: `read` or `write`. */ + administration?: "read" | "write"; + /** The level of permission to grant the access token for checks on code. Can be one of: `read` or `write`. */ + checks?: "read" | "write"; + /** The level of permission to grant the access token for notification of content references and creation content attachments. Can be one of: `read` or `write`. */ + content_references?: "read" | "write"; + /** The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. Can be one of: `read` or `write`. */ + contents?: "read" | "write"; + /** The level of permission to grant the access token for deployments and deployment statuses. Can be one of: `read` or `write`. */ + deployments?: "read" | "write"; + /** The level of permission to grant the access token for managing repository environments. Can be one of: `read` or `write`. */ + environments?: "read" | "write"; + /** The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. Can be one of: `read` or `write`. */ + issues?: "read" | "write"; + /** The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. Can be one of: `read` or `write`. */ + metadata?: "read" | "write"; + /** The level of permission to grant the access token for packages published to GitHub Packages. Can be one of: `read` or `write`. */ + packages?: "read" | "write"; + /** The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. Can be one of: `read` or `write`. */ + pages?: "read" | "write"; + /** The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. Can be one of: `read` or `write`. */ + pull_requests?: "read" | "write"; + /** The level of permission to grant the access token to manage the post-receive hooks for a repository. Can be one of: `read` or `write`. */ + repository_hooks?: "read" | "write"; + /** The level of permission to grant the access token to manage repository projects, columns, and cards. Can be one of: `read`, `write`, or `admin`. */ + repository_projects?: "read" | "write" | "admin"; + /** The level of permission to grant the access token to view and manage secret scanning alerts. Can be one of: `read` or `write`. */ + secret_scanning_alerts?: "read" | "write"; + /** The level of permission to grant the access token to manage repository secrets. Can be one of: `read` or `write`. */ + secrets?: "read" | "write"; + /** The level of permission to grant the access token to view and manage security events like code scanning alerts. Can be one of: `read` or `write`. */ + security_events?: "read" | "write"; + /** The level of permission to grant the access token to manage just a single file. Can be one of: `read` or `write`. */ + single_file?: "read" | "write"; + /** The level of permission to grant the access token for commit statuses. Can be one of: `read` or `write`. */ + statuses?: "read" | "write"; + /** The level of permission to grant the access token to retrieve Dependabot alerts. Can be one of: `read`. */ + vulnerability_alerts?: "read"; + /** The level of permission to grant the access token to update GitHub Actions workflow files. Can be one of: `write`. */ + workflows?: "write"; + /** The level of permission to grant the access token for organization teams and members. Can be one of: `read` or `write`. */ + members?: "read" | "write"; + /** The level of permission to grant the access token to manage access to an organization. Can be one of: `read` or `write`. */ + organization_administration?: "read" | "write"; + /** The level of permission to grant the access token to manage the post-receive hooks for an organization. Can be one of: `read` or `write`. */ + organization_hooks?: "read" | "write"; + /** The level of permission to grant the access token for viewing an organization's plan. Can be one of: `read`. */ + organization_plan?: "read"; + /** The level of permission to grant the access token to manage organization projects, columns, and cards. Can be one of: `read`, `write`, or `admin`. */ + organization_projects?: "read" | "write" | "admin"; + /** The level of permission to grant the access token for organization packages published to GitHub Packages. Can be one of: `read` or `write`. */ + organization_packages?: "read" | "write"; + /** The level of permission to grant the access token to manage organization secrets. Can be one of: `read` or `write`. */ + organization_secrets?: "read" | "write"; + /** The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. Can be one of: `read` or `write`. */ + organization_self_hosted_runners?: "read" | "write"; + /** The level of permission to grant the access token to view and manage users blocked by the organization. Can be one of: `read` or `write`. */ + organization_user_blocking?: "read" | "write"; + /** The level of permission to grant the access token to manage team discussions and related comments. Can be one of: `read` or `write`. */ + team_discussions?: "read" | "write"; + }; + /** Installation */ + installation: { + /** The ID of the installation. */ + id: number; + account: + | (Partial & + Partial) + | null; + /** Describe whether all repositories have been selected or there's a selection involved */ + repository_selection: "all" | "selected"; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + /** The ID of the user or organization this token is being scoped to. */ + target_id: number; + target_type: string; + permissions: components["schemas"]["app-permissions"]; + events: string[]; + created_at: string; + updated_at: string; + single_file_name: string | null; + has_multiple_single_files?: boolean; + single_file_paths?: string[]; + app_slug: string; + suspended_by: components["schemas"]["nullable-simple-user"]; + suspended_at: string | null; + contact_email?: string | null; + }; + /** License Simple */ + "nullable-license-simple": { + key: string; + name: string; + url: string | null; + spdx_id: string | null; + node_id: string; + html_url?: string; + } | null; + /** A git repository */ + repository: { + /** Unique identifier of the repository */ + id: number; + node_id: string; + /** The name of the repository. */ + name: string; + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** Whether the repository is private or public. */ + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + /** The default branch of the repository. */ + default_branch: string; + open_issues_count: number; + /** Whether this repository acts as a template that can be used to generate new repositories. */ + is_template?: boolean; + topics?: string[]; + /** Whether issues are enabled. */ + has_issues: boolean; + /** Whether projects are enabled. */ + has_projects: boolean; + /** Whether the wiki is enabled. */ + has_wiki: boolean; + has_pages: boolean; + /** Whether downloads are enabled. */ + has_downloads: boolean; + /** Whether the repository is archived. */ + archived: boolean; + /** Returns whether or not this repository disabled. */ + disabled: boolean; + /** The repository visibility: public, private, or internal. */ + visibility?: string; + pushed_at: string | null; + created_at: string | null; + updated_at: string | null; + /** Whether to allow rebase merges for pull requests. */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** Whether to allow squash merges for pull requests. */ + allow_squash_merge?: boolean; + /** Whether to allow Auto-merge to be used on pull requests. */ + allow_auto_merge?: boolean; + /** Whether to delete head branches when pull requests are merged */ + delete_branch_on_merge?: boolean; + /** Whether to allow merge commits for pull requests. */ + allow_merge_commit?: boolean; + /** Whether to allow forking this repo */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + starred_at?: string; + }; + /** Authentication token for a GitHub App installed on a user or org. */ + "installation-token": { + token: string; + expires_at: string; + permissions?: components["schemas"]["app-permissions"]; + repository_selection?: "all" | "selected"; + repositories?: components["schemas"]["repository"][]; + single_file?: string; + has_multiple_single_files?: boolean; + single_file_paths?: string[]; + }; + /** The authorization associated with an OAuth Access. */ + "application-grant": { + id: number; + url: string; + app: { + client_id: string; + name: string; + url: string; + }; + created_at: string; + updated_at: string; + scopes: string[]; + user?: components["schemas"]["nullable-simple-user"]; + }; + "nullable-scoped-installation": { + permissions: components["schemas"]["app-permissions"]; + /** Describe whether all repositories have been selected or there's a selection involved */ + repository_selection: "all" | "selected"; + single_file_name: string | null; + has_multiple_single_files?: boolean; + single_file_paths?: string[]; + repositories_url: string; + account: components["schemas"]["simple-user"]; + } | null; + /** The authorization for an OAuth app, GitHub App, or a Personal Access Token. */ + authorization: { + id: number; + url: string; + /** A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + url: string; + }; + note: string | null; + note_url: string | null; + updated_at: string; + created_at: string; + fingerprint: string | null; + user?: components["schemas"]["nullable-simple-user"]; + installation?: components["schemas"]["nullable-scoped-installation"]; + expires_at: string | null; + }; + /** Code Of Conduct */ + "code-of-conduct": { + key: string; + name: string; + url: string; + body?: string; + html_url: string | null; + }; + /** The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`. */ + "enabled-organizations": "all" | "none" | "selected"; + /** The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`. */ + "allowed-actions": "all" | "local_only" | "selected"; + /** The API URL to use to get or set the actions that are allowed to run, when `allowed_actions` is set to `selected`. */ + "selected-actions-url": string; + "actions-enterprise-permissions": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + /** The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`. */ + selected_organizations_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + /** Organization Simple */ + "organization-simple": { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; + }; + "selected-actions": { + /** Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed?: boolean; + /** Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators. */ + verified_allowed?: boolean; + /** Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed?: string[]; + }; + "runner-groups-enterprise": { + id: number; + name: string; + visibility: string; + default: boolean; + selected_organizations_url?: string; + runners_url: string; + allows_public_repositories: boolean; + }; + /** A self hosted runner */ + runner: { + /** The id of the runner. */ + id: number; + /** The name of the runner. */ + name: string; + /** The Operating System of the runner. */ + os: string; + /** The status of the runner. */ + status: string; + busy: boolean; + labels: { + /** Unique identifier of the label. */ + id?: number; + /** Name of the label. */ + name?: string; + /** The type of label. Read-only labels are applied automatically when the runner is configured. */ + type?: "read-only" | "custom"; + }[]; + }; + /** Runner Application */ + "runner-application": { + os: string; + architecture: string; + download_url: string; + filename: string; + /** A short lived bearer token used to download the runner, if needed. */ + temp_download_token?: string; + sha256_checksum?: string; + }; + /** Authentication Token */ + "authentication-token": { + /** The token used for authentication */ + token: string; + /** The time this token expires */ + expires_at: string; + permissions?: { [key: string]: unknown }; + /** The repositories this token has access to */ + repositories?: components["schemas"]["repository"][]; + single_file?: string | null; + /** Describe whether all repositories have been selected or there's a selection involved */ + repository_selection?: "all" | "selected"; + }; + "audit-log-event": { + /** The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + "@timestamp"?: number; + /** The name of the action that was performed, for example `user.login` or `repo.create`. */ + action?: string; + active?: boolean; + active_was?: boolean; + /** The actor who performed the action. */ + actor?: string; + /** The id of the actor who performed the action. */ + actor_id?: number; + actor_location?: { + country_name?: string; + }; + data?: { [key: string]: unknown }; + org_id?: number; + /** The username of the account being blocked. */ + blocked_user?: string; + business?: string; + config?: unknown[]; + config_was?: unknown[]; + content_type?: string; + /** The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + created_at?: number; + deploy_key_fingerprint?: string; + /** A unique identifier for an audit event. */ + _document_id?: string; + emoji?: string; + events?: unknown[]; + events_were?: unknown[]; + explanation?: string; + fingerprint?: string; + hook_id?: number; + limited_availability?: boolean; + message?: string; + name?: string; + old_user?: string; + openssh_public_key?: string; + org?: string; + previous_visibility?: string; + read_only?: boolean; + /** The name of the repository. */ + repo?: string; + /** The name of the repository. */ + repository?: string; + repository_public?: boolean; + target_login?: string; + team?: string; + /** The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol?: number; + /** A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol_name?: string; + /** The user that was affected by the action performed (if available). */ + user?: string; + /** The repository visibility, for example `public` or `private`. */ + visibility?: string; + }; + "actions-billing-usage": { + /** The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** Total minutes used on macOS runner machines. */ + MACOS?: number; + /** Total minutes used on Windows runner machines. */ + WINDOWS?: number; + }; + }; + "packages-billing-usage": { + /** Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; + /** Actor */ + actor: { + id: number; + login: string; + display_login?: string; + gravatar_id: string | null; + url: string; + avatar_url: string; + }; + /** A collection of related issues and pull requests. */ + "nullable-milestone": { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + /** The number of the milestone. */ + number: number; + /** The state of the milestone. */ + state: "open" | "closed"; + /** The title of the milestone. */ + title: string; + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string | null; + due_on: string | null; + } | null; + /** GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. */ + "nullable-integration": { + /** Unique identifier of the GitHub app */ + id: number; + /** The slug name of the GitHub app */ + slug?: string; + node_id: string; + owner: components["schemas"]["nullable-simple-user"]; + /** The name of the GitHub app */ + name: string; + description: string | null; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + /** The set of permissions for the GitHub app */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + } & { [key: string]: string }; + /** The list of events for the GitHub app */ + events: string[]; + /** The number of installations associated with the GitHub app */ + installations_count?: number; + client_id?: string; + client_secret?: string; + webhook_secret?: string | null; + pem?: string; + } | null; + /** How the author is associated with the repository. */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + "reaction-rollup": { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + /** Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. */ + issue: { + id: number; + node_id: string; + /** URL for the issue */ + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + /** Number uniquely identifying the issue within its repository */ + number: number; + /** State of the issue; either 'open' or 'closed' */ + state: string; + /** Title of the issue */ + title: string; + /** Contents of the issue */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository */ + labels: ( + | string + | { + id?: number; + node_id?: string; + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + } + )[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + merged_at?: string | null; + diff_url: string | null; + html_url: string | null; + patch_url: string | null; + url: string | null; + }; + closed_at: string | null; + created_at: string; + updated_at: string; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author_association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** Comments provide a way for people to collaborate on an issue. */ + "issue-comment": { + /** Unique identifier of the issue comment */ + id: number; + node_id: string; + /** URL for the issue comment */ + url: string; + /** Contents of the issue comment */ + body?: string; + body_text?: string; + body_html?: string; + html_url: string; + user: components["schemas"]["nullable-simple-user"]; + created_at: string; + updated_at: string; + issue_url: string; + author_association: components["schemas"]["author_association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** Event */ + event: { + id: string; + type: string | null; + actor: components["schemas"]["actor"]; + repo: { + id: number; + name: string; + url: string; + }; + org?: components["schemas"]["actor"]; + payload: { + action?: string; + issue?: components["schemas"]["issue"]; + comment?: components["schemas"]["issue-comment"]; + pages?: { + page_name?: string; + title?: string; + summary?: string | null; + action?: string; + sha?: string; + html_url?: string; + }[]; + }; + public: boolean; + created_at: string | null; + }; + /** Hypermedia Link with Type */ + "link-with-type": { + href: string; + type: string; + }; + /** Feed */ + feed: { + timeline_url: string; + user_url: string; + current_user_public_url?: string; + current_user_url?: string; + current_user_actor_url?: string; + current_user_organization_url?: string; + current_user_organization_urls?: string[]; + security_advisories_url?: string; + _links: { + timeline: components["schemas"]["link-with-type"]; + user: components["schemas"]["link-with-type"]; + security_advisories?: components["schemas"]["link-with-type"]; + current_user?: components["schemas"]["link-with-type"]; + current_user_public?: components["schemas"]["link-with-type"]; + current_user_actor?: components["schemas"]["link-with-type"]; + current_user_organization?: components["schemas"]["link-with-type"]; + current_user_organizations?: components["schemas"]["link-with-type"][]; + }; + }; + /** Base Gist */ + "base-gist": { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + created_at: string; + updated_at: string; + description: string | null; + comments: number; + user: components["schemas"]["nullable-simple-user"]; + comments_url: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + }; + /** Public User */ + "public-user": { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + email: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + suspended_at?: string | null; + private_gists?: number; + total_private_repos?: number; + owned_private_repos?: number; + disk_usage?: number; + collaborators?: number; + }; + /** Gist History */ + "gist-history": { + user?: components["schemas"]["nullable-simple-user"]; + version?: string; + committed_at?: string; + change_status?: { + total?: number; + additions?: number; + deletions?: number; + }; + url?: string; + }; + /** Gist Simple */ + "gist-simple": { + forks?: + | { + id?: string; + url?: string; + user?: components["schemas"]["public-user"]; + created_at?: string; + updated_at?: string; + }[] + | null; + history?: components["schemas"]["gist-history"][] | null; + /** Gist */ + fork_of?: { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + created_at: string; + updated_at: string; + description: string | null; + comments: number; + user: components["schemas"]["nullable-simple-user"]; + comments_url: string; + owner?: components["schemas"]["nullable-simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + } | null; + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; + html_url?: string; + files?: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + } | null; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + user?: string | null; + comments_url?: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + }; + /** A comment made to a gist. */ + "gist-comment": { + id: number; + node_id: string; + url: string; + /** The comment text. */ + body: string; + user: components["schemas"]["nullable-simple-user"]; + created_at: string; + updated_at: string; + author_association: components["schemas"]["author_association"]; + }; + /** Gist Commit */ + "gist-commit": { + url: string; + version: string; + user: components["schemas"]["nullable-simple-user"]; + change_status: { + total?: number; + additions?: number; + deletions?: number; + }; + committed_at: string; + }; + /** Gitignore Template */ + "gitignore-template": { + name: string; + source: string; + }; + /** License Simple */ + "license-simple": { + key: string; + name: string; + url: string | null; + spdx_id: string | null; + node_id: string; + html_url?: string; + }; + /** License */ + license: { + key: string; + name: string; + spdx_id: string | null; + url: string | null; + node_id: string; + html_url: string; + description: string; + implementation: string; + permissions: string[]; + conditions: string[]; + limitations: string[]; + body: string; + featured: boolean; + }; + /** Marketplace Listing Plan */ + "marketplace-listing-plan": { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: string | null; + state: string; + bullets: string[]; + }; + /** Marketplace Purchase */ + "marketplace-purchase": { + url: string; + type: string; + id: number; + login: string; + organization_billing_email?: string; + email?: string | null; + marketplace_pending_change?: { + is_installed?: boolean; + effective_date?: string; + unit_count?: number | null; + id?: number; + plan?: components["schemas"]["marketplace-listing-plan"]; + } | null; + marketplace_purchase: { + billing_cycle?: string; + next_billing_date?: string | null; + is_installed?: boolean; + unit_count?: number | null; + on_free_trial?: boolean; + free_trial_ends_on?: string | null; + updated_at?: string; + plan?: components["schemas"]["marketplace-listing-plan"]; + }; + }; + /** Api Overview */ + "api-overview": { + verifiable_password_authentication: boolean; + ssh_key_fingerprints?: { + SHA256_RSA?: string; + SHA256_DSA?: string; + SHA256_ECDSA?: string; + SHA256_ED25519?: string; + }; + hooks?: string[]; + web?: string[]; + api?: string[]; + git?: string[]; + packages?: string[]; + pages?: string[]; + importer?: string[]; + actions?: string[]; + dependabot?: string[]; + }; + /** A git repository */ + "nullable-repository": { + /** Unique identifier of the repository */ + id: number; + node_id: string; + /** The name of the repository. */ + name: string; + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** Whether the repository is private or public. */ + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + /** The default branch of the repository. */ + default_branch: string; + open_issues_count: number; + /** Whether this repository acts as a template that can be used to generate new repositories. */ + is_template?: boolean; + topics?: string[]; + /** Whether issues are enabled. */ + has_issues: boolean; + /** Whether projects are enabled. */ + has_projects: boolean; + /** Whether the wiki is enabled. */ + has_wiki: boolean; + has_pages: boolean; + /** Whether downloads are enabled. */ + has_downloads: boolean; + /** Whether the repository is archived. */ + archived: boolean; + /** Returns whether or not this repository disabled. */ + disabled: boolean; + /** The repository visibility: public, private, or internal. */ + visibility?: string; + pushed_at: string | null; + created_at: string | null; + updated_at: string | null; + /** Whether to allow rebase merges for pull requests. */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** Whether to allow squash merges for pull requests. */ + allow_squash_merge?: boolean; + /** Whether to allow Auto-merge to be used on pull requests. */ + allow_auto_merge?: boolean; + /** Whether to delete head branches when pull requests are merged */ + delete_branch_on_merge?: boolean; + /** Whether to allow merge commits for pull requests. */ + allow_merge_commit?: boolean; + /** Whether to allow forking this repo */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + starred_at?: string; + } | null; + /** Minimal Repository */ + "minimal-repository": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url?: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url?: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string | null; + created_at?: string | null; + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + forks?: number; + open_issues?: number; + watchers?: number; + allow_forking?: boolean; + }; + /** Thread */ + thread: { + id: string; + repository: components["schemas"]["minimal-repository"]; + subject: { + title: string; + url: string; + latest_comment_url: string; + type: string; + }; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string | null; + url: string; + subscription_url: string; + }; + /** Thread Subscription */ + "thread-subscription": { + subscribed: boolean; + ignored: boolean; + reason: string | null; + created_at: string | null; + url: string; + thread_url?: string; + repository_url?: string; + }; + /** Organization Full */ + "organization-full": { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; + name?: string; + company?: string; + blog?: string; + location?: string; + email?: string; + twitter_username?: string | null; + is_verified?: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: number | null; + disk_usage?: number | null; + collaborators?: number | null; + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + members_can_create_repositories?: boolean | null; + two_factor_requirement_enabled?: boolean | null; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; + members_can_create_pages?: boolean; + members_can_create_public_pages?: boolean; + members_can_create_private_pages?: boolean; + updated_at: string; + }; + /** The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`. */ + "enabled-repositories": "all" | "none" | "selected"; + "actions-organization-permissions": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + /** The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ + selected_repositories_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "runner-groups-org": { + id: number; + name: string; + visibility: string; + default: boolean; + /** Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected` */ + selected_repositories_url?: string; + runners_url: string; + inherited: boolean; + inherited_allows_public_repositories?: boolean; + allows_public_repositories: boolean; + }; + /** Secrets for GitHub Actions for an organization. */ + "organization-actions-secret": { + /** The name of the secret. */ + name: string; + created_at: string; + updated_at: string; + /** Visibility of a secret */ + visibility: "all" | "private" | "selected"; + selected_repositories_url?: string; + }; + /** The public key used for setting Actions Secrets. */ + "actions-public-key": { + /** The identifier for the key. */ + key_id: string; + /** The Base64 encoded public key. */ + key: string; + id?: number; + url?: string; + title?: string; + created_at?: string; + }; + /** An object without any properties. */ + "empty-object": { [key: string]: unknown }; + /** Credential Authorization */ + "credential-authorization": { + /** User login that owns the underlying credential. */ + login: string; + /** Unique identifier for the credential. */ + credential_id: number; + /** Human-readable description of the credential type. */ + credential_type: string; + /** Last eight characters of the credential. Only included in responses with credential_type of personal access token. */ + token_last_eight?: string; + /** Date when the credential was authorized for use. */ + credential_authorized_at: string; + /** List of oauth scopes the token has been granted. */ + scopes?: string[]; + /** Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key. */ + fingerprint?: string; + /** Date when the credential was last accessed. May be null if it was never accessed */ + credential_accessed_at?: string | null; + authorized_credential_id?: number | null; + /** The title given to the ssh key. This will only be present when the credential is an ssh key. */ + authorized_credential_title?: string | null; + /** The note given to the token. This will only be present when the credential is a token. */ + authorized_credential_note?: string | null; + }; + /** Organization Invitation */ + "organization-invitation": { + id: number; + login: string | null; + email: string | null; + role: string; + created_at: string; + failed_at?: string | null; + failed_reason?: string | null; + inviter: components["schemas"]["simple-user"]; + team_count: number; + node_id: string; + invitation_teams_url: string; + }; + /** Org Hook */ + "org-hook": { + id: number; + url: string; + ping_url: string; + deliveries_url?: string; + name: string; + events: string[]; + active: boolean; + config: { + url?: string; + insecure_ssl?: string; + content_type?: string; + secret?: string; + }; + updated_at: string; + created_at: string; + type: string; + }; + /** The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Can be one of: `existing_users`, `contributors_only`, `collaborators_only`. */ + "interaction-group": + | "existing_users" + | "contributors_only" + | "collaborators_only"; + /** Interaction limit settings. */ + "interaction-limit-response": { + limit: components["schemas"]["interaction-group"]; + origin: string; + expires_at: string; + }; + /** The duration of the interaction restriction. Can be one of: `one_day`, `three_days`, `one_week`, `one_month`, `six_months`. Default: `one_day`. */ + "interaction-expiry": + | "one_day" + | "three_days" + | "one_week" + | "one_month" + | "six_months"; + /** Limit interactions to a specific type of user for a specified duration */ + "interaction-limit": { + limit: components["schemas"]["interaction-group"]; + expiry?: components["schemas"]["interaction-expiry"]; + }; + /** Groups of organization members that gives permissions on specified repositories. */ + "nullable-team-simple": { + /** Unique identifier of the team */ + id: number; + node_id: string; + /** URL for the team */ + url: string; + members_url: string; + /** Name of the team */ + name: string; + /** Description of the team */ + description: string | null; + /** Permission that the team will have for its repositories */ + permission: string; + /** The level of privacy this team should have */ + privacy?: string; + html_url: string; + repositories_url: string; + slug: string; + /** Distinguished Name (DN) that team maps to within LDAP environment */ + ldap_dn?: string; + } | null; + /** Groups of organization members that gives permissions on specified repositories. */ + team: { + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; + url: string; + html_url: string; + members_url: string; + repositories_url: string; + parent: components["schemas"]["nullable-team-simple"]; + }; + /** Org Membership */ + "org-membership": { + url: string; + /** The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. */ + state: "active" | "pending"; + /** The user's membership type in the organization. */ + role: "admin" | "member" | "billing_manager"; + organization_url: string; + organization: components["schemas"]["organization-simple"]; + user: components["schemas"]["nullable-simple-user"]; + permissions?: { + can_create_repository: boolean; + }; + }; + /** A migration. */ + migration: { + id: number; + owner: components["schemas"]["nullable-simple-user"]; + guid: string; + state: string; + lock_repositories: boolean; + exclude_metadata: boolean; + exclude_git_data: boolean; + exclude_attachments: boolean; + exclude_releases: boolean; + exclude_owner_projects: boolean; + repositories: components["schemas"]["repository"][]; + url: string; + created_at: string; + updated_at: string; + node_id: string; + archive_url?: string; + exclude?: unknown[]; + }; + /** Minimal Repository */ + "nullable-minimal-repository": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url?: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url?: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string | null; + created_at?: string | null; + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + forks?: number; + open_issues?: number; + watchers?: number; + allow_forking?: boolean; + } | null; + /** A software package */ + package: { + /** Unique identifier of the package. */ + id: number; + /** The name of the package. */ + name: string; + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + url: string; + html_url: string; + /** The number of versions of the package. */ + version_count: number; + visibility: "private" | "public"; + owner?: components["schemas"]["nullable-simple-user"]; + repository?: components["schemas"]["nullable-minimal-repository"]; + created_at: string; + updated_at: string; + }; + /** A version of a software package */ + "package-version": { + /** Unique identifier of the package version. */ + id: number; + /** The name of the package version. */ + name: string; + url: string; + package_html_url: string; + html_url?: string; + license?: string; + description?: string; + created_at: string; + updated_at: string; + deleted_at?: string; + metadata?: { + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + container?: { + tags: unknown[]; + }; + docker?: { + tag?: unknown[]; + } & { + tags: unknown; + }; + }; + }; + /** Projects are a way to organize columns and cards of work. */ + project: { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + /** Name of the project */ + name: string; + /** Body of the project */ + body: string | null; + number: number; + /** State of the project; either 'open' or 'closed' */ + state: string; + creator: components["schemas"]["nullable-simple-user"]; + created_at: string; + updated_at: string; + /** The baseline permission that all organization members have on this project. Only present if owner is an organization. */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** Whether or not this project can be seen by everyone. Only present if owner is an organization. */ + private?: boolean; + }; + /** The security alert number. */ + "alert-number": number; + /** The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "alert-created-at": string; + /** The REST API URL of the alert resource. */ + "alert-url": string; + /** The GitHub URL of the alert resource. */ + "alert-html-url": string; + /** Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`. */ + "secret-scanning-alert-state": "open" | "resolved"; + /** **Required when the `state` is `resolved`.** The reason for resolving the alert. Can be one of `false_positive`, `wont_fix`, `revoked`, or `used_in_tests`. */ + "secret-scanning-alert-resolution": + | ("false_positive" | "wont_fix" | "revoked" | "used_in_tests") + | null; + "organization-secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** The REST API URL of the code locations for this alert. */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** The type of secret that secret scanning detected. */ + secret_type?: string; + /** The secret that was detected. */ + secret?: string; + repository?: components["schemas"]["minimal-repository"]; + }; + /** External Groups to be mapped to a team for membership */ + "group-mapping": { + /** Array of groups to be mapped to this team */ + groups?: { + /** The ID of the group */ + group_id: string; + /** The name of the group */ + group_name: string; + /** a description of the group */ + group_description: string; + /** synchronization status for this group mapping */ + status?: string; + /** the time of the last sync for this group-mapping */ + synced_at?: string | null; + }[]; + }; + /** Groups of organization members that gives permissions on specified repositories. */ + "team-full": { + /** Unique identifier of the team */ + id: number; + node_id: string; + /** URL for the team */ + url: string; + html_url: string; + /** Name of the team */ + name: string; + slug: string; + description: string | null; + /** The level of privacy this team should have */ + privacy?: "closed" | "secret"; + /** Permission that the team will have for its repositories */ + permission: string; + members_url: string; + repositories_url: string; + parent?: components["schemas"]["nullable-team-simple"]; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: components["schemas"]["organization-full"]; + /** Distinguished Name (DN) that team maps to within LDAP environment */ + ldap_dn?: string; + }; + /** A team discussion is a persistent record of a free-form conversation within a team. */ + "team-discussion": { + author: components["schemas"]["nullable-simple-user"]; + /** The main text of the discussion. */ + body: string; + body_html: string; + /** The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string | null; + html_url: string; + node_id: string; + /** The unique sequence number of a team discussion. */ + number: number; + /** Whether or not this discussion should be pinned for easy retrieval. */ + pinned: boolean; + /** Whether or not this discussion should be restricted to team members and organization administrators. */ + private: boolean; + team_url: string; + /** The title of the discussion. */ + title: string; + updated_at: string; + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** A reply to a discussion within a team. */ + "team-discussion-comment": { + author: components["schemas"]["nullable-simple-user"]; + /** The main text of the comment. */ + body: string; + body_html: string; + /** The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ + body_version: string; + created_at: string; + last_edited_at: string | null; + discussion_url: string; + html_url: string; + node_id: string; + /** The unique sequence number of a team discussion comment. */ + number: number; + updated_at: string; + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** Reactions to conversations provide a way to help people express their feelings more simply and effectively. */ + reaction: { + id: number; + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** The reaction to use */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + created_at: string; + }; + /** Team Membership */ + "team-membership": { + url: string; + /** The role of the user in the team. */ + role: "member" | "maintainer"; + /** The state of the user's membership in the team. */ + state: "active" | "pending"; + }; + /** A team's access to a project. */ + "team-project": { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string | null; + number: number; + state: string; + creator: components["schemas"]["simple-user"]; + created_at: string; + updated_at: string; + /** The organization permission for this project. Only present when owner is an organization. */ + organization_permission?: string; + /** Whether the project is private or not. Only present when owner is an organization. */ + private?: boolean; + permissions: { + read: boolean; + write: boolean; + admin: boolean; + }; + }; + /** A team's access to a repository. */ + "team-repository": { + /** Unique identifier of the repository */ + id: number; + node_id: string; + /** The name of the repository. */ + name: string; + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["nullable-simple-user"]; + /** Whether the repository is private or public. */ + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + /** The default branch of the repository. */ + default_branch: string; + open_issues_count: number; + /** Whether this repository acts as a template that can be used to generate new repositories. */ + is_template?: boolean; + topics?: string[]; + /** Whether issues are enabled. */ + has_issues: boolean; + /** Whether projects are enabled. */ + has_projects: boolean; + /** Whether the wiki is enabled. */ + has_wiki: boolean; + has_pages: boolean; + /** Whether downloads are enabled. */ + has_downloads: boolean; + /** Whether the repository is archived. */ + archived: boolean; + /** Returns whether or not this repository disabled. */ + disabled: boolean; + /** The repository visibility: public, private, or internal. */ + visibility?: string; + pushed_at: string | null; + created_at: string | null; + updated_at: string | null; + /** Whether to allow rebase merges for pull requests. */ + allow_rebase_merge?: boolean; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + /** Whether to allow squash merges for pull requests. */ + allow_squash_merge?: boolean; + /** Whether to allow Auto-merge to be used on pull requests. */ + allow_auto_merge?: boolean; + /** Whether to delete head branches when pull requests are merged */ + delete_branch_on_merge?: boolean; + /** Whether to allow merge commits for pull requests. */ + allow_merge_commit?: boolean; + /** Whether to allow forking this repo */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + }; + /** Project cards represent a scope of work. */ + "project-card": { + url: string; + /** The project card's ID */ + id: number; + node_id: string; + note: string | null; + creator: components["schemas"]["nullable-simple-user"]; + created_at: string; + updated_at: string; + /** Whether or not the card is archived */ + archived?: boolean; + column_name?: string; + project_id?: string; + column_url: string; + content_url?: string; + project_url: string; + }; + /** Project columns contain cards of work. */ + "project-column": { + url: string; + project_url: string; + cards_url: string; + /** The unique identifier of the project column */ + id: number; + node_id: string; + /** Name of the project column */ + name: string; + created_at: string; + updated_at: string; + }; + /** Repository Collaborator Permission */ + "repository-collaborator-permission": { + permission: string; + user: components["schemas"]["nullable-simple-user"]; + }; + "rate-limit": { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit Overview */ + "rate-limit-overview": { + resources: { + core: components["schemas"]["rate-limit"]; + graphql?: components["schemas"]["rate-limit"]; + search: components["schemas"]["rate-limit"]; + source_import?: components["schemas"]["rate-limit"]; + integration_manifest?: components["schemas"]["rate-limit"]; + code_scanning_upload?: components["schemas"]["rate-limit"]; + actions_runner_registration?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** Code of Conduct Simple */ + "code-of-conduct-simple": { + url: string; + key: string; + name: string; + html_url: string | null; + }; + /** Full Repository */ + "full-repository": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template?: boolean; + topics?: string[]; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + /** Returns whether or not this repository disabled. */ + disabled: boolean; + /** The repository visibility: public, private, or internal. */ + visibility?: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + allow_rebase_merge?: boolean; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string | null; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_merge_commit?: boolean; + allow_forking?: boolean; + subscribers_count: number; + network_count: number; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + parent?: components["schemas"]["repository"]; + source?: components["schemas"]["repository"]; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; + /** Whether anonymous git access is allowed. */ + anonymous_access_enabled?: boolean; + code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; + security_and_analysis?: { + advanced_security?: { + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + status?: "enabled" | "disabled"; + }; + } | null; + }; + /** An artifact */ + artifact: { + id: number; + node_id: string; + /** The name of the artifact. */ + name: string; + /** The size in bytes of the artifact. */ + size_in_bytes: number; + url: string; + archive_download_url: string; + /** Whether or not the artifact has expired. */ + expired: boolean; + created_at: string | null; + expires_at: string | null; + updated_at: string | null; + }; + /** Information of a job execution in a workflow run */ + job: { + /** The id of the job. */ + id: number; + /** The id of the associated workflow run. */ + run_id: number; + run_url: string; + /** Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. */ + run_attempt?: number; + node_id: string; + /** The SHA of the commit that is being run. */ + head_sha: string; + url: string; + html_url: string | null; + /** The phase of the lifecycle that the job is currently in. */ + status: "queued" | "in_progress" | "completed"; + /** The outcome of the job. */ + conclusion: string | null; + /** The time that the job started, in ISO 8601 format. */ + started_at: string; + /** The time that the job finished, in ISO 8601 format. */ + completed_at: string | null; + /** The name of the job. */ + name: string; + /** Steps in this job. */ + steps?: { + /** The phase of the lifecycle that the job is currently in. */ + status: "queued" | "in_progress" | "completed"; + /** The outcome of the job. */ + conclusion: string | null; + /** The name of the job. */ + name: string; + number: number; + /** The time that the step started, in ISO 8601 format. */ + started_at?: string | null; + /** The time that the job finished, in ISO 8601 format. */ + completed_at?: string | null; + }[]; + check_run_url: string; + /** Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. */ + labels: string[]; + /** The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_id: number | null; + /** The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_name: string | null; + /** The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_group_id: number | null; + /** The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_group_name: string | null; + }; + /** Whether GitHub Actions is enabled on the repository. */ + "actions-enabled": boolean; + "actions-repository-permissions": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "pull-request-minimal": { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }; + /** Simple Commit */ + "nullable-simple-commit": { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + } | null; + /** An invocation of a workflow */ + "workflow-run": { + /** The ID of the workflow run. */ + id: number; + /** The name of the workflow run. */ + name?: string | null; + node_id: string; + /** The ID of the associated check suite. */ + check_suite_id?: number; + /** The node ID of the associated check suite. */ + check_suite_node_id?: string; + head_branch: string | null; + /** The SHA of the head commit that points to the version of the worflow being run. */ + head_sha: string; + /** The auto incrementing run number for the workflow run. */ + run_number: number; + /** Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. */ + run_attempt?: number; + event: string; + status: string | null; + conclusion: string | null; + /** The ID of the parent workflow. */ + workflow_id: number; + /** The URL to the workflow run. */ + url: string; + html_url: string; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + created_at: string; + updated_at: string; + /** The start time of the latest run. Resets on re-run. */ + run_started_at?: string; + /** The URL to the jobs for the workflow run. */ + jobs_url: string; + /** The URL to download the logs for the workflow run. */ + logs_url: string; + /** The URL to the associated check suite. */ + check_suite_url: string; + /** The URL to the artifacts for the workflow run. */ + artifacts_url: string; + /** The URL to cancel the workflow run. */ + cancel_url: string; + /** The URL to rerun the workflow run. */ + rerun_url: string; + /** The URL to the previous attempted run of this workflow, if one exists. */ + previous_attempt_url?: string | null; + /** The URL to the workflow. */ + workflow_url: string; + head_commit: components["schemas"]["nullable-simple-commit"]; + repository: components["schemas"]["minimal-repository"]; + head_repository: components["schemas"]["minimal-repository"]; + head_repository_id?: number; + }; + /** An entry in the reviews log for environment deployments */ + "environment-approvals": { + /** The list of environments that were approved or rejected */ + environments: { + /** The id of the environment. */ + id?: number; + node_id?: string; + /** The name of the environment. */ + name?: string; + url?: string; + html_url?: string; + /** The time that the environment was created, in ISO 8601 format. */ + created_at?: string; + /** The time that the environment was last updated, in ISO 8601 format. */ + updated_at?: string; + }[]; + /** Whether deployment to the environment(s) was approved or rejected */ + state: "approved" | "rejected"; + user: components["schemas"]["simple-user"]; + /** The comment submitted with the deployment review */ + comment: string; + }; + /** The type of reviewer. Must be one of: `User` or `Team` */ + "deployment-reviewer-type": "User" | "Team"; + /** Details of a deployment that is waiting for protection rules to pass */ + "pending-deployment": { + environment: { + /** The id of the environment. */ + id?: number; + node_id?: string; + /** The name of the environment. */ + name?: string; + url?: string; + html_url?: string; + }; + /** The set duration of the wait timer */ + wait_timer: number; + /** The time that the wait timer began. */ + wait_timer_started_at: string | null; + /** Whether the currently authenticated user can approve the deployment */ + current_user_can_approve: boolean; + /** The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: Partial & + Partial; + }[]; + }; + /** A request for a specific ref(branch,sha,tag) to be deployed */ + deployment: { + url: string; + /** Unique identifier of the deployment */ + id: number; + node_id: string; + sha: string; + /** The ref to deploy. This can be a branch, tag, or sha. */ + ref: string; + /** Parameter to specify a task to execute */ + task: string; + payload: { [key: string]: unknown } | string; + original_environment?: string; + /** Name for the target deployment environment. */ + environment: string; + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + /** Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ + transient_environment?: boolean; + /** Specifies if the given environment is one that end-users directly interact with. Default: false. */ + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** Workflow Run Usage */ + "workflow-run-usage": { + billable: { + UBUNTU?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + MACOS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + WINDOWS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + }; + run_duration_ms?: number; + }; + /** Set secrets for GitHub Actions. */ + "actions-secret": { + /** The name of the secret. */ + name: string; + created_at: string; + updated_at: string; + }; + /** A GitHub Actions workflow */ + workflow: { + id: number; + node_id: string; + name: string; + path: string; + state: + | "active" + | "deleted" + | "disabled_fork" + | "disabled_inactivity" + | "disabled_manually"; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; + deleted_at?: string; + }; + /** Workflow Usage */ + "workflow-usage": { + billable: { + UBUNTU?: { + total_ms?: number; + }; + MACOS?: { + total_ms?: number; + }; + WINDOWS?: { + total_ms?: number; + }; + }; + }; + /** An autolink reference. */ + autolink: { + id: number; + /** The prefix of a key that is linkified. */ + key_prefix: string; + /** A template for the target URL that is generated if a key was found. */ + url_template: string; + }; + /** Protected Branch Admin Enforced */ + "protected-branch-admin-enforced": { + url: string; + enabled: boolean; + }; + /** Protected Branch Pull Request Review */ + "protected-branch-pull-request-review": { + url?: string; + dismissal_restrictions?: { + /** The list of users with review dismissal access. */ + users?: components["schemas"]["simple-user"][]; + /** The list of teams with review dismissal access. */ + teams?: components["schemas"]["team"][]; + url?: string; + users_url?: string; + teams_url?: string; + }; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count?: number; + }; + /** Branch Restriction Policy */ + "branch-restriction-policy": { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }[]; + teams: { + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: string | null; + }[]; + apps: { + id?: number; + slug?: string; + node_id?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + url?: string; + repos_url?: string; + events_url?: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url?: string; + description?: string; + gravatar_id?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + name?: string; + description?: string; + external_url?: string; + html_url?: string; + created_at?: string; + updated_at?: string; + permissions?: { + metadata?: string; + contents?: string; + issues?: string; + single_file?: string; + }; + events?: string[]; + }[]; + }; + /** Branch Protection */ + "branch-protection": { + url?: string; + enabled?: boolean; + required_status_checks?: { + url?: string; + enforcement_level?: string; + contexts: string[]; + contexts_url?: string; + strict?: boolean; + }; + enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; + required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_linear_history?: { + enabled?: boolean; + }; + allow_force_pushes?: { + enabled?: boolean; + }; + allow_deletions?: { + enabled?: boolean; + }; + required_conversation_resolution?: { + enabled?: boolean; + }; + name?: string; + protection_url?: string; + required_signatures?: { + url: string; + enabled: boolean; + }; + }; + /** Short Branch */ + "short-branch": { + name: string; + commit: { + sha: string; + url: string; + }; + protected: boolean; + protection?: components["schemas"]["branch-protection"]; + protection_url?: string; + }; + /** Metaproperties for Git author/committer information. */ + "nullable-git-user": { + name?: string; + email?: string; + date?: string; + } | null; + verification: { + verified: boolean; + reason: string; + payload: string | null; + signature: string | null; + }; + /** Commit */ + commit: { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: { + url: string; + author: components["schemas"]["nullable-git-user"]; + committer: components["schemas"]["nullable-git-user"]; + message: string; + comment_count: number; + tree: { + sha: string; + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-simple-user"]; + parents: { + sha: string; + url: string; + html_url?: string; + }[]; + stats?: { + additions?: number; + deletions?: number; + total?: number; + }; + files?: { + filename?: string; + additions?: number; + deletions?: number; + changes?: number; + status?: string; + raw_url?: string; + blob_url?: string; + patch?: string; + sha?: string; + contents_url?: string; + previous_filename?: string; + }[]; + }; + /** Branch With Protection */ + "branch-with-protection": { + name: string; + commit: components["schemas"]["commit"]; + _links: { + html: string; + self: string; + }; + protected: boolean; + protection: components["schemas"]["branch-protection"]; + protection_url: string; + pattern?: string; + required_approving_review_count?: number; + }; + /** Status Check Policy */ + "status-check-policy": { + url: string; + strict: boolean; + contexts: string[]; + contexts_url: string; + }; + /** Branch protections protect branches */ + "protected-branch": { + url: string; + required_status_checks?: components["schemas"]["status-check-policy"]; + required_pull_request_reviews?: { + url: string; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; + dismissal_restrictions?: { + url: string; + users_url: string; + teams_url: string; + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + }; + }; + required_signatures?: { + url: string; + enabled: boolean; + }; + enforce_admins?: { + url: string; + enabled: boolean; + }; + required_linear_history?: { + enabled: boolean; + }; + allow_force_pushes?: { + enabled: boolean; + }; + allow_deletions?: { + enabled: boolean; + }; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_conversation_resolution?: { + enabled?: boolean; + }; + }; + /** A deployment created as the result of an Actions check run from a workflow that references an environment */ + "deployment-simple": { + url: string; + /** Unique identifier of the deployment */ + id: number; + node_id: string; + /** Parameter to specify a task to execute */ + task: string; + original_environment?: string; + /** Name for the target deployment environment. */ + environment: string; + description: string | null; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + /** Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ + transient_environment?: boolean; + /** Specifies if the given environment is one that end-users directly interact with. Default: false. */ + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** A check performed on the code of a given code change */ + "check-run": { + /** The id of the check. */ + id: number; + /** The SHA of the commit that is being checked. */ + head_sha: string; + node_id: string; + external_id: string | null; + url: string; + html_url: string | null; + details_url: string | null; + /** The phase of the lifecycle that the check is currently in. */ + status: "queued" | "in_progress" | "completed"; + conclusion: + | ( + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + ) + | null; + started_at: string | null; + completed_at: string | null; + output: { + title: string | null; + summary: string | null; + text: string | null; + annotations_count: number; + annotations_url: string; + }; + /** The name of the check. */ + name: string; + check_suite: { + id: number; + } | null; + app: components["schemas"]["nullable-integration"]; + pull_requests: components["schemas"]["pull-request-minimal"][]; + deployment?: components["schemas"]["deployment-simple"]; + }; + /** Check Annotation */ + "check-annotation": { + path: string; + start_line: number; + end_line: number; + start_column: number | null; + end_column: number | null; + annotation_level: string | null; + title: string | null; + message: string | null; + raw_details: string | null; + blob_href: string; + }; + /** Simple Commit */ + "simple-commit": { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + }; + /** A suite of checks performed on the code of a given code change */ + "check-suite": { + id: number; + node_id: string; + head_branch: string | null; + /** The SHA of the head commit that is being checked. */ + head_sha: string; + status: ("queued" | "in_progress" | "completed") | null; + conclusion: + | ( + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + ) + | null; + url: string | null; + before: string | null; + after: string | null; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + app: components["schemas"]["nullable-integration"]; + repository: components["schemas"]["minimal-repository"]; + created_at: string | null; + updated_at: string | null; + head_commit: components["schemas"]["simple-commit"]; + latest_check_runs_count: number; + check_runs_url: string; + }; + /** Check suite configuration preferences for a repository. */ + "check-suite-preference": { + preferences: { + auto_trigger_checks?: { + app_id: number; + setting: boolean; + }[]; + }; + repository: components["schemas"]["minimal-repository"]; + }; + /** The name of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-name": string; + /** The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + "code-scanning-analysis-tool-guid": string | null; + /** + * The full Git reference, formatted as `refs/heads/`, + * `refs/pull//merge`, or `refs/pull//head`. + */ + "code-scanning-ref": string; + /** State of a code scanning alert. */ + "code-scanning-alert-state": "open" | "closed" | "dismissed" | "fixed"; + /** The REST API URL for fetching the list of instances for an alert. */ + "alert-instances-url": string; + /** The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "code-scanning-alert-dismissed-at": string | null; + /** **Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + "code-scanning-alert-dismissed-reason": + | ("false positive" | "won't fix" | "used in tests") + | null; + "code-scanning-alert-rule-summary": { + /** A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** The name of the rule used to detect the alert. */ + name?: string; + /** The severity of the alert. */ + severity?: ("none" | "note" | "warning" | "error") | null; + /** A short description of the rule used to detect the alert. */ + description?: string; + }; + /** The version of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-version": string | null; + "code-scanning-analysis-tool": { + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + version?: components["schemas"]["code-scanning-analysis-tool-version"]; + guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; + }; + /** Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + "code-scanning-analysis-analysis-key": string; + /** Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + "code-scanning-alert-environment": string; + /** Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + "code-scanning-analysis-category": string; + /** Describe a region within a file for the alert. */ + "code-scanning-alert-location": { + path?: string; + start_line?: number; + end_line?: number; + start_column?: number; + end_column?: number; + }; + /** A classification of the file. For example to identify it as generated. */ + "code-scanning-alert-classification": + | ("source" | "generated" | "test" | "library") + | null; + "code-scanning-alert-instance": { + ref?: components["schemas"]["code-scanning-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment?: components["schemas"]["code-scanning-alert-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + state?: components["schemas"]["code-scanning-alert-state"]; + commit_sha?: string; + message?: { + text?: string; + }; + location?: components["schemas"]["code-scanning-alert-location"]; + html_url?: string; + /** + * Classifications that have been applied to the file that triggered the alert. + * For example identifying it as documentation, or a generated file. + */ + classifications?: components["schemas"]["code-scanning-alert-classification"][]; + }; + "code-scanning-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + rule: components["schemas"]["code-scanning-alert-rule-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + "code-scanning-alert-rule": { + /** A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** The name of the rule used to detect the alert. */ + name?: string; + /** The severity of the alert. */ + severity?: ("none" | "note" | "warning" | "error") | null; + /** The security severity of the alert. */ + security_severity_level?: ("low" | "medium" | "high" | "critical") | null; + /** A short description of the rule used to detect the alert. */ + description?: string; + /** description of the rule used to detect the alert. */ + full_description?: string; + /** A set of tags applicable for the rule. */ + tags?: string[] | null; + /** Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: string | null; + }; + "code-scanning-alert": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + /** Sets the state of the code scanning alert. Can be one of `open` or `dismissed`. You must provide `dismissed_reason` when you set the state to `dismissed`. */ + "code-scanning-alert-set-state": "open" | "dismissed"; + /** An identifier for the upload. */ + "code-scanning-analysis-sarif-id": string; + /** The SHA of the commit to which the analysis you are uploading relates. */ + "code-scanning-analysis-commit-sha": string; + /** Identifies the variable values associated with the environment in which this analysis was performed. */ + "code-scanning-analysis-environment": string; + /** The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "code-scanning-analysis-created-at": string; + /** The REST API URL of the analysis resource. */ + "code-scanning-analysis-url": string; + "code-scanning-analysis": { + ref: components["schemas"]["code-scanning-ref"]; + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment: components["schemas"]["code-scanning-analysis-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + error: string; + created_at: components["schemas"]["code-scanning-analysis-created-at"]; + /** The total number of results in the analysis. */ + results_count: number; + /** The total number of rules used in the analysis. */ + rules_count: number; + /** Unique identifier for this analysis. */ + id: number; + url: components["schemas"]["code-scanning-analysis-url"]; + sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + deletable: boolean; + /** Warning generated when processing the analysis */ + warning: string; + }; + /** Successful deletion of a code scanning analysis */ + "code-scanning-analysis-deletion": { + /** Next deletable analysis in chain, without last analysis deletion confirmation */ + next_analysis_url: string | null; + /** Next deletable analysis in chain, with last analysis deletion confirmation */ + confirm_delete_url: string | null; + }; + /** A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ + "code-scanning-analysis-sarif-file": string; + "code-scanning-sarifs-receipt": { + id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + /** The REST API URL for checking the status of the upload. */ + url?: string; + }; + "code-scanning-sarifs-status": { + /** `pending` files have not yet been processed, while `complete` means all results in the SARIF have been stored. */ + processing_status?: "pending" | "complete"; + /** The REST API URL for getting the analyses associated with the upload. */ + analyses_url?: string | null; + }; + /** Collaborator */ + collaborator: { + login: string; + id: number; + email?: string | null; + name?: string | null; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + }; + /** Repository invitations let you manage who you collaborate with. */ + "repository-invitation": { + /** Unique identifier of the repository invitation. */ + id: number; + repository: components["schemas"]["minimal-repository"]; + invitee: components["schemas"]["nullable-simple-user"]; + inviter: components["schemas"]["nullable-simple-user"]; + /** The permission associated with the invitation. */ + permissions: "read" | "write" | "admin" | "triage" | "maintain"; + created_at: string; + /** Whether or not the invitation has expired */ + expired?: boolean; + /** URL for the repository invitation */ + url: string; + html_url: string; + node_id: string; + }; + /** Commit Comment */ + "commit-comment": { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string | null; + position: number | null; + line: number | null; + commit_id: string; + user: components["schemas"]["nullable-simple-user"]; + created_at: string; + updated_at: string; + author_association: components["schemas"]["author_association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** Branch Short */ + "branch-short": { + name: string; + commit: { + sha: string; + url: string; + }; + protected: boolean; + }; + /** Hypermedia Link */ + link: { + href: string; + }; + /** The status of auto merging a pull request. */ + auto_merge: { + enabled_by: components["schemas"]["simple-user"]; + /** The merge method to use. */ + merge_method: "merge" | "squash" | "rebase"; + /** Title for the merge commit message. */ + commit_title: string; + /** Commit message for the merge commit. */ + commit_message: string; + } | null; + /** Pull Request Simple */ + "pull-request-simple": { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: components["schemas"]["nullable-simple-user"]; + body: string | null; + labels: { + id?: number; + node_id?: string; + url?: string; + name?: string; + description?: string; + color?: string; + default?: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + active_lock_reason?: string | null; + created_at: string; + updated_at: string; + closed_at: string | null; + merged_at: string | null; + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team"][] | null; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author_association"]; + auto_merge: components["schemas"]["auto_merge"]; + /** Indicates whether or not the pull request is a draft. */ + draft?: boolean; + }; + "simple-commit-status": { + description: string | null; + id: number; + node_id: string; + state: string; + context: string; + target_url: string; + required?: boolean | null; + avatar_url: string | null; + url: string; + created_at: string; + updated_at: string; + }; + /** Combined Commit Status */ + "combined-commit-status": { + state: string; + statuses: components["schemas"]["simple-commit-status"][]; + sha: string; + total_count: number; + repository: components["schemas"]["minimal-repository"]; + commit_url: string; + url: string; + }; + /** The status of a commit. */ + status: { + url: string; + avatar_url: string | null; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: components["schemas"]["nullable-simple-user"]; + }; + /** Code of Conduct Simple */ + "nullable-code-of-conduct-simple": { + url: string; + key: string; + name: string; + html_url: string | null; + } | null; + "nullable-community-health-file": { + url: string; + html_url: string; + } | null; + /** Community Profile */ + "community-profile": { + health_percentage: number; + description: string | null; + documentation: string | null; + files: { + code_of_conduct: components["schemas"]["nullable-code-of-conduct-simple"]; + code_of_conduct_file: components["schemas"]["nullable-community-health-file"]; + license: components["schemas"]["nullable-license-simple"]; + contributing: components["schemas"]["nullable-community-health-file"]; + readme: components["schemas"]["nullable-community-health-file"]; + issue_template: components["schemas"]["nullable-community-health-file"]; + pull_request_template: components["schemas"]["nullable-community-health-file"]; + }; + updated_at: string | null; + content_reports_enabled?: boolean; + }; + /** Diff Entry */ + "diff-entry": { + sha: string; + filename: string; + status: + | "added" + | "removed" + | "modified" + | "renamed" + | "copied" + | "changed" + | "unchanged"; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch?: string; + previous_filename?: string; + }; + /** Commit Comparison */ + "commit-comparison": { + url: string; + html_url: string; + permalink_url: string; + diff_url: string; + patch_url: string; + base_commit: components["schemas"]["commit"]; + merge_base_commit: components["schemas"]["commit"]; + status: "diverged" | "ahead" | "behind" | "identical"; + ahead_by: number; + behind_by: number; + total_commits: number; + commits: components["schemas"]["commit"][]; + files?: components["schemas"]["diff-entry"][]; + }; + /** Content Reference attachments allow you to provide context around URLs posted in comments */ + "content-reference-attachment": { + /** The ID of the attachment */ + id: number; + /** The title of the attachment */ + title: string; + /** The body of the attachment */ + body: string; + /** The node_id of the content attachment */ + node_id?: string; + }; + /** Content Tree */ + "content-tree": { + type: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + entries?: { + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + _links: { + git: string | null; + html: string | null; + self: string; + }; + }[]; + _links: { + git: string | null; + html: string | null; + self: string; + }; + } & { + content: unknown; + encoding: unknown; + }; + /** A list of directory items */ + "content-directory": { + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + _links: { + git: string | null; + html: string | null; + self: string; + }; + }[]; + /** Content File */ + "content-file": { + type: string; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + _links: { + git: string | null; + html: string | null; + self: string; + }; + target?: string; + submodule_git_url?: string; + }; + /** An object describing a symlink */ + "content-symlink": { + type: string; + target: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + _links: { + git: string | null; + html: string | null; + self: string; + }; + }; + /** An object describing a symlink */ + "content-submodule": { + type: string; + submodule_git_url: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + _links: { + git: string | null; + html: string | null; + self: string; + }; + }; + /** File Commit */ + "file-commit": { + content: { + name?: string; + path?: string; + sha?: string; + size?: number; + url?: string; + html_url?: string; + git_url?: string; + download_url?: string; + type?: string; + _links?: { + self?: string; + git?: string; + html?: string; + }; + } | null; + commit: { + sha?: string; + node_id?: string; + url?: string; + html_url?: string; + author?: { + date?: string; + name?: string; + email?: string; + }; + committer?: { + date?: string; + name?: string; + email?: string; + }; + message?: string; + tree?: { + url?: string; + sha?: string; + }; + parents?: { + url?: string; + html_url?: string; + sha?: string; + }[]; + verification?: { + verified?: boolean; + reason?: string; + signature?: string | null; + payload?: string | null; + }; + }; + }; + /** Contributor */ + contributor: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string | null; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type: string; + site_admin?: boolean; + contributions: number; + email?: string; + name?: string; + }; + /** The status of a deployment. */ + "deployment-status": { + url: string; + id: number; + node_id: string; + /** The state of the status. */ + state: + | "error" + | "failure" + | "inactive" + | "pending" + | "success" + | "queued" + | "in_progress"; + creator: components["schemas"]["nullable-simple-user"]; + /** A short description of the status. */ + description: string; + /** The environment of the deployment that the status is for. */ + environment?: string; + /** Deprecated: the URL to associate with this status. */ + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + /** The URL for accessing your environment. */ + environment_url?: string; + /** The URL to associate with this status. */ + log_url?: string; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). */ + "wait-timer": number; + /** The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ + deployment_branch_policy: { + /** Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ + protected_branches: boolean; + /** Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ + custom_branch_policies: boolean; + } | null; + /** Details of a deployment environment */ + environment: { + /** The id of the environment. */ + id: number; + node_id: string; + /** The name of the environment. */ + name: string; + url: string; + html_url: string; + /** The time that the environment was created, in ISO 8601 format. */ + created_at: string; + /** The time that the environment was last updated, in ISO 8601 format. */ + updated_at: string; + protection_rules?: (Partial<{ + id: number; + node_id: string; + type: string; + wait_timer?: components["schemas"]["wait-timer"]; + }> & + Partial<{ + id: number; + node_id: string; + type: string; + /** The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: Partial & + Partial; + }[]; + }> & + Partial<{ + id: number; + node_id: string; + type: string; + }>)[]; + deployment_branch_policy?: components["schemas"]["deployment_branch_policy"]; + }; + /** Short Blob */ + "short-blob": { + url: string; + sha: string; + }; + /** Blob */ + blob: { + content: string; + encoding: string; + url: string; + sha: string; + size: number | null; + node_id: string; + highlighted_content?: string; + }; + /** Low-level Git commit operations within a repository */ + "git-commit": { + /** SHA for the commit */ + sha: string; + node_id: string; + url: string; + /** Identifying information for the git-user */ + author: { + /** Timestamp of the commit */ + date: string; + /** Git email address of the user */ + email: string; + /** Name of the git user */ + name: string; + }; + /** Identifying information for the git-user */ + committer: { + /** Timestamp of the commit */ + date: string; + /** Git email address of the user */ + email: string; + /** Name of the git user */ + name: string; + }; + /** Message describing the purpose of the commit */ + message: string; + tree: { + /** SHA for the commit */ + sha: string; + url: string; + }; + parents: { + /** SHA for the commit */ + sha: string; + url: string; + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + }; + html_url: string; + }; + /** Git references within a repository */ + "git-ref": { + ref: string; + node_id: string; + url: string; + object: { + type: string; + /** SHA for the reference */ + sha: string; + url: string; + }; + }; + /** Metadata for a Git tag */ + "git-tag": { + node_id: string; + /** Name of the tag */ + tag: string; + sha: string; + /** URL for the tag */ + url: string; + /** Message describing the purpose of the tag */ + message: string; + tagger: { + date: string; + email: string; + name: string; + }; + object: { + sha: string; + type: string; + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + /** The hierarchy between files in a Git repository. */ + "git-tree": { + sha: string; + url: string; + truncated: boolean; + /** Objects specifying a tree structure */ + tree: { + path?: string; + mode?: string; + type?: string; + sha?: string; + size?: number; + url?: string; + }[]; + }; + "hook-response": { + code: number | null; + status: string | null; + message: string | null; + }; + /** Webhooks for repositories. */ + hook: { + type: string; + /** Unique identifier of the webhook. */ + id: number; + /** The name of a valid service, use 'web' for a webhook. */ + name: string; + /** Determines whether the hook is actually triggered on pushes. */ + active: boolean; + /** Determines what events the hook is triggered for. Default: ['push']. */ + events: string[]; + config: { + email?: string; + password?: string; + room?: string; + subdomain?: string; + url?: components["schemas"]["webhook-config-url"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + digest?: string; + secret?: components["schemas"]["webhook-config-secret"]; + token?: string; + }; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + deliveries_url?: string; + last_response: components["schemas"]["hook-response"]; + }; + /** A repository import from an external source. */ + import: { + vcs: string | null; + use_lfs?: boolean; + /** The URL of the originating repository. */ + vcs_url: string; + svc_root?: string; + tfvc_project?: string; + status: + | "auth" + | "error" + | "none" + | "detecting" + | "choose" + | "auth_failed" + | "importing" + | "mapping" + | "waiting_to_push" + | "pushing" + | "complete" + | "setup" + | "unknown" + | "detection_found_multiple" + | "detection_found_nothing" + | "detection_needs_auth"; + status_text?: string | null; + failed_step?: string | null; + error_message?: string | null; + import_percent?: number | null; + commit_count?: number | null; + push_percent?: number | null; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + project_choices?: { + vcs?: string; + tfvc_project?: string; + human_name?: string; + }[]; + message?: string; + authors_count?: number | null; + url: string; + html_url: string; + authors_url: string; + repository_url: string; + svn_root?: string; + }; + /** Porter Author */ + "porter-author": { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; + }; + /** Porter Large File */ + "porter-large-file": { + ref_name: string; + path: string; + oid: string; + size: number; + }; + /** Issue Event Label */ + "issue-event-label": { + name: string | null; + color: string | null; + }; + "issue-event-dismissed-review": { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string | null; + }; + /** Issue Event Milestone */ + "issue-event-milestone": { + title: string; + }; + /** Issue Event Project Card */ + "issue-event-project-card": { + url: string; + id: number; + project_url: string; + project_id: number; + column_name: string; + previous_column_name?: string; + }; + /** Issue Event Rename */ + "issue-event-rename": { + from: string; + to: string; + }; + /** Issue Event */ + "issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["nullable-simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + issue?: components["schemas"]["issue"]; + label?: components["schemas"]["issue-event-label"]; + assignee?: components["schemas"]["nullable-simple-user"]; + assigner?: components["schemas"]["nullable-simple-user"]; + review_requester?: components["schemas"]["nullable-simple-user"]; + requested_reviewer?: components["schemas"]["nullable-simple-user"]; + requested_team?: components["schemas"]["team"]; + dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; + milestone?: components["schemas"]["issue-event-milestone"]; + project_card?: components["schemas"]["issue-event-project-card"]; + rename?: components["schemas"]["issue-event-rename"]; + author_association?: components["schemas"]["author_association"]; + lock_reason?: string | null; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** Labeled Issue Event */ + "labeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + label: { + name: string; + color: string; + }; + }; + /** Unlabeled Issue Event */ + "unlabeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + label: { + name: string; + color: string; + }; + }; + /** Assigned Issue Event */ + "assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** Unassigned Issue Event */ + "unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** Milestoned Issue Event */ + "milestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + milestone: { + title: string; + }; + }; + /** Demilestoned Issue Event */ + "demilestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + milestone: { + title: string; + }; + }; + /** Renamed Issue Event */ + "renamed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + rename: { + from: string; + to: string; + }; + }; + /** Review Requested Issue Event */ + "review-requested-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** Review Request Removed Issue Event */ + "review-request-removed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** Review Dismissed Issue Event */ + "review-dismissed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + dismissed_review: { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string; + }; + }; + /** Locked Issue Event */ + "locked-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + lock_reason: string | null; + }; + /** Added to Project Issue Event */ + "added-to-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + url: string; + project_id: number; + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** Moved Column in Project Issue Event */ + "moved-column-in-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + url: string; + project_id: number; + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** Removed from Project Issue Event */ + "removed-from-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + url: string; + project_id: number; + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** Converted Note to Issue Issue Event */ + "converted-note-to-issue-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + project_card?: { + id: number; + url: string; + project_id: number; + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** Issue Event for Issue */ + "issue-event-for-issue": Partial< + components["schemas"]["labeled-issue-event"] + > & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial; + /** Color-coded labels help you categorize and filter your issues (just like labels in Gmail). */ + label: { + id: number; + node_id: string; + /** URL for the label */ + url: string; + /** The name of the label. */ + name: string; + description: string | null; + /** 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + }; + /** Timeline Comment Event */ + "timeline-comment-event": { + event: string; + actor: components["schemas"]["simple-user"]; + /** Unique identifier of the issue comment */ + id: number; + node_id: string; + /** URL for the issue comment */ + url: string; + /** Contents of the issue comment */ + body?: string; + body_text?: string; + body_html?: string; + html_url: string; + user: components["schemas"]["simple-user"]; + created_at: string; + updated_at: string; + issue_url: string; + author_association: components["schemas"]["author_association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** Timeline Cross Referenced Event */ + "timeline-cross-referenced-event": { + event: string; + actor?: components["schemas"]["simple-user"]; + created_at: string; + updated_at: string; + source: { + type?: string; + issue?: components["schemas"]["issue"]; + }; + }; + /** Timeline Committed Event */ + "timeline-committed-event": { + event?: string; + /** SHA for the commit */ + sha: string; + node_id: string; + url: string; + /** Identifying information for the git-user */ + author: { + /** Timestamp of the commit */ + date: string; + /** Git email address of the user */ + email: string; + /** Name of the git user */ + name: string; + }; + /** Identifying information for the git-user */ + committer: { + /** Timestamp of the commit */ + date: string; + /** Git email address of the user */ + email: string; + /** Name of the git user */ + name: string; + }; + /** Message describing the purpose of the commit */ + message: string; + tree: { + /** SHA for the commit */ + sha: string; + url: string; + }; + parents: { + /** SHA for the commit */ + sha: string; + url: string; + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + }; + html_url: string; + }; + /** Timeline Reviewed Event */ + "timeline-reviewed-event": { + event: string; + /** Unique identifier of the review */ + id: number; + node_id: string; + user: components["schemas"]["simple-user"]; + /** The text of the review. */ + body: string | null; + state: string; + html_url: string; + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + submitted_at?: string; + /** A commit SHA for the review. */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author_association"]; + }; + /** Pull Request Review Comments are comments on a portion of the Pull Request's diff. */ + "pull-request-review-comment": { + /** URL for the pull request review comment */ + url: string; + /** The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** The ID of the pull request review comment. */ + id: number; + /** The node ID of the pull request review comment. */ + node_id: string; + /** The diff of the line that the comment refers to. */ + diff_hunk: string; + /** The relative path of the file to which the comment applies. */ + path: string; + /** The line index in the diff to which the comment applies. */ + position: number; + /** The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** The SHA of the commit to which the comment applies. */ + commit_id: string; + /** The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** The comment ID to reply to. */ + in_reply_to_id?: number; + user: components["schemas"]["simple-user"]; + /** The text of the comment. */ + body: string; + created_at: string; + updated_at: string; + /** HTML URL for the pull request review comment. */ + html_url: string; + /** URL for the pull request that the review comment belongs to. */ + pull_request_url: string; + author_association: components["schemas"]["author_association"]; + _links: { + self: { + href: string; + }; + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** The first line of the range for a multi-line comment. */ + start_line?: number | null; + /** The first line of the range for a multi-line comment. */ + original_start_line?: number | null; + /** The side of the first line of the range for a multi-line comment. */ + start_side?: ("LEFT" | "RIGHT") | null; + /** The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line?: number; + /** The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line?: number; + /** The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment */ + side?: "LEFT" | "RIGHT"; + reactions?: components["schemas"]["reaction-rollup"]; + body_html?: string; + body_text?: string; + }; + /** Timeline Line Commented Event */ + "timeline-line-commented-event": { + event?: string; + node_id?: string; + comments?: components["schemas"]["pull-request-review-comment"][]; + }; + /** Timeline Commit Commented Event */ + "timeline-commit-commented-event": { + event?: string; + node_id?: string; + commit_id?: string; + comments?: components["schemas"]["commit-comment"][]; + }; + /** Timeline Assigned Issue Event */ + "timeline-assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** Timeline Unassigned Issue Event */ + "timeline-unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** Timeline Event */ + "timeline-issue-events": Partial< + components["schemas"]["labeled-issue-event"] + > & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial; + /** An SSH key granting access to a single repository. */ + "deploy-key": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + }; + /** Language */ + language: { [key: string]: number }; + /** License Content */ + "license-content": { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string | null; + git_url: string | null; + download_url: string | null; + type: string; + content: string; + encoding: string; + _links: { + git: string | null; + html: string | null; + self: string; + }; + license: components["schemas"]["nullable-license-simple"]; + }; + /** Results of a successful merge upstream request */ + "merged-upstream": { + message?: string; + merge_type?: "merge" | "fast-forward" | "none"; + base_branch?: string; + }; + /** A collection of related issues and pull requests. */ + milestone: { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + /** The number of the milestone. */ + number: number; + /** The state of the milestone. */ + state: "open" | "closed"; + /** The title of the milestone. */ + title: string; + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string | null; + due_on: string | null; + }; + "pages-source-hash": { + branch: string; + path: string; + }; + "pages-https-certificate": { + state: + | "new" + | "authorization_created" + | "authorization_pending" + | "authorized" + | "authorization_revoked" + | "issued" + | "uploaded" + | "approved" + | "errored" + | "bad_authz" + | "destroy_pending" + | "dns_changed"; + description: string; + /** Array of the domain set and its alternate name (if it is configured) */ + domains: unknown[]; + expires_at?: string; + }; + /** The configuration for GitHub Pages for a repository. */ + page: { + /** The API address for accessing this Page resource. */ + url: string; + /** The status of the most recent build of the Page. */ + status: ("built" | "building" | "errored") | null; + /** The Pages site's custom domain */ + cname: string | null; + /** The state if the domain is protected */ + protected_domain_state?: ("pending" | "verified" | "unverified") | null; + /** The timestamp when a pending domain becomes unverified. */ + pending_domain_unverified_at?: string | null; + /** Whether the Page has a custom 404 page. */ + custom_404: boolean; + /** The web address the Page can be accessed from. */ + html_url?: string; + source?: components["schemas"]["pages-source-hash"]; + /** Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. */ + public: boolean; + https_certificate?: components["schemas"]["pages-https-certificate"]; + /** Whether https is enabled on the domain */ + https_enforced?: boolean; + }; + /** Page Build */ + "page-build": { + url: string; + status: string; + error: { + message: string | null; + }; + pusher: components["schemas"]["nullable-simple-user"]; + commit: string; + duration: number; + created_at: string; + updated_at: string; + }; + /** Page Build Status */ + "page-build-status": { + url: string; + status: string; + }; + /** Pages Health Check Status */ + "pages-health-check": { + domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + }; + alt_domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + } | null; + }; + /** Groups of organization members that gives permissions on specified repositories. */ + "team-simple": { + /** Unique identifier of the team */ + id: number; + node_id: string; + /** URL for the team */ + url: string; + members_url: string; + /** Name of the team */ + name: string; + /** Description of the team */ + description: string | null; + /** Permission that the team will have for its repositories */ + permission: string; + /** The level of privacy this team should have */ + privacy?: string; + html_url: string; + repositories_url: string; + slug: string; + /** Distinguished Name (DN) that team maps to within LDAP environment */ + ldap_dn?: string; + }; + /** Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. */ + "pull-request": { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + /** Number uniquely identifying the pull request within its repository. */ + number: number; + /** State of this Pull Request. Either `open` or `closed`. */ + state: "open" | "closed"; + locked: boolean; + /** The title of the pull request. */ + title: string; + user: components["schemas"]["nullable-simple-user"]; + body: string | null; + labels: { + id?: number; + node_id?: string; + url?: string; + name?: string; + description?: string | null; + color?: string; + default?: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + active_lock_reason?: string | null; + created_at: string; + updated_at: string; + closed_at: string | null; + merged_at: string | null; + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team-simple"][] | null; + head: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string | null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + html_url: string; + id: number; + node_id: string; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** The repository visibility: public, private, or internal. */ + visibility?: string; + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: { + key: string; + name: string; + url: string | null; + spdx_id: string | null; + node_id: string; + } | null; + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + created_at: string; + updated_at: string; + allow_forking?: boolean; + is_template?: boolean; + } | null; + sha: string; + user: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + html_url: string; + id: number; + node_id: string; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + }; + base: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string | null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + is_template?: boolean; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + html_url: string; + id: number; + node_id: string; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** The repository visibility: public, private, or internal. */ + visibility?: string; + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: components["schemas"]["nullable-license-simple"]; + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + created_at: string; + updated_at: string; + allow_forking?: boolean; + }; + sha: string; + user: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + html_url: string; + id: number; + node_id: string; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author_association"]; + auto_merge: components["schemas"]["auto_merge"]; + /** Indicates whether or not the pull request is a draft. */ + draft?: boolean; + merged: boolean; + mergeable: boolean | null; + rebaseable?: boolean | null; + mergeable_state: string; + merged_by: components["schemas"]["nullable-simple-user"]; + comments: number; + review_comments: number; + /** Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; + }; + /** Pull Request Merge Result */ + "pull-request-merge-result": { + sha: string; + merged: boolean; + message: string; + }; + /** Pull Request Review Request */ + "pull-request-review-request": { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + }; + /** Pull Request Reviews are reviews on pull requests. */ + "pull-request-review": { + /** Unique identifier of the review */ + id: number; + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** The text of the review. */ + body: string; + state: string; + html_url: string; + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + submitted_at?: string; + /** A commit SHA for the review. */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author_association"]; + }; + /** Legacy Review Comment */ + "review-comment": { + url: string; + pull_request_review_id: number | null; + id: number; + node_id: string; + diff_hunk: string; + path: string; + position: number | null; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id?: number; + user: components["schemas"]["nullable-simple-user"]; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: components["schemas"]["author_association"]; + _links: { + self: components["schemas"]["link"]; + html: components["schemas"]["link"]; + pull_request: components["schemas"]["link"]; + }; + body_text?: string; + body_html?: string; + reactions?: components["schemas"]["reaction-rollup"]; + /** The side of the first line of the range for a multi-line comment. */ + side?: "LEFT" | "RIGHT"; + /** The side of the first line of the range for a multi-line comment. */ + start_side?: ("LEFT" | "RIGHT") | null; + /** The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line?: number; + /** The original line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line?: number; + /** The first line of the range for a multi-line comment. */ + start_line?: number | null; + /** The original first line of the range for a multi-line comment. */ + original_start_line?: number | null; + }; + /** Data related to a release. */ + "release-asset": { + url: string; + browser_download_url: string; + id: number; + node_id: string; + /** The file name of the asset. */ + name: string; + label: string | null; + /** State of the release asset. */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: components["schemas"]["nullable-simple-user"]; + }; + /** A release. */ + release: { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string | null; + zipball_url: string | null; + id: number; + node_id: string; + /** The name of the tag. */ + tag_name: string; + /** Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + name: string | null; + body?: string | null; + /** true to create a draft (unpublished) release, false to create a published one. */ + draft: boolean; + /** Whether to identify the release as a prerelease or a full release. */ + prerelease: boolean; + created_at: string; + published_at: string | null; + author: components["schemas"]["simple-user"]; + assets: components["schemas"]["release-asset"][]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** The URL of the release discussion. */ + discussion_url?: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** Generated name and body describing a release */ + "release-notes-content": { + /** The generated name of the release */ + name: string; + /** The generated body describing the contents of the release supporting markdown formatting */ + body: string; + }; + "secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** The REST API URL of the code locations for this alert. */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** The type of secret that secret scanning detected. */ + secret_type?: string; + /** The secret that was detected. */ + secret?: string; + }; + /** Stargazer */ + stargazer: { + starred_at: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** Code Frequency Stat */ + "code-frequency-stat": number[]; + /** Commit Activity */ + "commit-activity": { + days: number[]; + total: number; + week: number; + }; + /** Contributor Activity */ + "contributor-activity": { + author: components["schemas"]["nullable-simple-user"]; + total: number; + weeks: { + w?: number; + a?: number; + d?: number; + c?: number; + }[]; + }; + "participation-stats": { + all: number[]; + owner: number[]; + }; + /** Repository invitations let you manage who you collaborate with. */ + "repository-subscription": { + /** Determines if notifications should be received from this repository. */ + subscribed: boolean; + /** Determines if all notifications should be blocked from this repository. */ + ignored: boolean; + reason: string | null; + created_at: string; + url: string; + repository_url: string; + }; + /** Tag */ + tag: { + name: string; + commit: { + sha: string; + url: string; + }; + zipball_url: string; + tarball_url: string; + node_id: string; + }; + /** A topic aggregates entities that are related to a subject. */ + topic: { + names: string[]; + }; + traffic: { + timestamp: string; + uniques: number; + count: number; + }; + /** Clone Traffic */ + "clone-traffic": { + count: number; + uniques: number; + clones: components["schemas"]["traffic"][]; + }; + /** Content Traffic */ + "content-traffic": { + path: string; + title: string; + count: number; + uniques: number; + }; + /** Referrer Traffic */ + "referrer-traffic": { + referrer: string; + count: number; + uniques: number; + }; + /** View Traffic */ + "view-traffic": { + count: number; + uniques: number; + views: components["schemas"]["traffic"][]; + }; + "scim-group-list-enterprise": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + "scim-enterprise-group": { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + "scim-user-list-enterprise": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + primary?: boolean; + type?: string; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + "scim-enterprise-user": { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + type?: string; + primary?: boolean; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + /** SCIM /Users provisioning endpoints */ + "scim-user": { + /** SCIM schema used. */ + schemas: string[]; + /** Unique identifier of an external identity */ + id: string; + /** The ID of the User. */ + externalId: string | null; + /** Configured by the admin. Could be an email, login, or username */ + userName: string | null; + /** The name of the user, suitable for display to end-users */ + displayName?: string | null; + name: { + givenName: string | null; + familyName: string | null; + formatted?: string | null; + }; + /** user emails */ + emails: { + value: string; + primary?: boolean; + }[]; + /** The active status of the User. */ + active: boolean; + meta: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + /** The ID of the organization. */ + organization_id?: number; + /** Set of operations to be performed */ + operations?: { + op: "add" | "remove" | "replace"; + path?: string; + value?: string | { [key: string]: unknown } | unknown[]; + }[]; + /** associated groups */ + groups?: { + value?: string; + display?: string; + }[]; + }; + /** SCIM User List */ + "scim-user-list": { + /** SCIM schema used. */ + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: components["schemas"]["scim-user"][]; + }; + "search-result-text-matches": { + object_url?: string; + object_type?: string | null; + property?: string; + fragment?: string; + matches?: { + text?: string; + indices?: number[]; + }[]; + }[]; + /** Code Search Result Item */ + "code-search-result-item": { + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + repository: components["schemas"]["minimal-repository"]; + score: number; + file_size?: number; + language?: string | null; + last_modified_at?: string; + line_numbers?: string[]; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** Commit Search Result Item */ + "commit-search-result-item": { + url: string; + sha: string; + html_url: string; + comments_url: string; + commit: { + author: { + name: string; + email: string; + date: string; + }; + committer: components["schemas"]["nullable-git-user"]; + comment_count: number; + message: string; + tree: { + sha: string; + url: string; + }; + url: string; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-git-user"]; + parents: { + url?: string; + html_url?: string; + sha?: string; + }[]; + repository: components["schemas"]["minimal-repository"]; + score: number; + node_id: string; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** Issue Search Result Item */ + "issue-search-result-item": { + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + locked: boolean; + active_lock_reason?: string | null; + assignees?: components["schemas"]["simple-user"][] | null; + user: components["schemas"]["nullable-simple-user"]; + labels: { + id?: number; + node_id?: string; + url?: string; + name?: string; + color?: string; + default?: boolean; + description?: string | null; + }[]; + state: string; + assignee: components["schemas"]["nullable-simple-user"]; + milestone: components["schemas"]["nullable-milestone"]; + comments: number; + created_at: string; + updated_at: string; + closed_at: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + pull_request?: { + merged_at?: string | null; + diff_url: string | null; + html_url: string | null; + patch_url: string | null; + url: string | null; + }; + body?: string; + score: number; + author_association: components["schemas"]["author_association"]; + draft?: boolean; + repository?: components["schemas"]["repository"]; + body_html?: string; + body_text?: string; + timeline_url?: string; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** Label Search Result Item */ + "label-search-result-item": { + id: number; + node_id: string; + url: string; + name: string; + color: string; + default: boolean; + description: string | null; + score: number; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** Repo Search Result Item */ + "repo-search-result-item": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["nullable-simple-user"]; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + created_at: string; + updated_at: string; + pushed_at: string; + homepage: string | null; + size: number; + stargazers_count: number; + watchers_count: number; + language: string | null; + forks_count: number; + open_issues_count: number; + master_branch?: string; + default_branch: string; + score: number; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; + git_url: string; + ssh_url: string; + clone_url: string; + svn_url: string; + forks: number; + open_issues: number; + watchers: number; + topics?: string[]; + mirror_url: string | null; + has_issues: boolean; + has_projects: boolean; + has_pages: boolean; + has_wiki: boolean; + has_downloads: boolean; + archived: boolean; + /** Returns whether or not this repository disabled. */ + disabled: boolean; + /** The repository visibility: public, private, or internal. */ + visibility?: string; + license: components["schemas"]["nullable-license-simple"]; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + text_matches?: components["schemas"]["search-result-text-matches"]; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_forking?: boolean; + is_template?: boolean; + }; + /** Topic Search Result Item */ + "topic-search-result-item": { + name: string; + display_name: string | null; + short_description: string | null; + description: string | null; + created_by: string | null; + released: string | null; + created_at: string; + updated_at: string; + featured: boolean; + curated: boolean; + score: number; + repository_count?: number | null; + logo_url?: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + related?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + aliases?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + }; + /** User Search Result Item */ + "user-search-result-item": { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + received_events_url: string; + type: string; + score: number; + following_url: string; + gists_url: string; + starred_url: string; + events_url: string; + public_repos?: number; + public_gists?: number; + followers?: number; + following?: number; + created_at?: string; + updated_at?: string; + name?: string | null; + bio?: string | null; + email?: string | null; + location?: string | null; + site_admin: boolean; + hireable?: boolean | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + blog?: string | null; + company?: string | null; + suspended_at?: string | null; + }; + /** Private User */ + "private-user": { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + email: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists: number; + total_private_repos: number; + owned_private_repos: number; + disk_usage: number; + collaborators: number; + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + suspended_at?: string | null; + business_plus?: boolean; + ldap_dn?: string; + }; + /** Email */ + email: { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; + }; + /** A unique encryption key */ + "gpg-key": { + id: number; + primary_key_id: number | null; + key_id: string; + public_key: string; + emails: { + email?: string; + verified?: boolean; + }[]; + subkeys: { + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: unknown[]; + subkeys?: unknown[]; + can_sign?: boolean; + can_encrypt_comms?: boolean; + can_encrypt_storage?: boolean; + can_certify?: boolean; + created_at?: string; + expires_at?: string | null; + raw_key?: string | null; + }[]; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: string | null; + raw_key: string | null; + }; + /** Key */ + key: { + key: string; + id: number; + url: string; + title: string; + created_at: string; + verified: boolean; + read_only: boolean; + }; + "marketplace-account": { + url: string; + id: number; + type: string; + node_id?: string; + login: string; + email?: string | null; + organization_billing_email?: string | null; + }; + /** User Marketplace Purchase */ + "user-marketplace-purchase": { + billing_cycle: string; + next_billing_date: string | null; + unit_count: number | null; + on_free_trial: boolean; + free_trial_ends_on: string | null; + updated_at: string | null; + account: components["schemas"]["marketplace-account"]; + plan: components["schemas"]["marketplace-listing-plan"]; + }; + /** Starred Repository */ + "starred-repository": { + starred_at: string; + repo: components["schemas"]["repository"]; + }; + /** Hovercard */ + hovercard: { + contexts: { + message: string; + octicon: string; + }[]; + }; + /** Key Simple */ + "key-simple": { + id: number; + key: string; + }; + }; + responses: { + /** Resource not found */ + not_found: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Validation failed */ + validation_failed_simple: { + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** Bad Request */ + bad_request: { + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Validation failed */ + validation_failed: { + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** Accepted */ + accepted: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Preview header missing */ + preview_header_missing: { + content: { + "application/json": { + message: string; + documentation_url: string; + }; + }; + }; + /** Forbidden */ + forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Requires authentication */ + requires_authentication: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Not modified */ + not_modified: unknown; + /** Gone */ + gone: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Service unavailable */ + service_unavailable: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** Forbidden Gist */ + forbidden_gist: { + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: string | null; + }; + message?: string; + documentation_url?: string; + }; + }; + }; + /** Moved permanently */ + moved_permanently: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Conflict */ + conflict: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Temporary Redirect */ + temporary_redirect: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Response if the repository is archived or if github advanced security is not enabled for this repository */ + code_scanning_forbidden_write: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Internal Error */ + internal_error: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Found */ + found: unknown; + /** A header with no content is returned. */ + no_content: unknown; + /** Resource not found */ + scim_not_found: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Forbidden */ + scim_forbidden: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Bad Request */ + scim_bad_request: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Internal Error */ + scim_internal_error: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Conflict */ + scim_conflict: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + }; + parameters: { + /** Results per page (max 100) */ + "per-page": number; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor: string; + "delivery-id": number; + /** Page number of the results to fetch. */ + page: number; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since: string; + /** installation_id parameter */ + "installation-id": number; + /** grant_id parameter */ + "grant-id": number; + /** The client ID of your GitHub app. */ + "client-id": string; + "app-slug": string; + /** authorization_id parameter */ + "authorization-id": number; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** Unique identifier of an organization. */ + "org-id": number; + /** Unique identifier of the self-hosted runner group. */ + "runner-group-id": number; + /** Unique identifier of the self-hosted runner. */ + "runner-id": number; + /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + "audit-log-phrase": string; + /** + * The event types to include: + * + * - `web` - returns web (non-Git) events + * - `git` - returns Git events + * - `all` - returns both web and Git events + * + * The default is `web`. + */ + "audit-log-include": "web" | "git" | "all"; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + "audit-log-after": string; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + "audit-log-before": string; + /** + * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + "audit-log-order": "desc" | "asc"; + /** gist_id parameter */ + "gist-id": string; + /** comment_id parameter */ + "comment-id": number; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels: string; + /** One of `asc` (ascending) or `desc` (descending). */ + direction: "asc" | "desc"; + /** account_id parameter */ + "account-id": number; + /** plan_id parameter */ + "plan-id": number; + /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ + sort: "created" | "updated"; + owner: string; + repo: string; + /** If `true`, show notifications marked as read. */ + all: boolean; + /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating: boolean; + /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before: string; + /** thread_id parameter */ + "thread-id": number; + /** An organization ID. Only return organizations with an ID greater than this ID. */ + "since-org": number; + org: string; + "repository-id": number; + /** secret_name parameter */ + "secret-name": string; + username: string; + "hook-id": number; + /** invitation_id parameter */ + "invitation-id": number; + /** migration_id parameter */ + "migration-id": number; + /** repo_name parameter */ + "repo-name": string; + /** The selected visibility of the packages. Can be one of `public`, `private`, or `internal`. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + "package-visibility": "public" | "private" | "internal"; + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + "package-type": + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The name of the package. */ + "package-name": string; + /** Unique identifier of the package version. */ + "package-version-id": number; + /** team_slug parameter */ + "team-slug": string; + "discussion-number": number; + "comment-number": number; + "reaction-id": number; + "project-id": number; + /** card_id parameter */ + "card-id": number; + /** column_id parameter */ + "column-id": number; + /** artifact_id parameter */ + "artifact-id": number; + /** job_id parameter */ + "job-id": number; + /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor: string; + /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + "workflow-run-branch": string; + /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event: string; + /** Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + "workflow-run-status": + | "completed" + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "skipped" + | "stale" + | "success" + | "timed_out" + | "in_progress" + | "queued" + | "requested" + | "waiting"; + created: string; + /** If `true` pull requests are omitted from the response (empty array). */ + "exclude-pull-requests": boolean; + /** The id of the workflow run. */ + "run-id": number; + /** The attempt number of the workflow run. */ + "attempt-number": number; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + "workflow-id": number | string; + /** autolink_id parameter */ + "autolink-id": number; + /** The name of the branch. */ + branch: string; + /** check_run_id parameter */ + "check-run-id": number; + /** check_suite_id parameter */ + "check-suite-id": number; + /** Returns check runs with the specified `name`. */ + "check-name": string; + /** Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. */ + status: "queued" | "in_progress" | "completed"; + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + "tool-name": components["schemas"]["code-scanning-analysis-tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + "tool-guid": components["schemas"]["code-scanning-analysis-tool-guid"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + "git-ref": components["schemas"]["code-scanning-ref"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + "alert-number": components["schemas"]["alert-number"]; + /** commit_sha parameter */ + "commit-sha": string; + /** deployment_id parameter */ + "deployment-id": number; + /** The name of the environment */ + "environment-name": string; + /** A user ID. Only return users with an ID greater than this ID. */ + "since-user": number; + /** issue_number parameter */ + "issue-number": number; + /** key_id parameter */ + "key-id": number; + /** milestone_number parameter */ + "milestone-number": number; + "pull-number": number; + /** review_id parameter */ + "review-id": number; + /** asset_id parameter */ + "asset-id": number; + /** release_id parameter */ + "release-id": number; + /** Must be one of: `day`, `week`. */ + per: "" | "day" | "week"; + /** A repository ID. Only return repositories with an ID greater than this ID. */ + "since-repo": number; + /** Used for pagination: the index of the first result to return. */ + "start-index": number; + /** Used for pagination: the number of results to return. */ + count: number; + /** Identifier generated by the GitHub SCIM endpoint. */ + "scim-group-id": string; + /** scim_user_id parameter */ + "scim-user-id": string; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order: "desc" | "asc"; + "team-id": number; + /** gpg_key_id parameter */ + "gpg-key-id": number; + }; + headers: { + link?: string; + "content-type"?: string; + "x-common-marker-version"?: string; + "x-rate-limit-limit"?: number; + "x-rate-limit-remaining"?: number; + "x-rate-limit-reset"?: number; + location?: string; + }; +} + +export interface operations { + /** Get Hypermedia links to resources accessible in GitHub's REST API */ + "meta/root": { + responses: { + /** Response */ + 200: { + content: { + "application/json": { + current_user_url: string; + current_user_authorizations_html_url: string; + authorizations_url: string; + code_search_url: string; + commit_search_url: string; + emails_url: string; + emojis_url: string; + events_url: string; + feeds_url: string; + followers_url: string; + following_url: string; + gists_url: string; + hub_url: string; + issue_search_url: string; + issues_url: string; + keys_url: string; + label_search_url: string; + notifications_url: string; + organization_url: string; + organization_repositories_url: string; + organization_teams_url: string; + public_gists_url: string; + rate_limit_url: string; + repository_url: string; + repository_search_url: string; + current_user_repositories_url: string; + starred_url: string; + starred_gists_url: string; + topic_search_url?: string; + user_url: string; + user_organizations_url: string; + user_repositories_url: string; + user_search_url: string; + }; + }; + }; + }; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + }; + }; + /** Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ + "apps/create-from-manifest": { + parameters: { + path: { + code: string; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["integration"] & + ({ + client_id: string; + client_secret: string; + webhook_secret: string | null; + pem: string; + } & { [key: string]: unknown }); + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-config-for-app": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/update-webhook-config-for-app": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + }; + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/list-webhook-deliveries": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/redeliver-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + "apps/list-installations": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + outdated?: string; + }; + }; + responses: { + /** The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["installation"][]; + }; + }; + }; + }; + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-installation": { + parameters: { + path: { + /** installation_id parameter */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 404: components["responses"]["not_found"]; + 415: components["responses"]["preview_header_missing"]; + }; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/delete-installation": { + parameters: { + path: { + /** installation_id parameter */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/create-installation-access-token": { + parameters: { + path: { + /** installation_id parameter */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["installation-token"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 415: components["responses"]["preview_header_missing"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** List of repository names that the token should have access to */ + repositories?: string[]; + /** List of repository IDs that the token should have access to */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + }; + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/suspend-installation": { + parameters: { + path: { + /** installation_id parameter */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/unsuspend-installation": { + parameters: { + path: { + /** installation_id parameter */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + */ + "oauth-authorizations/list-grants": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The client ID of your GitHub app. */ + client_id?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["application-grant"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/get-grant": { + parameters: { + path: { + /** grant_id parameter */ + grant_id: components["parameters"]["grant-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["application-grant"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + "oauth-authorizations/delete-grant": { + parameters: { + path: { + /** grant_id parameter */ + grant_id: components["parameters"]["grant-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + "apps/delete-authorization": { + parameters: { + path: { + /** The client ID of your GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + }; + /** OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ + "apps/check-token": { + parameters: { + path: { + /** The client ID of your GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The access_token of the OAuth application. */ + access_token: string; + }; + }; + }; + }; + /** OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. */ + "apps/delete-token": { + parameters: { + path: { + /** The client ID of your GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + }; + /** OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + "apps/reset-token": { + parameters: { + path: { + /** The client ID of your GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The access_token of the OAuth application. */ + access_token: string; + }; + }; + }; + }; + /** Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + "apps/scope-token": { + parameters: { + path: { + /** The client ID of your GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + /** The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. */ + target?: string; + /** The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. */ + target_id?: number; + /** The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ + repositories?: string[]; + /** The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/get-by-slug": { + parameters: { + path: { + app_slug: components["parameters"]["app-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 415: components["responses"]["preview_header_missing"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/list-authorizations": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The client ID of your GitHub app. */ + client_id?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["authorization"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + * + * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + */ + "oauth-authorizations/create-authorization": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** A list of scopes that this authorization is in. */ + scopes?: string[] | null; + /** A note to remind you what the OAuth token is for. */ + note?: string; + /** A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** The OAuth app client key for which to create the token. */ + client_id?: string; + /** The OAuth app client secret for which to create the token. */ + client_secret?: string; + /** A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + "oauth-authorizations/get-or-create-authorization-for-app": { + parameters: { + path: { + /** The client ID of your GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** if returning an existing token */ + 200: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The OAuth app client secret for which to create the token. */ + client_secret: string; + /** A list of scopes that this authorization is in. */ + scopes?: string[] | null; + /** A note to remind you what the OAuth token is for. */ + note?: string; + /** A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + */ + "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint": { + parameters: { + path: { + /** The client ID of your GitHub app. */ + client_id: components["parameters"]["client-id"]; + fingerprint: string; + }; + }; + responses: { + /** if returning an existing token */ + 200: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + /** Response if returning a new token */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The OAuth app client secret for which to create the token. */ + client_secret: string; + /** A list of scopes that this authorization is in. */ + scopes?: string[] | null; + /** A note to remind you what the OAuth token is for. */ + note?: string; + /** A URL to remind you what app the OAuth token is for. */ + note_url?: string; + }; + }; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/get-authorization": { + parameters: { + path: { + /** authorization_id parameter */ + authorization_id: components["parameters"]["authorization-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/delete-authorization": { + parameters: { + path: { + /** authorization_id parameter */ + authorization_id: components["parameters"]["authorization-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + */ + "oauth-authorizations/update-authorization": { + parameters: { + path: { + /** authorization_id parameter */ + authorization_id: components["parameters"]["authorization-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** A list of scopes that this authorization is in. */ + scopes?: string[] | null; + /** A list of scopes to add to this authorization. */ + add_scopes?: string[]; + /** A list of scopes to remove from this authorization. */ + remove_scopes?: string[]; + /** A note to remind you what the OAuth token is for. */ + note?: string; + /** A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + }; + "codes-of-conduct/get-all-codes-of-conduct": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "codes-of-conduct/get-conduct-code": { + parameters: { + path: { + key: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all the emojis available to use on GitHub. */ + "emojis/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": { [key: string]: string }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-github-actions-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-enterprise-permissions"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-github-actions-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + }; + /** + * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + organizations: components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** List of organization IDs to enable for GitHub Actions. */ + selected_organization_ids: number[]; + }; + }; + }; + }; + /** + * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/enable-selected-organization-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of an organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/disable-selected-organization-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of an organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-allowed-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-allowed-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * Lists all self-hosted runner groups for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runner-groups-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-enterprise"][]; + }; + }; + }; + }; + }; + /** + * Creates a new self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/create-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** Name of the runner group. */ + name: string; + /** Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: `all` or `selected` */ + visibility?: "selected" | "all"; + /** List of organization IDs that can access the runner group. */ + selected_organization_ids?: number[]; + /** List of runner IDs to add to the runner group. */ + runners?: number[]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + }; + /** + * Deletes a self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/delete-self-hosted-runner-group-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/update-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** Name of the runner group. */ + name?: string; + /** Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: `all` or `selected` */ + visibility?: "selected" | "all"; + }; + }; + }; + }; + /** + * Lists the organizations with access to a self-hosted runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + organizations: components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** List of organization IDs that can access the runner group. */ + selected_organization_ids: number[]; + }; + }; + }; + }; + /** + * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of an organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of an organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists the self-hosted runners that are in a specific enterprise group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of self-hosted runners that are part of an enterprise runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** List of runner IDs to add to the runner group. */ + runners: number[]; + }; + }; + }; + }; + /** + * Adds a self-hosted runner to a runner group configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` + * scope to use this endpoint. + */ + "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all self-hosted runners configured for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runners-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count?: number; + runners?: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-runner-applications-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN + * ``` + */ + "enterprise-admin/create-registration-token-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "enterprise-admin/create-remove-token-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/delete-self-hosted-runner-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ + "enterprise-admin/get-audit-log": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + phrase?: components["parameters"]["audit-log-phrase"]; + /** + * The event types to include: + * + * - `web` - returns web (non-Git) events + * - `git` - returns Git events + * - `all` - returns both web and Git events + * + * The default is `web`. + */ + include?: components["parameters"]["audit-log-include"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["audit-log-after"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["audit-log-before"]; + /** + * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + order?: components["parameters"]["audit-log-order"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["audit-log-event"][]; + }; + }; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-github-actions-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-github-packages-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-shared-storage-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ + "activity/list-public-events": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + "activity/get-feeds": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["feed"]; + }; + }; + }; + }; + /** Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ + "gists/list": { + parameters: { + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + "gists/create": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Description of the gist */ + description?: string; + /** Names and content for the files that make up the gist */ + files: { + [key: string]: { + /** Content of the file */ + content: string; + }; + }; + public?: boolean | ("true" | "false"); + }; + }; + }; + }; + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + "gists/list-public": { + parameters: { + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** List the authenticated user's starred gists: */ + "gists/list-starred": { + parameters: { + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/get": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. */ + "gists/update": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Description of the gist */ + description?: string; + /** Names of files to be updated */ + files?: { [key: string]: Partial<{ [key: string]: unknown }> }; + } | null; + }; + }; + }; + "gists/list-comments": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gist-comment"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/create-comment": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** The comment text. */ + body: string; + }; + }; + }; + }; + "gists/get-comment": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete-comment": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update-comment": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** The comment text. */ + body: string; + }; + }; + }; + }; + "gists/list-commits": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["gist-commit"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-forks": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gist-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note**: This was previously `/gists/:gist_id/fork`. */ + "gists/fork": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["base-gist"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/check-is-starred": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response if gist is starred */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** Not Found if gist is not starred */ + 404: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + }; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + "gists/star": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/unstar": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-revision": { + parameters: { + path: { + /** gist_id parameter */ + gist_id: components["parameters"]["gist-id"]; + sha: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). */ + "gitignore/get-all-templates": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + "gitignore/get-template": { + parameters: { + path: { + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/list-repos-accessible-to-installation": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + repository_selection?: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/revoke-installation-access-token": { + parameters: {}; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list": { + parameters: { + query: { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all` or `repos`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** One of `asc` (ascending) or `desc` (descending). */ + direction?: components["parameters"]["direction"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + collab?: boolean; + orgs?: boolean; + owned?: boolean; + pulls?: boolean; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "licenses/get-all-commonly-used": { + parameters: { + query: { + featured?: boolean; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "licenses/get": { + parameters: { + path: { + license: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "markdown/render": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: { + "Content-Length"?: string; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + requestBody: { + content: { + "application/json": { + /** The Markdown text to render in HTML. */ + text: string; + /** The rendering mode. */ + mode?: "markdown" | "gfm"; + /** The repository context to use when creating references in `gfm` mode. */ + context?: string; + }; + }; + }; + }; + /** You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ + "markdown/render-raw": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + requestBody: { + content: { + "text/plain": string; + "text/x-markdown": string; + }; + }; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account": { + parameters: { + path: { + /** account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** Not Found when the account has not purchased the listing */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan": { + parameters: { + path: { + /** plan_id parameter */ + plan_id: components["parameters"]["plan-id"]; + }; + query: { + /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ + sort?: components["parameters"]["sort"]; + /** To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + path: { + /** account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** Not Found when the account has not purchased the listing */ + 404: unknown; + }; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans-stubbed": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan-stubbed": { + parameters: { + path: { + /** plan_id parameter */ + plan_id: components["parameters"]["plan-id"]; + }; + query: { + /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ + sort?: components["parameters"]["sort"]; + /** To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/)." + * + * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. + */ + "meta/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "activity/list-public-events-for-repo-network": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** List all notifications for the current user, sorted by most recently updated. */ + "activity/list-notifications-for-authenticated-user": { + parameters: { + query: { + /** If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Marks all notifications as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + "activity/mark-notifications-as-read": { + parameters: {}; + responses: { + /** Response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** Reset Content */ + 205: unknown; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** Describes the last point that notifications were checked. */ + last_read_at?: string; + /** Whether the notification has been read. */ + read?: boolean; + }; + }; + }; + }; + "activity/get-thread": { + parameters: { + path: { + /** thread_id parameter */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/mark-thread-as-read": { + parameters: { + path: { + /** thread_id parameter */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Reset Content */ + 205: unknown; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + path: { + /** thread_id parameter */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + "activity/set-thread-subscription": { + parameters: { + path: { + /** thread_id parameter */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** Whether to block all notifications from a thread. */ + ignored?: boolean; + }; + }; + }; + }; + /** Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ + "activity/delete-thread-subscription": { + parameters: { + path: { + /** thread_id parameter */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the octocat as ASCII art */ + "meta/get-octocat": { + parameters: { + query: { + /** The words to show in Octocat's speech bubble */ + s?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/octocat-stream": string; + }; + }; + }; + }; + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + "orgs/list": { + parameters: { + query: { + /** An organization ID. Only return organizations with an ID greater than this ID. */ + since?: components["parameters"]["since-org"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + "orgs/get": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + "orgs/update": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** Billing email address. This address is not publicized. */ + billing_email?: string; + /** The company name. */ + company?: string; + /** The publicly visible email address. */ + email?: string; + /** The Twitter username of the company. */ + twitter_username?: string; + /** The location. */ + location?: string; + /** The shorthand name of the company. */ + name?: string; + /** The description of the company. */ + description?: string; + /** Toggles whether an organization can use organization projects. */ + has_organization_projects?: boolean; + /** Toggles whether repositories that belong to the organization can use repository projects. */ + has_repository_projects?: boolean; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Specifies which types of repositories non-admin organization members can create. Can be one of: + * \* `all` - all organization members can create public and private repositories. + * \* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * Toggles whether organization members can create GitHub Pages sites. Can be one of: + * \* `true` - all organization members can create GitHub Pages sites. + * \* `false` - no organization members can create GitHub Pages sites. Existing published sites will not be impacted. + */ + members_can_create_pages?: boolean; + /** + * Toggles whether organization members can create public GitHub Pages sites. Can be one of: + * \* `true` - all organization members can create public GitHub Pages sites. + * \* `false` - no organization members can create public GitHub Pages sites. Existing published sites will not be impacted. + */ + members_can_create_public_pages?: boolean; + /** + * Toggles whether organization members can create private GitHub Pages sites. Can be one of: + * \* `true` - all organization members can create private GitHub Pages sites. + * \* `false` - no organization members can create private GitHub Pages sites. Existing published sites will not be impacted. + */ + members_can_create_private_pages?: boolean; + blog?: string; + }; + }; + }; + }; + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-github-actions-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-organization-permissions"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-github-actions-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + }; + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-selected-repositories-enabled-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/enable-selected-repository-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/disable-selected-repository-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-allowed-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-allowed-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runner-groups-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-org"][]; + }; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Creates a new self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/create-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** Name of the runner group. */ + name: string; + /** Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: `all`, `selected`, or `private`. */ + visibility?: "selected" | "all" | "private"; + /** List of repository IDs that can access the runner group. */ + selected_repository_ids?: number[]; + /** List of runner IDs to add to the runner group. */ + runners?: number[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Gets a specific self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Deletes a self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-group-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/update-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** Name of the runner group. */ + name: string; + /** Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: `all`, `selected`, or `private`. */ + visibility?: "selected" | "all" | "private"; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** List of repository IDs that can access the runner group. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + "actions/add-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists self-hosted runners that are in a specific organization group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-in-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of self-hosted runners that are part of an organization runner group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-self-hosted-runners-in-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** List of runner IDs to add to the runner group. */ + runners: number[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a self-hosted runner to a runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + "actions/add-self-hosted-runner-to-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-self-hosted-runner-from-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-runner-applications-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + "actions/create-registration-token-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "actions/create-remove-token-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/list-org-secrets": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-actions-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/get-org-public-key": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/get-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; + }; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * Configures the access that repositories have to the organization secret. Can be one of: + * \- `all` - All repositories in an organization can access the secret. + * \- `private` - Private repositories in an organization can access the secret. + * \- `selected` - Only specific repositories can access the secret. + */ + visibility: "all" | "private" | "selected"; + /** An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: string[]; + }; + }; + }; + }; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/delete-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/list-selected-repos-for-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/set-selected-repos-for-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/add-selected-repo-to-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was added to the selected list */ + 204: never; + /** Conflict when visibility type is not set to selected */ + 409: unknown; + }; + }; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/remove-selected-repo-from-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** Response when repository was removed from the selected list */ + 204: never; + /** Conflict when visibility type not set to selected */ + 409: unknown; + }; + }; + /** + * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." + * + * To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + */ + "orgs/get-audit-log": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + phrase?: components["parameters"]["audit-log-phrase"]; + /** + * The event types to include: + * + * - `web` - returns web (non-Git) events + * - `git` - returns Git events + * - `all` - returns both web and Git events + * + * The default is `web`. + */ + include?: components["parameters"]["audit-log-include"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["audit-log-after"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["audit-log-before"]; + /** + * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + order?: components["parameters"]["audit-log-order"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["audit-log-event"][]; + }; + }; + }; + }; + /** List the users blocked by an organization. */ + "orgs/list-blocked-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 415: components["responses"]["preview_header_missing"]; + }; + }; + "orgs/check-blocked-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** If the user is blocked: */ + 204: never; + /** If the user is not blocked: */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "orgs/block-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/unblock-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://help.github.com/en/articles/about-authentication-with-saml-single-sign-on). + */ + "orgs/list-saml-sso-authorizations": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["credential-authorization"][]; + }; + }; + }; + }; + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. + */ + "orgs/remove-saml-sso-authorization": { + parameters: { + path: { + org: components["parameters"]["org"]; + credential_id: number; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-public-org-events": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ + "orgs/list-failed-invitations": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-webhooks": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["org-hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Here's how you can create a hook that posts payloads in JSON format: */ + "orgs/create-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Must be passed as "web". */ + name: string; + /** Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params). */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + username?: string; + password?: string; + }; + /** Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. */ + events?: string[]; + /** Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ + active?: boolean; + }; + }; + }; + }; + /** Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." */ + "orgs/get-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." */ + "orgs/update-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params). */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. */ + events?: string[]; + /** Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ + active?: boolean; + name?: string; + }; + }; + }; + }; + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + "orgs/get-webhook-config-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + "orgs/update-webhook-config-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + }; + /** Returns a list of webhook deliveries for a webhook configured in an organization. */ + "orgs/list-webhook-deliveries": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns a delivery for a webhook configured in an organization. */ + "orgs/get-webhook-delivery": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Redeliver a delivery for a webhook configured in an organization. */ + "orgs/redeliver-webhook-delivery": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + "orgs/ping-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-org-installation": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + /** Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ + "orgs/list-app-installations": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + }; + }; + /** Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. */ + "interactions/get-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; + }; + }; + }; + }; + /** Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ + "interactions/set-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + }; + /** Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ + "interactions/remove-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ + "orgs/list-pending-invitations": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "orgs/create-invitation": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["organization-invitation"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ + invitee_id?: number; + /** **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ + email?: string; + /** + * Specify role for new member. Can be one of: + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** Specify IDs for the teams you want to invite new members to. */ + team_ids?: number[]; + }; + }; + }; + }; + /** + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + "orgs/cancel-invitation": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** invitation_id parameter */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ + "orgs/list-invitation-teams": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** invitation_id parameter */ + invitation_id: components["parameters"]["invitation-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all` or `repos`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** One of `asc` (ascending) or `desc` (descending). */ + direction?: components["parameters"]["direction"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ + "orgs/list-members": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** + * Filter members returned in the list. Can be one of: + * \* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. + * \* `all` - All members the authenticated user can see. + */ + filter?: "2fa_disabled" | "all"; + /** + * Filter members returned by their role. Can be one of: + * \* `all` - All members of the organization, regardless of role. + * \* `admin` - Organization owners. + * \* `member` - Non-owner organization members. + */ + role?: "all" | "admin" | "member"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + /** Response if requester is not an organization member */ + 302: never; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Check if a user is, publicly or privately, a member of the organization. */ + "orgs/check-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response if requester is an organization member and user is a member */ + 204: never; + /** Response if requester is not an organization member */ + 302: never; + /** Not Found if requester is an organization member and user is not a member */ + 404: unknown; + }; + }; + /** Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ + "orgs/remove-member": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + /** In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ + "orgs/get-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + "orgs/set-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + */ + role?: "admin" | "member"; + }; + }; + }; + }; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + "orgs/remove-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the most recent migrations. */ + "migrations/list-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; + }; + /** Initiates the generation of a migration archive. */ + "migrations/start-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** A list of arrays indicating which repositories should be migrated. */ + repositories: string[]; + /** Indicates whether repositories should be locked (to prevent manipulation) while migrating data. */ + lock_repositories?: boolean; + /** Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). */ + exclude_attachments?: boolean; + /** Indicates whether releases should be excluded from the migration (to reduce migration archive file size). */ + exclude_releases?: boolean; + /** Indicates whether projects owned by the organization or users should be excluded. from the migration. */ + exclude_owner_projects?: boolean; + exclude?: "repositories"[]; + }; + }; + }; + }; + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + "migrations/get-status-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** migration_id parameter */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + /** Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + }; + responses: { + /** + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Fetches the URL to a migration archive. */ + "migrations/download-archive-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** migration_id parameter */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ + "migrations/delete-archive-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** migration_id parameter */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */ + "migrations/unlock-repo-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** migration_id parameter */ + migration_id: components["parameters"]["migration-id"]; + /** repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** List all the repositories for this organization migration. */ + "migrations/list-repos-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** migration_id parameter */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** List all users who are outside collaborators of an organization. */ + "orgs/list-outside-collaborators": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** + * Filter the list of outside collaborators. Can be one of: + * \* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. + * \* `all`: All outside collaborators. + */ + filter?: "2fa_disabled" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". */ + "orgs/convert-member-to-outside-collaborator": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** User is getting converted asynchronously */ + 202: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** User was converted */ + 204: never; + /** Forbidden if user is the last owner of the organization or not a member of the organization */ + 403: unknown; + 404: components["responses"]["not_found"]; + }; + }; + /** Removing a user from this list will remove them from all the organization's repositories. */ + "orgs/remove-outside-collaborator": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Unprocessable Entity if user is a member of the organization */ + 422: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + /** + * Lists all packages in an organization readable by the user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-organization": { + parameters: { + query: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Can be one of `public`, `private`, or `internal`. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-organization": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-for-org": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-for-org": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-org": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-organization": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-version-for-org": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-version-for-org": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/list-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/create-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the project. */ + name: string; + /** The description of the project. */ + body?: string; + }; + }; + }; + }; + /** Members of an organization can choose to have their membership publicized or not. */ + "orgs/list-public-members": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/check-public-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response if user is a public member */ + 204: never; + /** Not Found if user is not a public member */ + 404: unknown; + }; + }; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "orgs/set-public-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + "orgs/remove-public-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists repositories for the specified organization. */ + "repos/list-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Note: For GitHub AE, can be one of `all`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. However, the `internal` value is not yet supported when a GitHub App calls this API with an installation access token. */ + type?: + | "all" + | "public" + | "private" + | "forks" + | "sources" + | "member" + | "internal"; + /** Can be one of `created`, `updated`, `pushed`, `full_name`. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` */ + direction?: "asc" | "desc"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + "repos/create-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the repository. */ + name: string; + /** A short description of the repository. */ + description?: string; + /** A URL with more information about the repository. */ + homepage?: string; + /** Whether the repository is private. */ + private?: boolean; + /** Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. Note: For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise. For more information, see "[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** Either `true` to enable issues for this repository or `false` to disable them. */ + has_issues?: boolean; + /** Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. */ + has_projects?: boolean; + /** Either `true` to enable the wiki for this repository or `false` to disable it. */ + has_wiki?: boolean; + /** Either `true` to make this repo available as a template repository or `false` to prevent it. */ + is_template?: boolean; + /** The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** Pass `true` to create an initial commit with empty README. */ + auto_init?: boolean; + /** Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ + gitignore_template?: string; + /** Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ + license_template?: string; + /** Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. */ + allow_squash_merge?: boolean; + /** Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. */ + allow_merge_commit?: boolean; + /** Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. */ + allow_rebase_merge?: boolean; + /** Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. */ + allow_auto_merge?: boolean; + /** Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. */ + delete_branch_on_merge?: boolean; + }; + }; + }; + }; + /** + * Lists all secret scanning alerts for all eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-alerts-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: "open" | "resolved"; + /** A comma-separated list of secret types to return. By default all secret types are returned. */ + secret_type?: string; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: string; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + "billing/get-github-actions-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + "billing/get-github-packages-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + "billing/get-shared-storage-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + */ + "teams/list-idp-groups-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page token */ + page?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + }; + /** Lists all teams in an organization that are visible to the authenticated user. */ + "teams/list": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + "teams/create": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the team. */ + name: string; + /** The description of the team. */ + description?: string; + /** List GitHub IDs for organization members who will become team maintainers. */ + maintainers?: string[]; + /** The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ + repo_names?: string[]; + /** + * The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** The ID of a team to set as the parent team. */ + parent_team_id?: number; + }; + }; + }; + }; + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + "teams/get-by-name": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + "teams/delete-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + "teams/update-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The name of the team. */ + name?: string; + /** The description of the team. */ + description?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + }; + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + "teams/list-discussions-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** One of `asc` (ascending) or `desc` (descending). */ + direction?: components["parameters"]["direction"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Pinned discussions only filter */ + pinned?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ + "teams/create-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The discussion post's title. */ + title: string; + /** The discussion post's body text. */ + body: string; + /** Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. */ + private?: boolean; + }; + }; + }; + }; + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/get-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/delete-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/update-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The discussion post's title. */ + title?: string; + /** The discussion post's body text. */ + body?: string; + }; + }; + }; + }; + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + "teams/list-discussion-comments-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** One of `asc` (ascending) or `desc` (descending). */ + direction?: components["parameters"]["direction"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + "teams/create-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/get-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/delete-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/update-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + "reactions/list-for-team-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + "reactions/create-for-team-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/delete-for-team-discussion-comment": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + "reactions/list-for-team-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + "reactions/create-for-team-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/delete-for-team-discussion": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + "teams/list-pending-invitations-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/list-members-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + "teams/get-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** if user has no team membership */ + 404: unknown; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/add-or-update-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** Forbidden if team synchronization is set up */ + 403: unknown; + /** Unprocessable Entity if you attempt to add an organization to a team */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + }; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/remove-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Forbidden if team synchronization is set up */ + 403: unknown; + }; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + "teams/list-projects-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + }; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/check-permissions-for-project-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** Not Found if project is not managed by this team */ + 404: unknown; + }; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/add-or-update-project-permissions-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Forbidden if the project is not owned by the organization */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/remove-project-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + "teams/list-repos-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/check-permissions-for-repo-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Alternative response with repository permissions */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ + 204: never; + /** Not Found if team does not have permission for the repository */ + 404: unknown; + }; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + "teams/add-or-update-repo-permissions-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * \* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. + * \* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; + }; + }; + }; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/remove-repo-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + "teams/list-idp-groups-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + "teams/create-or-update-idp-group-connections-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. */ + groups?: { + /** ID of the IdP group. */ + group_id: string; + /** Name of the IdP group. */ + group_name: string; + /** Description of the IdP group. */ + group_description: string; + }[]; + }; + }; + }; + }; + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + "teams/list-child-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** team_slug parameter */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** if child teams exist */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + }; + "projects/get-card": { + parameters: { + path: { + /** card_id parameter */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/delete-card": { + parameters: { + path: { + /** card_id parameter */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "projects/update-card": { + parameters: { + path: { + /** card_id parameter */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** The project card's note */ + note?: string | null; + /** Whether or not the card is archived */ + archived?: boolean; + }; + }; + }; + }; + "projects/move-card": { + parameters: { + path: { + /** card_id parameter */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + resource?: string; + field?: string; + }[]; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + /** Response */ + 503: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. */ + position: string; + /** The unique identifier of the column the card should be moved to */ + column_id?: number; + }; + }; + }; + }; + "projects/get-column": { + parameters: { + path: { + /** column_id parameter */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/delete-column": { + parameters: { + path: { + /** column_id parameter */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/update-column": { + parameters: { + path: { + /** column_id parameter */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** Name of the project column */ + name: string; + }; + }; + }; + }; + "projects/list-cards": { + parameters: { + path: { + /** column_id parameter */ + column_id: components["parameters"]["column-id"]; + }; + query: { + /** Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. */ + archived_state?: "all" | "archived" | "not_archived"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project-card"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-card": { + parameters: { + path: { + /** column_id parameter */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + }; + /** Response */ + 503: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": + | { + /** The project card's note */ + note: string | null; + } + | { + /** The unique identifier of the content associated with the card */ + content_id: number; + /** The piece of content associated with the card */ + content_type: string; + }; + }; + }; + }; + "projects/move-column": { + parameters: { + path: { + /** column_id parameter */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. */ + position: string; + }; + }; + }; + }; + /** Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/get": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ + "projects/delete": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Delete Success */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/update": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + /** Not Found if the authenticated user does not have access to the project */ + 404: unknown; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** Name of the project */ + name?: string; + /** Body of the project */ + body?: string | null; + /** State of the project; either 'open' or 'closed' */ + state?: string; + /** The baseline permission that all organization members have on this project */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** Whether or not this project can be seen by everyone. */ + private?: boolean; + }; + }; + }; + }; + /** Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ + "projects/list-collaborators": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + query: { + /** + * Filters the collaborators by their affiliation. Can be one of: + * \* `outside`: Outside collaborators of a project that are not a member of the project's organization. + * \* `direct`: Collaborators with permissions to a project, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ + "projects/add-collaborator": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The permission to grant the collaborator. */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + }; + /** Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ + "projects/remove-collaborator": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ + "projects/get-permission-for-user": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/list-columns": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project-column"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-column": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** Name of the project column */ + name: string; + }; + }; + }; + }; + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + "rate-limit/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["rate-limit-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/). + * + * OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). + */ + "reactions/delete-legacy": { + parameters: { + path: { + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 410: components["responses"]["gone"]; + }; + }; + /** The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. */ + "repos/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + "repos/delete": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 307: components["responses"]["temporary_redirect"]; + /** If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. */ + "repos/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 307: components["responses"]["temporary_redirect"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the repository. */ + name?: string; + /** A short description of the repository. */ + description?: string; + /** A URL with more information about the repository. */ + homepage?: string; + /** + * Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + */ + private?: boolean; + /** Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`." */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** Specify which security and analysis features to enable or disable. For example, to enable GitHub Advanced Security, use this data in the body of the PATCH request: `{"security_and_analysis": {"advanced_security": {"status": "enabled"}}}`. If you have admin permissions for a private repository covered by an Advanced Security license, you can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. */ + security_and_analysis?: { + /** Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ + advanced_security?: { + /** Can be `enabled` or `disabled`. */ + status?: string; + }; + /** Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ + secret_scanning?: { + /** Can be `enabled` or `disabled`. */ + status?: string; + }; + } | null; + /** Either `true` to enable issues for this repository or `false` to disable them. */ + has_issues?: boolean; + /** Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. */ + has_projects?: boolean; + /** Either `true` to enable the wiki for this repository or `false` to disable it. */ + has_wiki?: boolean; + /** Either `true` to make this repo available as a template repository or `false` to prevent it. */ + is_template?: boolean; + /** Updates the default branch for this repository. */ + default_branch?: string; + /** Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. */ + allow_squash_merge?: boolean; + /** Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. */ + allow_merge_commit?: boolean; + /** Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. */ + allow_rebase_merge?: boolean; + /** Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. */ + allow_auto_merge?: boolean; + /** Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. */ + delete_branch_on_merge?: boolean; + /** `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. */ + archived?: boolean; + /** Either `true` to allow private forks, or `false` to prevent private forks. */ + allow_forking?: boolean; + }; + }; + }; + }; + /** Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-artifacts-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + /** Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** artifact_id parameter */ + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["artifact"]; + }; + }; + }; + }; + /** Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/delete-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** artifact_id parameter */ + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/download-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** artifact_id parameter */ + artifact_id: components["parameters"]["artifact-id"]; + archive_format: string; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-job-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** job_id parameter */ + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["job"]; + }; + }; + }; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + "actions/download-job-logs-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** job_id parameter */ + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/get-github-actions-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-repository-permissions"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository. + * + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/set-github-actions-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + }; + /** + * Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/get-allowed-actions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/set-allowed-actions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + "actions/list-self-hosted-runners-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + "actions/list-runner-applications-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` + */ + "actions/create-registration-token-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "actions/create-remove-token-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/get-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/list-workflow-runs-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + status?: components["parameters"]["workflow-run-status"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + created?: components["parameters"]["created"]; + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + /** Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** + * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + "actions/delete-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-reviews-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["environment-approvals"][]; + }; + }; + }; + }; + /** + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/approve-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-workflow-run-artifacts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + /** + * Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ + "actions/get-workflow-run-attempt": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + query: { + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/download-workflow-run-attempt-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/cancel-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + }; + /** Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + "actions/list-jobs-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** + * Filters jobs by their `completed_at` timestamp. Can be one of: + * \* `latest`: Returns jobs from the most recent execution of the workflow run. + * \* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run. + */ + filter?: "latest" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + }; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + "actions/download-workflow-run-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/delete-workflow-run-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-pending-deployments-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pending-deployment"][]; + }; + }; + }; + }; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Anyone with read access to the repository contents and deployments can use this endpoint. + */ + "actions/review-pending-deployments-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The list of environment ids to approve or reject */ + environment_ids: number[]; + /** Whether to approve or reject deployment to the specified environments. Must be one of: `approved` or `rejected` */ + state: "approved" | "rejected"; + /** A comment to accompany the deployment review */ + comment: string; + }; + }; + }; + }; + /** Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/re-run-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + }; + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-workflow-run-usage": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The id of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run-usage"]; + }; + }; + }; + }; + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/list-repo-secrets": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-repo-public-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + }; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/delete-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-repo-workflows": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + workflows: components["schemas"]["workflow"][]; + }; + }; + }; + }; + }; + /** Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow"]; + }; + }; + }; + }; + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/disable-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + "actions/create-workflow-dispatch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** The git reference for the workflow. The reference can be a branch or tag name. */ + ref: string; + /** Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ + inputs?: { [key: string]: string }; + }; + }; + }; + }; + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/enable-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + "actions/list-workflow-runs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + query: { + /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + status?: components["parameters"]["workflow-run-status"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + created?: components["parameters"]["created"]; + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-workflow-usage": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-usage"]; + }; + }; + }; + }; + /** Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ + "issues/list-assignees": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + "issues/check-user-can-be-assigned": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + assignee: string; + }; + }; + responses: { + /** If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + 204: never; + /** Otherwise a `404` status code is returned. */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/list-autolinks": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["autolink"][]; + }; + }; + }; + }; + /** Users with admin access to the repository can create an autolink. */ + "repos/create-autolink": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The prefix appended by a number will generate a link any time it is found in an issue, pull request, or commit. */ + key_prefix: string; + /** The URL must contain for the reference number. */ + url_template: string; + }; + }; + }; + }; + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/get-autolink": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** autolink_id parameter */ + autolink_id: components["parameters"]["autolink-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/delete-autolink": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** autolink_id parameter */ + autolink_id: components["parameters"]["autolink-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". */ + "repos/enable-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". */ + "repos/disable-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "repos/list-branches": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ + protected?: boolean; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["short-branch"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 415: components["responses"]["preview_header_missing"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-protection"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + "repos/update-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** Require status checks to pass before merging. Set to `null` to disable. */ + required_status_checks: { + /** Require branches to be up to date before merging. */ + strict: boolean; + /** The list of status checks to require in order to merge into this branch */ + contexts: string[]; + } | null; + /** Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ + enforce_admins: boolean | null; + /** Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ + required_pull_request_reviews: { + /** Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** The list of user `login`s with dismissal access */ + users?: string[]; + /** The list of team `slug`s with dismissal access */ + teams?: string[]; + }; + /** Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) review them. */ + require_code_owner_reviews?: boolean; + /** Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6. */ + required_approving_review_count?: number; + } | null; + /** Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ + restrictions: { + /** The list of user `login`s with push access */ + users: string[]; + /** The list of team `slug`s with push access */ + teams: string[]; + /** The list of app `slug`s with push access */ + apps?: string[]; + } | null; + /** Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ + required_linear_history?: boolean; + /** Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ + allow_force_pushes?: boolean | null; + /** Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ + allow_deletions?: boolean; + /** Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ + required_conversation_resolution?: boolean; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/delete-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/set-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/delete-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/delete-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + "repos/update-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** The list of user `login`s with dismissal access */ + users?: string[]; + /** The list of team `slug`s with dismissal access */ + teams?: string[]; + }; + /** Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. */ + require_code_owner_reviews?: boolean; + /** Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. */ + required_approving_review_count?: number; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + "repos/get-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/create-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/delete-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-status-checks-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/remove-status-check-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/update-status-check-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Require branches to be up to date before merging. */ + strict?: boolean; + /** The list of status checks to require in order to merge into this branch */ + contexts?: string[]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-all-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/set-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** contexts parameter */ + contexts: string[]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/add-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** contexts parameter */ + contexts: string[]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/remove-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** contexts parameter */ + contexts: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + "repos/get-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-restriction-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + "repos/delete-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + "repos/get-apps-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** apps parameter */ + apps: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** apps parameter */ + apps: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** apps parameter */ + apps: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + "repos/get-teams-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** teams parameter */ + teams: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** teams parameter */ + teams: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** teams parameter */ + teams: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + "repos/get-users-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** users parameter */ + users: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** users parameter */ + users: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** users parameter */ + users: string[]; + }; + }; + }; + }; + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + "repos/rename-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The new name of the branch. */ + new_name: string; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + "checks/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + requestBody: { + content: { + "application/json": ( + | ({ + status: "completed"; + } & { + conclusion: unknown; + } & { [key: string]: unknown }) + | ({ + status?: "queued" | "in_progress"; + } & { [key: string]: unknown }) + ) & { + /** The name of the check. For example, "code-coverage". */ + name: string; + /** The SHA of the commit. */ + head_sha: string; + /** The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ + details_url?: string; + /** A reference for the run on the integrator's system. */ + external_id?: string; + /** The current status. Can be one of `queued`, `in_progress`, or `completed`. */ + status?: "queued" | "in_progress" | "completed"; + /** The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + started_at?: string; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `action_required`, `cancelled`, `failure`, `neutral`, `success`, `skipped`, `stale`, or `timed_out`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + completed_at?: string; + /** Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object) description. */ + output?: { + /** The title of the check run. */ + title: string; + /** The summary of the check run. This parameter supports Markdown. */ + summary: string; + /** The details of the check run. This parameter supports Markdown. */ + text?: string; + /** Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see "[About status checks](https://help.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object) description for details about how to use this parameter. */ + annotations?: { + /** The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** The start line of the annotation. */ + start_line: number; + /** The end line of the annotation. */ + end_line: number; + /** The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + start_column?: number; + /** The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** The level of the annotation. Can be one of `notice`, `warning`, or `failure`. */ + annotation_level: "notice" | "warning" | "failure"; + /** A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#images-object) description for details. */ + images?: { + /** The alternative text for the image. */ + alt: string; + /** The full URL of the image. */ + image_url: string; + /** A short image description. */ + caption?: string; + }[]; + }; + /** Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: { + /** The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** check_run_id parameter */ + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + "checks/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** check_run_id parameter */ + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + requestBody: { + content: { + "application/json": (Partial< + { + status?: "completed"; + } & { + conclusion: unknown; + } & { [key: string]: unknown } + > & + Partial< + { + status?: "queued" | "in_progress"; + } & { [key: string]: unknown } + >) & { + /** The name of the check. For example, "code-coverage". */ + name?: string; + /** The URL of the integrator's site that has the full details of the check. */ + details_url?: string; + /** A reference for the run on the integrator's system. */ + external_id?: string; + /** This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + started_at?: string; + /** The current status. Can be one of `queued`, `in_progress`, or `completed`. */ + status?: "queued" | "in_progress" | "completed"; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `action_required`, `cancelled`, `failure`, `neutral`, `success`, `skipped`, `stale`, or `timed_out`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + completed_at?: string; + /** Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object-1) description. */ + output?: { + /** **Required**. */ + title?: string; + /** Can contain Markdown. */ + summary: string; + /** Can contain Markdown. */ + text?: string; + /** Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see "[About status checks](https://help.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details. */ + annotations?: { + /** The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** The start line of the annotation. */ + start_line: number; + /** The end line of the annotation. */ + end_line: number; + /** The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + start_column?: number; + /** The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** The level of the annotation. Can be one of `notice`, `warning`, or `failure`. */ + annotation_level: "notice" | "warning" | "failure"; + /** A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details. */ + images?: { + /** The alternative text for the image. */ + alt: string; + /** The full URL of the image. */ + image_url: string; + /** A short image description. */ + caption?: string; + }[]; + }; + /** Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: { + /** The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + }; + }; + }; + }; + /** Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ + "checks/list-annotations": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** check_run_id parameter */ + check_run_id: components["parameters"]["check-run-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["check-annotation"][]; + }; + }; + }; + }; + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + "checks/rerequest-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** check_run_id parameter */ + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** Validation error if the check run is not rerequestable */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + "checks/create-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** when the suite already existed */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** Response when the suite was created */ + 201: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The sha of the head commit. */ + head_sha: string; + }; + }; + }; + }; + /** Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ + "checks/set-suites-preferences": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://docs.github.com/rest/reference/checks#auto_trigger_checks-object) description for details. */ + auto_trigger_checks?: { + /** The `id` of the GitHub App. */ + app_id: number; + /** Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. */ + setting: boolean; + }[]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + "checks/get-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** check_suite_id parameter */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/list-for-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** check_suite_id parameter */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + query: { + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. */ + status?: components["parameters"]["status"]; + /** Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. */ + filter?: "latest" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + "checks/rerequest-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** check_suite_id parameter */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + }; + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint. GitHub Apps must have the `security_events` read permission to use + * this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + "code-scanning/list-alerts-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + /** Set to `open`, `fixed`, or `dismissed` to list code scanning alerts in a specific state. */ + state?: components["schemas"]["code-scanning-alert-state"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-items"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. + */ + "code-scanning/get-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. */ + "code-scanning/update-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["code-scanning-alert-set-state"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + }; + }; + }; + }; + /** Lists all instances of the specified code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + "code-scanning/list-alert-instances": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-instance"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + "code-scanning/list-recent-analyses": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["schemas"]["code-scanning-ref"]; + /** Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + */ + "code-scanning/get-analysis": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json+sarif": string; + "application/json": components["schemas"]["code-scanning-analysis"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` and `repo:security_events` scopes. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set + * (see the example default response below). + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in the set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find the deletable analysis for one of the sets, + * step through deleting the analyses in that set, + * and then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + "code-scanning/delete-analysis": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + query: { + /** Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ + confirm_delete?: string | null; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis-deletion"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." + */ + "code-scanning/upload-sarif": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; + }; + }; + /** Bad Request if the sarif field is invalid */ + 400: unknown; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** Payload Too Large if the sarif field is too large */ + 413: unknown; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref"]; + sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** + * The base directory used in the analysis, as it appears in the SARIF file. + * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + */ + checkout_uri?: string; + /** The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + started_at?: string; + /** The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ + tool_name?: string; + }; + }; + }; + }; + /** Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + "code-scanning/get-sarif": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The SARIF ID obtained after uploading. */ + sarif_id: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-sarifs-status"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** Not Found if the sarif id does not match any upload */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + "repos/list-collaborators": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * Filter collaborators returned by their affiliation. Can be one of: + * \* `outside`: All outside collaborators of an organization-owned repository. + * \* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["collaborator"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + "repos/check-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response if user is a collaborator */ + 204: never; + /** Not Found if user is not a collaborator */ + 404: unknown; + }; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * For more information the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + "repos/add-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response when a new invitation is created */ + 201: { + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + /** Response when person is already a collaborator */ + 204: never; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: + * \* `pull` - can pull, but not push to or administer this repository. + * \* `push` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push and administer this repository. + * \* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. + * \* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. + * \* custom repository role name - Can assign a custom repository role if the owning organization has defined any. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; + permissions?: string; + }; + }; + }; + }; + "repos/remove-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ + "repos/get-collaborator-permission-level": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** if user has admin permissions */ + 200: { + content: { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + "repos/list-commit-comments-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + "repos/get-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** The contents of the comment */ + body: string; + }; + }; + }; + }; + /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ + "reactions/list-for-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ + "reactions/create-for-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 415: components["responses"]["preview_header_missing"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment. */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + "reactions/delete-for-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/list-commits": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). */ + sha?: string; + /** Only commits containing this file path will be returned. */ + path?: string; + /** GitHub login or email address by which to filter by commit author. */ + author?: string; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + until?: string; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + "repos/list-branches-for-head-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** commit_sha parameter */ + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-short"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Use the `:commit_sha` to specify the commit that will have its comments listed. */ + "repos/list-comments-for-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** commit_sha parameter */ + commit_sha: components["parameters"]["commit-sha"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "repos/create-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** commit_sha parameter */ + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The contents of the comment. */ + body: string; + /** Relative path of the file to comment on. */ + path?: string; + /** Line index in the diff to comment on. */ + position?: number; + /** **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; + }; + }; + }; + }; + /** Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint. */ + "repos/list-pull-requests-associated-with-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** commit_sha parameter */ + commit_sha: components["parameters"]["commit-sha"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + }; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/get-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/list-for-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. */ + status?: components["parameters"]["status"]; + /** Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. */ + filter?: "latest" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + app_id?: number; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + "checks/list-suites-for-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Filters check suites by GitHub App `id`. */ + app_id?: number; + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + check_suites: components["schemas"]["check-suite"][]; + }; + }; + }; + }; + }; + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * The most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts. + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + "repos/get-combined-status-for-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-commit-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + "repos/list-commit-statuses-for-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["status"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + }; + }; + /** + * This endpoint will return all community profile metrics, including an + * overall health score, repository description, the presence of documentation, detected + * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * these four documents are present: README, CONTRIBUTING, LICENSE, and + * CODE_OF_CONDUCT. For example, if all four documents are present, then + * the `health_percentage` is `100`. If only one is present, then the + * `health_percentage` is `25`. + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + "repos/get-community-profile-metrics": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["community-profile"]; + }; + }; + }; + }; + /** + * The `basehead` param is comprised of two parts: `base` and `head`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits-with-basehead": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The base branch and head branch to compare. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` and `repository` `full_name` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://docs.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/create-content-attachment-for-repo": { + parameters: { + path: { + /** The owner of the repository. Determined from the `repository` `full_name` of the `content_reference` event. */ + owner: string; + /** The name of the repository. Determined from the `repository` `full_name` of the `content_reference` event. */ + repo: string; + /** The `id` of the `content_reference` event. */ + content_reference_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-reference-attachment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 415: components["responses"]["preview_header_missing"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The title of the attachment */ + title: string; + /** The body of the attachment */ + body: string; + }; + }; + }; + }; + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent + * object format. + * + * **Note**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/reference/git#get-a-tree). + * * This API supports files up to 1 megabyte in size. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + "repos/get-content": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/vnd.github.v3.object": components["schemas"]["content-tree"]; + "application/json": + | components["schemas"]["content-directory"] + | components["schemas"]["content-file"] + | components["schemas"]["content-symlink"] + | components["schemas"]["content-submodule"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Creates a new file or replaces an existing file in a repository. */ + "repos/create-or-update-file-contents": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The commit message. */ + message: string; + /** The new file content, using Base64 encoding. */ + content: string; + /** **Required if you are updating a file**. The blob SHA of the file being replaced. */ + sha?: string; + /** The branch name. Default: the repository’s default branch (usually `master`) */ + branch?: string; + /** The person that committed the file. Default: the authenticated user. */ + committer?: { + /** The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + date?: string; + }; + /** The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ + author?: { + /** The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + date?: string; + }; + }; + }; + }; + }; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + */ + "repos/delete-file": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + /** The commit message. */ + message: string; + /** The blob SHA of the file being replaced. */ + sha: string; + /** The branch name. Default: the repository’s default branch (usually `master`) */ + branch?: string; + /** object containing information about the committer. */ + committer?: { + /** The name of the author (or committer) of the commit */ + name?: string; + /** The email of the author (or committer) of the commit */ + email?: string; + }; + /** object containing information about the author. */ + author?: { + /** The name of the author (or committer) of the commit */ + name?: string; + /** The email of the author (or committer) of the commit */ + email?: string; + }; + }; + }; + }; + }; + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + "repos/list-contributors": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Set to `1` or `true` to include anonymous contributors in results. */ + anon?: string; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** if repository contains content */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["contributor"][]; + }; + }; + /** Response if repository is empty */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Simple filtering of deployments is available via query parameters: */ + "repos/list-deployments": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** The SHA recorded at creation time. */ + sha?: string; + /** The name of the ref. This can be a branch, tag, or SHA. */ + ref?: string; + /** The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ + task?: string; + /** The name of the environment that was deployed to (e.g., `staging` or `production`). */ + environment?: string | null; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + "repos/create-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + /** Merged branch response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** Conflict when there is a merge conflict or the commit's status checks failed */ + 409: unknown; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; + /** Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). */ + task?: string; + /** Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. */ + auto_merge?: boolean; + /** The [status](https://docs.github.com/rest/reference/repos#statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ + required_contexts?: string[]; + payload?: { [key: string]: unknown } | string; + /** Name for the target deployment environment (e.g., `production`, `staging`, `qa`). */ + environment?: string; + /** Short description of the deployment. */ + description?: string | null; + /** Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` */ + transient_environment?: boolean; + /** Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ + production_environment?: boolean; + }; + }; + }; + }; + "repos/get-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." + */ + "repos/delete-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Users with pull access can view deployment statuses for a deployment: */ + "repos/list-deployment-statuses": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["deployment-status"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + "repos/create-deployment-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. */ + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; + /** The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. */ + target_url?: string; + /** The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` */ + log_url?: string; + /** A short description of the status. The maximum description length is 140 characters. */ + description?: string; + /** Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. */ + environment?: "production" | "staging" | "qa"; + /** Sets the URL for accessing your environment. Default: `""` */ + environment_url?: string; + /** Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ + auto_inactive?: boolean; + }; + }; + }; + }; + /** Users with pull access can view a deployment status for a deployment: */ + "repos/get-deployment-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + status_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + "repos/create-dispatch-event": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** A custom webhook event name. */ + event_type: string; + /** JSON payload with extra information about the webhook event that your action or worklow may use. */ + client_payload?: { [key: string]: unknown }; + }; + }; + }; + }; + /** + * Get all environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "repos/get-all-environments": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + /** The number of environments in this repository */ + total_count?: number; + environments?: components["schemas"]["environment"][]; + }; + }; + }; + }; + }; + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "repos/get-environment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; + }; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + "repos/create-or-update-environment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + /** Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + /** The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: + | { + type?: components["schemas"]["deployment-reviewer-type"]; + /** The id of the user or team who can review the deployment */ + id?: number; + }[] + | null; + deployment_branch_policy?: components["schemas"]["deployment_branch_policy"]; + } | null; + }; + }; + }; + /** You must authenticate using an access token with the repo scope to use this endpoint. */ + "repos/delete-an-environment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Default response */ + 204: never; + }; + }; + "activity/list-repo-events": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "repos/list-forks": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** The sort order. Can be either `newest`, `oldest`, or `stargazers`. */ + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 400: components["responses"]["bad_request"]; + }; + }; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + */ + "repos/create-fork": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Optional parameter to specify the organization name if forking into an organization. */ + organization?: string; + } | null; + }; + }; + }; + "git/create-blob": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["short-blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The new blob's content. */ + content: string; + /** The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. */ + encoding?: string; + }; + }; + }; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + "git/get-blob": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + file_sha: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/create-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The commit message */ + message: string; + /** The SHA of the tree object this commit points to */ + tree: string; + /** The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ + parents?: string[]; + /** Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ + author?: { + /** The name of the author (or committer) of the commit */ + name: string; + /** The email of the author (or committer) of the commit */ + email: string; + /** Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + date?: string; + }; + /** Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ + committer?: { + /** The name of the author (or committer) of the commit */ + name?: string; + /** The email of the author (or committer) of the commit */ + email?: string; + /** Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + date?: string; + }; + /** The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ + signature?: string; + }; + }; + }; + }; + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** commit_sha parameter */ + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + "git/list-matching-refs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + }; + }; + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + "git/get-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ + "git/create-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ + ref: string; + /** The SHA1 value for this reference. */ + sha: string; + key?: string; + }; + }; + }; + }; + "git/delete-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/update-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The SHA1 value to set this reference to */ + sha: string; + /** Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. */ + force?: boolean; + }; + }; + }; + }; + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/create-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The tag's name. This is typically a version (e.g., "v0.0.1"). */ + tag: string; + /** The tag message. */ + message: string; + /** The SHA of the git object this is tagging. */ + object: string; + /** The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. */ + type: "commit" | "tree" | "blob"; + /** An object with information about the individual creating the tag. */ + tagger?: { + /** The name of the author of the tag */ + name: string; + /** The email of the author of the tag */ + email: string; + /** When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + date?: string; + }; + }; + }; + }; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + tag_sha: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + */ + "git/create-tree": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ + tree: { + /** The file referenced in the tree. */ + path?: string; + /** The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** Either `blob`, `tree`, or `commit`. */ + type?: "blob" | "tree" | "commit"; + /** + * The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + sha?: string | null; + /** + * The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + content?: string; + }[]; + /** + * The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. + * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. + */ + base_tree?: string; + }; + }; + }; + }; + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + */ + "git/get-tree": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + tree_sha: string; + }; + query: { + /** Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ + recursive?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-webhooks": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + "repos/create-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ + name?: string; + /** Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ + config?: { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + token?: string; + digest?: string; + }; + /** Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. */ + events?: string[]; + /** Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ + active?: boolean; + } | null; + }; + }; + }; + /** Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." */ + "repos/get-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." */ + "repos/update-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + address?: string; + room?: string; + }; + /** Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. */ + events?: string[]; + /** Determines a list of events to be added to the list of events that the Hook triggers for. */ + add_events?: string[]; + /** Determines a list of events to be removed from the list of events that the Hook triggers for. */ + remove_events?: string[]; + /** Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ + active?: boolean; + }; + }; + }; + }; + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + "repos/get-webhook-config-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + "repos/update-webhook-config-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + }; + /** Returns a list of webhook deliveries for a webhook configured in a repository. */ + "repos/list-webhook-deliveries": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns a delivery for a webhook configured in a repository. */ + "repos/get-webhook-delivery": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Redeliver a webhook delivery for a webhook configured in a repository. */ + "repos/redeliver-webhook-delivery": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + "repos/ping-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + "repos/test-push-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * View the progress of an import. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + "migrations/get-import-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Start a source import to a GitHub repository using GitHub Importer. */ + "migrations/start-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The URL of the originating repository. */ + vcs_url: string; + /** The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** If authentication is required, the username to provide to `vcs_url`. */ + vcs_username?: string; + /** If authentication is required, the password to provide to `vcs_url`. */ + vcs_password?: string; + /** For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; + }; + }; + }; + }; + /** Stop an import for a repository. */ + "migrations/cancel-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + */ + "migrations/update-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The username to provide to the originating repository. */ + vcs_username?: string; + /** The password to provide to the originating repository. */ + vcs_password?: string; + vcs?: string; + tfvc_project?: string; + } | null; + }; + }; + }; + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. + */ + "migrations/get-commit-authors": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-author"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. */ + "migrations/map-commit-author": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + author_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-author"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The new Git author email. */ + email?: string; + /** The new Git author name. */ + name?: string; + }; + }; + }; + }; + /** List files larger than 100MB found during the import */ + "migrations/get-large-files": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-large-file"][]; + }; + }; + }; + }; + /** You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/). */ + "migrations/set-lfs-preference": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import). */ + use_lfs: "opt_in" | "opt_out"; + }; + }; + }; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-repo-installation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. */ + "interactions/get-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; + }; + }; + }; + }; + /** Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + "interactions/set-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + /** Response */ + 409: unknown; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + }; + /** Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + "interactions/remove-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Response */ + 409: unknown; + }; + }; + /** When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ + "repos/list-invitations": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; + }; + "repos/delete-invitation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** invitation_id parameter */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "repos/update-invitation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** invitation_id parameter */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; + }; + }; + }; + }; + /** + * List issues in a repository. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ + milestone?: string; + /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ + assignee?: string; + /** The user that created the issue. */ + creator?: string; + /** A user that's mentioned in the issue. */ + mentioned?: string; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** One of `asc` (ascending) or `desc` (descending). */ + direction?: components["parameters"]["direction"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "issues/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + /** The title of the issue. */ + title: string | number; + /** The contents of the issue. */ + body?: string; + /** Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ + assignee?: string | null; + milestone?: (string | number) | null; + /** Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ + labels?: ( + | string + | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + } + )[]; + /** Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; + }; + }; + }; + }; + /** By default, Issue Comments are ordered by ascending ID. */ + "issues/list-comments-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ + sort?: components["parameters"]["sort"]; + /** Either `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/update-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The contents of the comment. */ + body: string; + }; + }; + }; + }; + /** List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ + "reactions/list-for-issue-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ + "reactions/create-for-issue-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment. */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + "reactions/delete-for-issue-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/list-events-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-event"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-event": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + event_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-event"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** Issue owners and users with push access can edit an issue. */ + "issues/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + /** The title of the issue. */ + title?: (string | number) | null; + /** The contents of the issue. */ + body?: string | null; + /** Login for the user that this issue should be assigned to. **This field is deprecated.** */ + assignee?: string | null; + /** State of the issue. Either `open` or `closed`. */ + state?: "open" | "closed"; + milestone?: (string | number) | null; + /** Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ */ + labels?: ( + | string + | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + } + )[]; + /** Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; + }; + }; + }; + }; + /** Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. */ + "issues/add-assignees": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; + }; + }; + }; + }; + /** Removes one or more assignees from an issue. */ + "issues/remove-assignees": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; + }; + }; + }; + }; + /** Issue Comments are ordered by ascending ID. */ + "issues/list-comments": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "issues/create-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The contents of the comment. */ + body: string; + }; + }; + }; + }; + "issues/list-events": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + }; + 410: components["responses"]["gone"]; + }; + }; + "issues/list-labels-on-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 410: components["responses"]["gone"]; + }; + }; + /** Removes any previous labels and sets the new labels for an issue. */ + "issues/set-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": + | { + /** The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. */ + labels?: string[]; + } + | { + labels?: { + name: string; + }[]; + }; + }; + }; + }; + "issues/add-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": + | { + /** The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. */ + labels?: string[]; + } + | { + labels?: { + name: string; + }[]; + }; + }; + }; + }; + "issues/remove-all-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 410: components["responses"]["gone"]; + }; + }; + /** Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ + "issues/remove-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "issues/lock": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + } | null; + }; + }; + }; + /** Users with push access can unlock an issue's conversation. */ + "issues/unlock": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */ + "reactions/list-for-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ + "reactions/create-for-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue. */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + */ + "reactions/delete-for-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/list-events-for-timeline": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** issue_number parameter */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["timeline-issue-events"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "repos/list-deploy-keys": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["deploy-key"][]; + }; + }; + }; + }; + /** You can create a read-only deploy key. */ + "repos/create-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** A name for the key. */ + title?: string; + /** The contents of the key. */ + key: string; + /** + * If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; + }; + }; + }; + }; + "repos/get-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** key_id parameter */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ + "repos/delete-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** key_id parameter */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/list-labels-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + name: string; + /** The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** A short description of the label. */ + description?: string; + }; + }; + }; + }; + "issues/get-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/update-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + new_name?: string; + /** The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** A short description of the label. */ + description?: string; + }; + }; + }; + }; + /** Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ + "repos/list-languages": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["language"]; + }; + }; + }; + }; + /** **Note:** The Git LFS API endpoints are currently in beta and are subject to change. */ + "repos/enable-lfs-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + /** + * We will return a 403 with one of the following messages: + * + * - Git LFS support not enabled because Git LFS is globally disabled. + * - Git LFS support not enabled because Git LFS is disabled for the root repository in the network. + * - Git LFS support not enabled because Git LFS is disabled for . + */ + 403: unknown; + }; + }; + /** **Note:** The Git LFS API endpoints are currently in beta and are subject to change. */ + "repos/disable-lfs-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + "licenses/get-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + }; + }; + /** + * **Note:** This endpoint is currently in beta and subject to change. + * + * Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + "repos/merge-upstream": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** The branch has been successfully synced with the upstream repository */ + 200: { + content: { + "application/json": components["schemas"]["merged-upstream"]; + }; + }; + /** The branch could not be synced because of a merge conflict */ + 409: unknown; + /** The branch could not be synced for some other reason */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** The name of the branch which should be updated to match upstream. */ + branch: string; + }; + }; + }; + }; + "repos/merge": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Successful Response (The resulting merge commit) */ + 201: { + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + /** Response when already merged */ + 204: never; + 403: components["responses"]["forbidden"]; + /** Not Found when the base or head does not exist */ + 404: unknown; + /** Conflict when there is a merge conflict */ + 409: unknown; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the base branch that the head will be merged into. */ + base: string; + /** The head to merge. This can be a branch name or a commit SHA1. */ + head: string; + /** Commit message to use for the merge commit. If omitted, a default message will be used. */ + commit_message?: string; + }; + }; + }; + }; + "issues/list-milestones": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** The state of the milestone. Either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** What to sort results by. Either `due_on` or `completeness`. */ + sort?: "due_on" | "completeness"; + /** The direction of the sort. Either `asc` or `desc`. */ + direction?: "asc" | "desc"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["milestone"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The title of the milestone. */ + title: string; + /** The state of the milestone. Either `open` or `closed`. */ + state?: "open" | "closed"; + /** A description of the milestone. */ + description?: string; + /** The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + due_on?: string; + }; + }; + }; + }; + "issues/get-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** milestone_number parameter */ + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** milestone_number parameter */ + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "issues/update-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** milestone_number parameter */ + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The title of the milestone. */ + title?: string; + /** The state of the milestone. Either `open` or `closed`. */ + state?: "open" | "closed"; + /** A description of the milestone. */ + description?: string; + /** The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + due_on?: string; + }; + }; + }; + }; + "issues/list-labels-for-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** milestone_number parameter */ + milestone_number: components["parameters"]["milestone-number"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + }; + }; + /** List all notifications for the current user. */ + "activity/list-repo-notifications-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + }; + }; + /** Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + "activity/mark-repo-notifications-as-read": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + /** Reset Content */ + 205: unknown; + }; + requestBody: { + content: { + "application/json": { + /** Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. */ + last_read_at?: string; + }; + }; + }; + }; + "repos/get-pages": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). */ + "repos/update-information-about-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/)." */ + cname?: string | null; + /** Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** Configures access controls for the GitHub Pages site. If public is set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. This includes anyone in your Enterprise if the repository is set to `internal` visibility. This feature is only available to repositories in an organization on an Enterprise plan. */ + public?: boolean; + source?: Partial<"gh-pages" | "master" | "master /docs"> & + Partial<{ + /** The repository branch used to publish your site's source files. */ + branch: string; + /** The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. */ + path: "/" | "/docs"; + }>; + }; + }; + }; + }; + /** Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." */ + "repos/create-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The source branch and directory used to publish your Pages site. */ + source: { + /** The repository branch used to publish your site's source files. */ + branch: string; + /** The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` */ + path?: "/" | "/docs"; + }; + } | null; + }; + }; + }; + "repos/delete-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-pages-builds": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["page-build"][]; + }; + }; + }; + }; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + "repos/request-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["page-build-status"]; + }; + }; + }; + }; + "repos/get-latest-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + "repos/get-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + build_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + /** + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. + */ + "repos/get-pages-health-check": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pages-health-check"]; + }; + }; + /** Empty response */ + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Custom domains are not available for GitHub Pages */ + 400: unknown; + 404: components["responses"]["not_found"]; + /** There isn't a CNAME for this page */ + 422: unknown; + }; + }; + /** Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/list-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/create-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the project. */ + name: string; + /** The description of the project. */ + body?: string; + }; + }; + }; + }; + /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "pulls/list": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Either `open`, `closed`, or `all` to filter by state. */ + state?: "open" | "closed" | "all"; + /** Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ + head?: string; + /** Filter pulls by base branch name. Example: `gh-pages`. */ + base?: string; + /** What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ + direction?: "asc" | "desc"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "pulls/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The title of the new pull request. */ + title?: string; + /** The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ + head: string; + /** The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ + base: string; + /** The contents of the pull request. */ + body?: string; + /** Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + /** Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + issue?: number; + }; + }; + }; + }; + /** Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ + "pulls/list-review-comments-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + sort?: "created" | "updated" | "created_at"; + /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + /** Provides details for a review comment. */ + "pulls/get-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Deletes a review comment. */ + "pulls/delete-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Enables you to edit a review comment. */ + "pulls/update-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The text of the reply to the review comment. */ + body: string; + }; + }; + }; + }; + /** List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ + "reactions/list-for-pull-request-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ + "reactions/create-for-pull-request-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment. */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + "reactions/delete-for-pull-request-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + "pulls/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ + 200: { + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + "pulls/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The title of the pull request. */ + title?: string; + /** The contents of the pull request. */ + body?: string; + /** State of this Pull Request. Either `open` or `closed`. */ + state?: "open" | "closed"; + /** The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ + base?: string; + /** Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + }; + }; + }; + }; + /** Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ + "pulls/list-review-comments": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ + sort?: components["parameters"]["sort"]; + /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + /** + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see the [`comfort-fade` preview notice](https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request-preview-notices). + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "pulls/create-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The text of the review comment. */ + body: string; + /** The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ + commit_id?: string; + /** The relative path to the file that necessitates a comment. */ + path?: string; + /** **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. */ + position?: number; + /** **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. */ + side?: "LEFT" | "RIGHT"; + /** **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ + line?: number; + /** **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ + start_line?: number; + /** **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. */ + start_side?: "LEFT" | "RIGHT" | "side"; + in_reply_to?: number; + }; + }; + }; + }; + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "pulls/create-reply-for-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + /** comment_id parameter */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** The text of the review comment. */ + body: string; + }; + }; + }; + }; + /** Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. */ + "pulls/list-commits": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + }; + }; + /** **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ + "pulls/list-files": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["diff-entry"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "pulls/check-if-merged": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response if pull request has been merged */ + 204: never; + /** Not Found if pull request has not been merged */ + 404: unknown; + }; + }; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "pulls/merge": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** if merge was successful */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** Method Not Allowed if merge cannot be performed */ + 405: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + /** Conflict if sha was provided and pull request head did not match */ + 409: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Title for the automatic commit message. */ + commit_title?: string; + /** Extra detail to append to automatic commit message. */ + commit_message?: string; + /** SHA that pull request head must match to allow merge. */ + sha?: string; + /** Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. */ + merge_method?: "merge" | "squash" | "rebase"; + } | null; + }; + }; + }; + "pulls/list-requested-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review-request"]; + }; + }; + }; + }; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "pulls/request-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** Unprocessable Entity if user is not a collaborator */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** An array of user `login`s that will be requested. */ + reviewers?: string[]; + /** An array of team `slug`s that will be requested. */ + team_reviewers?: string[]; + }; + }; + }; + }; + "pulls/remove-requested-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** An array of user `login`s that will be removed. */ + reviewers: string[]; + /** An array of team `slug`s that will be removed. */ + team_reviewers?: string[]; + }; + }; + }; + }; + /** The list of reviews returns in chronological order. */ + "pulls/list-reviews": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** The list of reviews returns in chronological order. */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review"][]; + }; + }; + }; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + "pulls/create-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ + commit_id?: string; + /** **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ + body?: string; + /** The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request) when you are ready. */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** Use the following table to specify the location, destination, and contents of the draft review comment. */ + comments?: { + /** The relative path to the file that necessitates a review comment. */ + path: string; + /** The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ + position?: number; + /** Text of the review comment. */ + body: string; + line?: number; + side?: string; + start_line?: number; + start_side?: string; + }[]; + }; + }; + }; + }; + "pulls/get-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + /** review_id parameter */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Update the review summary comment with new text. */ + "pulls/update-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + /** review_id parameter */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** The body text of the pull request review. */ + body: string; + }; + }; + }; + }; + "pulls/delete-pending-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + /** review_id parameter */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** List comments for a specific pull request review. */ + "pulls/list-comments-for-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + /** review_id parameter */ + review_id: components["parameters"]["review-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["review-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ + "pulls/dismiss-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + /** review_id parameter */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** The message for the pull request review dismissal */ + message: string; + event?: string; + }; + }; + }; + }; + "pulls/submit-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + /** review_id parameter */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** The body text of the pull request review */ + body?: string; + /** The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + }; + }; + }; + }; + /** Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ + "pulls/update-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/reference/repos#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ + expected_head_sha?: string; + } | null; + }; + }; + }; + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + "repos/get-readme": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + "repos/get-readme-in-directory": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The alternate path to look for a README file */ + dir: string; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + "repos/list-releases": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["release"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "repos/create-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the tag. */ + tag_name: string; + /** Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** The name of the release. */ + name?: string; + /** Text describing the contents of the tag. */ + body?: string; + /** `true` to create a draft (unpublished) release, `false` to create a published one. */ + draft?: boolean; + /** `true` to identify the release as a prerelease. `false` to identify the release as a full release. */ + prerelease?: boolean; + /** If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + /** Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. */ + generate_release_notes?: boolean; + }; + }; + }; + }; + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + "repos/get-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** asset_id parameter */ + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + 200: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; + 415: components["responses"]["preview_header_missing"]; + }; + }; + "repos/delete-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** asset_id parameter */ + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Users with push access to the repository can edit a release asset. */ + "repos/update-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** asset_id parameter */ + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The file name of the asset. */ + name?: string; + /** An alternate short description of the asset. Used in place of the filename. */ + label?: string; + state?: string; + }; + }; + }; + }; + /** Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ + "repos/generate-release-notes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Name and body of generated release notes */ + 200: { + content: { + "application/json": components["schemas"]["release-notes-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** The tag name for the release. This can be an existing tag or a new one. */ + tag_name: string; + /** Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ + target_commitish?: string; + /** The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ + previous_tag_name?: string; + /** Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ + configuration_file_path?: string; + }; + }; + }; + }; + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + "repos/get-latest-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + }; + }; + /** Get a published release with the specified tag. */ + "repos/get-release-by-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** tag parameter */ + tag: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + "repos/get-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** release_id parameter */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Users with push access to the repository can delete a release. */ + "repos/delete-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** release_id parameter */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Users with push access to the repository can edit a release. */ + "repos/update-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** release_id parameter */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The name of the tag. */ + tag_name?: string; + /** Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** The name of the release. */ + name?: string; + /** Text describing the contents of the tag. */ + body?: string; + /** `true` makes the release a draft, and `false` publishes the release. */ + draft?: boolean; + /** `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ + prerelease?: boolean; + /** If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + }; + }; + }; + }; + "repos/list-release-assets": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** release_id parameter */ + release_id: components["parameters"]["release-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["release-asset"][]; + }; + }; + }; + }; + /** + * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + "repos/upload-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** release_id parameter */ + release_id: components["parameters"]["release-id"]; + }; + query: { + name: string; + label?: string; + }; + }; + responses: { + /** Response for successful upload */ + 201: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + /** Response if you upload an asset with the same filename as another uploaded asset */ + 422: unknown; + }; + requestBody: { + content: { + "*/*": string; + }; + }; + }; + /** Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ + "reactions/create-for-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** release_id parameter */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the release. */ + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + }; + /** + * Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-alerts-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: "open" | "resolved"; + /** A comma-separated list of secret types to return. By default all secret types are returned. See "[About secret scanning for private repositories](https://docs.github.com/code-security/secret-security/about-secret-scanning#about-secret-scanning-for-private-repositories)" for a complete list of secret types (API slug). */ + secret_type?: string; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: string; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"][]; + }; + }; + /** Repository is public or secret scanning is disabled for the repository */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/get-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + "secret-scanning/update-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + /** State does not match the resolution */ + 422: unknown; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + }; + }; + }; + }; + /** + * Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-stargazers-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": Partial & + Partial; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + "repos/get-code-frequency-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + 200: { + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ + "repos/get-commit-activity-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + "repos/get-contributors-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + 200: { + content: { + "application/json": components["schemas"]["contributor-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + */ + "repos/get-participation-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** The array order is oldest week (index 0) to most recent week. */ + 200: { + content: { + "application/json": components["schemas"]["participation-stats"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + "repos/get-punch-card-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ + 200: { + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + "repos/create-commit-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + sha: string; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["status"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. */ + state: "error" | "failure" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string; + /** A short description of the status. */ + description?: string; + /** A string label to differentiate this status from the status of other systems. This field is case-insensitive. */ + context?: string; + }; + }; + }; + }; + /** Lists the people watching the specified repository. */ + "activity/list-watchers-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "activity/get-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** if you subscribe to the repository */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** Not Found if you don't subscribe to the repository */ + 404: unknown; + }; + }; + /** If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. */ + "activity/set-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** Determines if notifications should be received from this repository. */ + subscribed?: boolean; + /** Determines if all notifications should be blocked from this repository. */ + ignored?: boolean; + }; + }; + }; + }; + /** This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). */ + "activity/delete-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "repos/list-tags": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["tag"][]; + }; + }; + }; + }; + /** + * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + "repos/download-tarball-archive": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + "repos/list-teams": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + }; + "repos/get-all-topics": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + 415: components["responses"]["preview_header_missing"]; + }; + }; + "repos/replace-all-topics": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + 415: components["responses"]["preview_header_missing"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ + names: string[]; + }; + }; + }; + }; + /** Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + "repos/get-clones": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Must be one of: `day`, `week`. */ + per?: components["parameters"]["per"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["clone-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the top 10 popular contents over the last 14 days. */ + "repos/get-top-paths": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the top 10 referrers over the last 14 days. */ + "repos/get-top-referrers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["referrer-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + "repos/get-views": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** Must be one of: `day`, `week`. */ + per?: components["parameters"]["per"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["view-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/). */ + "repos/transfer": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["minimal-repository"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The username or organization name the repository will be transferred to. */ + new_owner: string; + /** ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ + team_ids?: number[]; + }; + }; + }; + }; + /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/check-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response if repository is enabled with vulnerability alerts */ + 204: never; + /** Not Found if repository is not enabled with vulnerability alerts */ + 404: unknown; + }; + }; + /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/enable-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/disable-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + "repos/download-zipball-archive": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + "repos/create-using-template": { + parameters: { + path: { + template_owner: string; + template_repo: string; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ + owner?: string; + /** The name of the new repository. */ + name: string; + /** A short description of the new repository. */ + description?: string; + /** Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. */ + include_all_branches?: boolean; + /** Either `true` to create a new private repository or `false` to create a new public one. */ + private?: boolean; + }; + }; + }; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ + "repos/list-public": { + parameters: { + query: { + /** A repository ID. Only return repositories with an ID greater than this ID. */ + since?: components["parameters"]["since-repo"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/list-environment-secrets": { + parameters: { + path: { + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-environment-public-key": { + parameters: { + path: { + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-environment-secret": { + parameters: { + path: { + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-environment-secret": { + parameters: { + path: { + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/reference/actions#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + }; + /** Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/delete-environment-secret": { + parameters: { + path: { + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** secret_name parameter */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Default response */ + 204: never; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/list-provisioned-groups-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Used for pagination: the index of the first result to return. */ + startIndex?: components["parameters"]["start-index"]; + /** Used for pagination: the number of results to return. */ + count?: components["parameters"]["count"]; + /** filter results */ + filter?: string; + /** attributes to exclude */ + excludedAttributes?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-group-list-enterprise"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. + */ + "enterprise-admin/provision-and-invite-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The SCIM schema URIs. */ + schemas: string[]; + /** The name of the SCIM group. This must match the GitHub organization that the group maps to. */ + displayName: string; + members?: { + /** The SCIM user ID for a user. */ + value: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/get-provisioning-information-for-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + query: { + /** Attributes to exclude. */ + excludedAttributes?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. + */ + "enterprise-admin/set-information-for-provisioned-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The SCIM schema URIs. */ + schemas: string[]; + /** The name of the SCIM group. This must match the GitHub organization that the group maps to. */ + displayName: string; + members?: { + /** The SCIM user ID for a user. */ + value: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/delete-scim-group-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ + "enterprise-admin/update-attribute-for-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The SCIM schema URIs. */ + schemas: string[]; + /** Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + Operations: { + op: "add" | "Add" | "remove" | "Remove" | "replace" | "Replace"; + path?: string; + value?: string | { [key: string]: unknown } | unknown[]; + }[]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. + * + * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. + */ + "enterprise-admin/list-provisioned-identities-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Used for pagination: the index of the first result to return. */ + startIndex?: components["parameters"]["start-index"]; + /** Used for pagination: the number of results to return. */ + count?: components["parameters"]["count"]; + /** filter results */ + filter?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-user-list-enterprise"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision enterprise membership for a user, and send organization invitation emails to the email address. + * + * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. + */ + "enterprise-admin/provision-and-invite-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The SCIM schema URIs. */ + schemas: string[]; + /** The username for the user. */ + userName: string; + name: { + /** The first name of the user. */ + givenName: string; + /** The last name of the user. */ + familyName: string; + }; + /** List of user emails. */ + emails: { + /** The email address. */ + value: string; + /** The type of email address. */ + type: string; + /** Whether this email address is the primary address. */ + primary: boolean; + }[]; + /** List of SCIM group IDs the user is a member of. */ + groups?: { + value?: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/get-provisioning-information-for-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** scim_user_id parameter */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + "enterprise-admin/set-information-for-provisioned-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** scim_user_id parameter */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The SCIM schema URIs. */ + schemas: string[]; + /** The username for the user. */ + userName: string; + name: { + /** The first name of the user. */ + givenName: string; + /** The last name of the user. */ + familyName: string; + }; + /** List of user emails. */ + emails: { + /** The email address. */ + value: string; + /** The type of email address. */ + type: string; + /** Whether this email address is the primary address. */ + primary: boolean; + }[]; + /** List of SCIM group IDs the user is a member of. */ + groups?: { + value?: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/delete-user-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** scim_user_id parameter */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + "enterprise-admin/update-attribute-for-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** scim_user_id parameter */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The SCIM schema URIs. */ + schemas: string[]; + /** Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + Operations: { [key: string]: unknown }[]; + }; + }; + }; + }; + /** + * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub organization. + * + * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. + */ + "scim/list-provisioned-identities": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** Used for pagination: the index of the first result to return. */ + startIndex?: number; + /** Used for pagination: the number of results to return. */ + count?: number; + /** + * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: + * + * `?filter=userName%20eq%20\"Octocat\"`. + * + * To filter results for the identity with the email `octocat@github.com`, you would use this query: + * + * `?filter=emails%20eq%20\"octocat@github.com\"`. + */ + filter?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user-list"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + }; + }; + /** Provision organization membership for a user, and send an activation email to the email address. */ + "scim/provision-and-invite-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + 409: components["responses"]["scim_conflict"]; + 500: components["responses"]["scim_internal_error"]; + }; + requestBody: { + content: { + "application/json": { + /** Configured by the admin. Could be an email, login, or username */ + userName: string; + /** The name of the user, suitable for display to end-users */ + displayName?: string; + name: { + givenName: string; + familyName: string; + formatted?: string; + }; + /** user emails */ + emails: { + value: string; + primary?: boolean; + type?: string; + }[]; + schemas?: string[]; + externalId?: string; + groups?: string[]; + active?: boolean; + }; + }; + }; + }; + "scim/get-provisioning-information-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** scim_user_id parameter */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + }; + }; + /** + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + "scim/set-information-for-provisioned-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** scim_user_id parameter */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + }; + requestBody: { + content: { + "application/json": { + schemas?: string[]; + /** The name of the user, suitable for display to end-users */ + displayName?: string; + externalId?: string; + groups?: string[]; + active?: boolean; + /** Configured by the admin. Could be an email, login, or username */ + userName: string; + name: { + givenName: string; + familyName: string; + formatted?: string; + }; + /** user emails */ + emails: { + type?: string; + value: string; + primary?: boolean; + }[]; + }; + }; + }; + }; + "scim/delete-user-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** scim_user_id parameter */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + }; + }; + /** + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + "scim/update-attribute-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** scim_user_id parameter */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + /** Response */ + 429: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + schemas?: string[]; + /** Set of operations to be performed */ + Operations: { + op: "add" | "remove" | "replace"; + path?: string; + value?: + | { + active?: boolean | null; + userName?: string | null; + externalId?: string | null; + givenName?: string | null; + familyName?: string | null; + } + | { + value?: string; + primary?: boolean; + }[] + | string; + }[]; + }; + }; + }; + }; + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + */ + "search/code": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching code](https://help.github.com/articles/searching-code/)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "indexed"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["code-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + "search/commits": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching commits](https://help.github.com/articles/searching-commits/)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "author-date" | "committer-date"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["commit-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + "search/issues-and-pull-requests": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["issue-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + "search/labels": { + parameters: { + query: { + /** The id of the repository. */ + repository_id: number; + /** The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ + q: string; + /** Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "created" | "updated"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["label-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + * + * When you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this: + * + * `q=topic:ruby+topic:rails` + */ + "search/repos": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["repo-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://help.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + "search/topics": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ + q: string; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["topic-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 415: components["responses"]["preview_header_missing"]; + }; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + */ + "search/users": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching users](https://help.github.com/articles/searching-users/)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "followers" | "repositories" | "joined"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["user-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. */ + "teams/get-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + "teams/delete-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + "teams/update-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the team. */ + name: string; + /** The description of the team. */ + description?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/list-discussions-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + /** One of `asc` (ascending) or `desc` (descending). */ + direction?: components["parameters"]["direction"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "teams/create-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The discussion post's title. */ + title: string; + /** The discussion post's body text. */ + body: string; + /** Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. */ + private?: boolean; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/get-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/delete-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/update-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The discussion post's title. */ + title?: string; + /** The discussion post's body text. */ + body?: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/list-discussion-comments-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** One of `asc` (ascending) or `desc` (descending). */ + direction?: components["parameters"]["direction"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "teams/create-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/get-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/delete-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/update-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/list-for-team-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + */ + "reactions/create-for-team-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/list-for-team-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + */ + "reactions/create-for-team-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + "teams/list-pending-invitations-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + "teams/list-members-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/get-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** if user is a member */ + 204: never; + /** if user is not a member */ + 404: unknown; + }; + }; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "teams/add-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + /** Not Found if team synchronization is set up */ + 404: unknown; + /** Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ + 422: unknown; + }; + }; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Not Found if team synchronization is setup */ + 404: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + "teams/get-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + "teams/add-or-update-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** Forbidden if team synchronization is set up */ + 403: unknown; + 404: components["responses"]["not_found"]; + /** Unprocessable Entity if you attempt to add an organization to a team */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** if team synchronization is set up */ + 403: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ + "teams/list-projects-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + */ + "teams/check-permissions-for-project-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** Not Found if project is not managed by this team */ + 404: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + */ + "teams/add-or-update-project-permissions-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Forbidden if the project is not owned by the organization */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + permission?: "read" | "write" | "admin"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + */ + "teams/remove-project-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 415: components["responses"]["preview_header_missing"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. */ + "teams/list-repos-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "teams/check-permissions-for-repo-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Alternative response with extra repository information */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** Response if repository is managed by this team */ + 204: never; + /** Not Found if repository is not managed by this team */ + 404: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "teams/add-or-update-repo-permissions-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + "teams/remove-repo-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + */ + "teams/list-idp-groups-for-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + */ + "teams/create-or-update-idp-group-connections-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. */ + groups: { + /** ID of the IdP group. */ + group_id: string; + /** Name of the IdP group. */ + group_name: string; + /** Description of the IdP group. */ + group_description: string; + id?: string; + name?: string; + description?: string; + }[]; + synced_at?: string; + }; + }; + }; + }; + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */ + "teams/list-child-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** if child teams exist */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + "users/get-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ + "users/update-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["private-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The new name of the user. */ + name?: string; + /** The publicly visible email address of the user. */ + email?: string; + /** The new blog URL of the user. */ + blog?: string; + /** The new Twitter username of the user. */ + twitter_username?: string | null; + /** The new company of the user. */ + company?: string; + /** The new location of the user. */ + location?: string; + /** The new hiring availability of the user. */ + hireable?: boolean; + /** The new short biography of the user. */ + bio?: string; + }; + }; + }; + }; + /** List the users you've blocked on your personal account. */ + "users/list-blocked-by-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 415: components["responses"]["preview_header_missing"]; + }; + }; + "users/check-blocked": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** If the user is blocked: */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** If the user is not blocked: */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "users/block": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/unblock": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Sets the visibility for your primary email addresses. */ + "users/set-primary-email-visibility-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Denotes whether an email is publicly visible. */ + visibility: "public" | "private"; + }; + }; + }; + }; + /** Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ + "users/list-emails-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** This endpoint is accessible with the `user` scope. */ + "users/add-email-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. */ + emails: string[]; + }; + }; + }; + }; + /** This endpoint is accessible with the `user` scope. */ + "users/delete-email-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Email addresses associated with the GitHub user account. */ + emails: string[]; + }; + }; + }; + }; + /** Lists the people following the authenticated user. */ + "users/list-followers-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Lists the people who the authenticated user follows. */ + "users/list-followed-by-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/check-person-is-followed-by-authenticated": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** if the person is followed by the authenticated user */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** if the person is not followed by the authenticated user */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + "users/follow": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ + "users/unfollow": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/list-gpg-keys-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/create-gpg-key-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** A GPG key in ASCII-armored format. */ + armored_public_key: string; + }; + }; + }; + }; + /** View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/get-gpg-key-for-authenticated-user": { + parameters: { + path: { + /** gpg_key_id parameter */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/delete-gpg-key-for-authenticated-user": { + parameters: { + path: { + /** gpg_key_id parameter */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + "apps/list-installations-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** You can find the permissions for the installation under the `permissions` key. */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 415: components["responses"]["preview_header_missing"]; + }; + }; + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + "apps/list-installation-repos-for-authenticated-user": { + parameters: { + path: { + /** installation_id parameter */ + installation_id: components["parameters"]["installation-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** The access the user has to each repository is included in the hash under the `permissions` key. */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + repository_selection?: string; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + "apps/add-repo-to-installation-for-authenticated-user": { + parameters: { + path: { + /** installation_id parameter */ + installation_id: components["parameters"]["installation-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + "apps/remove-repo-from-installation-for-authenticated-user": { + parameters: { + path: { + /** installation_id parameter */ + installation_id: components["parameters"]["installation-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. */ + "interactions/get-restrictions-for-authenticated-user": { + responses: { + /** Default response */ + 200: { + content: { + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; + }; + }; + /** Response when there are no restrictions */ + 204: never; + }; + }; + /** Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ + "interactions/set-restrictions-for-authenticated-user": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + }; + /** Removes any interaction restrictions from your public repositories. */ + "interactions/remove-restrictions-for-authenticated-user": { + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-authenticated-user": { + parameters: { + query: { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all` or `repos`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** One of `asc` (ascending) or `desc` (descending). */ + direction?: components["parameters"]["direction"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/create-public-ssh-key-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** A descriptive name for the new key. */ + title?: string; + /** The public SSH key to add to your GitHub account. */ + key: string; + }; + }; + }; + }; + /** View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/get-public-ssh-key-for-authenticated-user": { + parameters: { + path: { + /** key_id parameter */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/delete-public-ssh-key-for-authenticated-user": { + parameters: { + path: { + /** key_id parameter */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + "apps/list-subscriptions-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + "apps/list-subscriptions-for-authenticated-user-stubbed": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "orgs/list-memberships-for-authenticated-user": { + parameters: { + query: { + /** Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. */ + state?: "active" | "pending"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["org-membership"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The state that the membership should be in. Only `"active"` will be accepted. */ + state: "active"; + }; + }; + }; + }; + /** Lists all migrations a user has started. */ + "migrations/list-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Initiates the generation of a user migration archive. */ + "migrations/start-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** Lock the repositories being migrated at the start of the migration */ + lock_repositories?: boolean; + /** Do not include attachments in the migration */ + exclude_attachments?: boolean; + /** Do not include releases in the migration */ + exclude_releases?: boolean; + /** Indicates whether projects owned by the organization or users should be excluded. */ + exclude_owner_projects?: boolean; + /** Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + repositories: string[]; + }; + }; + }; + }; + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + */ + "migrations/get-status-for-authenticated-user": { + parameters: { + path: { + /** migration_id parameter */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + exclude?: string[]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + "migrations/get-archive-for-authenticated-user": { + parameters: { + path: { + /** migration_id parameter */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */ + "migrations/delete-archive-for-authenticated-user": { + parameters: { + path: { + /** migration_id parameter */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ + "migrations/unlock-repo-for-authenticated-user": { + parameters: { + path: { + /** migration_id parameter */ + migration_id: components["parameters"]["migration-id"]; + /** repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all the repositories for this user migration. */ + "migrations/list-repos-for-authenticated-user": { + parameters: { + path: { + /** migration_id parameter */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + "orgs/list-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-authenticated-user": { + parameters: { + query: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Can be one of `public`, `private`, or `internal`. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + }; + }; + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/delete-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/restore-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/delete-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/restore-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/create-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 415: components["responses"]["preview_header_missing"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** Name of the project */ + name: string; + /** Body of the project */ + body?: string | null; + }; + }; + }; + }; + /** Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ + "users/list-public-emails-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + "repos/list-for-authenticated-user": { + parameters: { + query: { + /** Can be one of `all`, `public`, or `private`. Note: For GitHub AE, can be one of `all`, `internal`, or `private`. */ + visibility?: "all" | "public" | "private"; + /** + * Comma-separated list of values. Can include: + * \* `owner`: Repositories that are owned by the authenticated user. + * \* `collaborator`: Repositories that the user has been added to as a collaborator. + * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + affiliation?: string; + /** + * Can be one of `all`, `owner`, `public`, `private`, `member`. Note: For GitHub AE, can be one of `all`, `owner`, `internal`, `private`, `member`. Default: `all` + * + * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. + */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** Can be one of `created`, `updated`, `pushed`, `full_name`. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` */ + direction?: "asc" | "desc"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + "repos/create-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The name of the repository. */ + name: string; + /** A short description of the repository. */ + description?: string; + /** A URL with more information about the repository. */ + homepage?: string; + /** Whether the repository is private. */ + private?: boolean; + /** Whether issues are enabled. */ + has_issues?: boolean; + /** Whether projects are enabled. */ + has_projects?: boolean; + /** Whether the wiki is enabled. */ + has_wiki?: boolean; + /** The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** Whether the repository is initialized with a minimal README. */ + auto_init?: boolean; + /** The desired language or platform to apply to the .gitignore. */ + gitignore_template?: string; + /** The license keyword of the open source license for this repository. */ + license_template?: string; + /** Whether to allow squash merges for pull requests. */ + allow_squash_merge?: boolean; + /** Whether to allow merge commits for pull requests. */ + allow_merge_commit?: boolean; + /** Whether to allow rebase merges for pull requests. */ + allow_rebase_merge?: boolean; + /** Whether to allow Auto-merge to be used on pull requests. */ + allow_auto_merge?: boolean; + /** Whether to delete head branches when pull requests are merged */ + delete_branch_on_merge?: boolean; + /** Whether downloads are enabled. */ + has_downloads?: boolean; + /** Whether this repository acts as a template that can be used to generate new repositories. */ + is_template?: boolean; + }; + }; + }; + }; + /** When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ + "repos/list-invitations-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/decline-invitation-for-authenticated-user": { + parameters: { + path: { + /** invitation_id parameter */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "repos/accept-invitation-for-authenticated-user": { + parameters: { + path: { + /** invitation_id parameter */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-repos-starred-by-authenticated-user": { + parameters: { + query: { + /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ + sort?: components["parameters"]["sort"]; + /** One of `asc` (ascending) or `desc` (descending). */ + direction?: components["parameters"]["direction"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/check-repo-is-starred-by-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response if this repository is starred by you */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** Not Found if this repository is not starred by you */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + "activity/star-repo-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/unstar-repo-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists repositories the authenticated user is watching. */ + "activity/list-watched-repos-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). */ + "teams/list-for-authenticated-user": { + parameters: { + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-full"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + */ + "users/list": { + parameters: { + query: { + /** A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + */ + "users/get-by-username": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 202: components["responses"]["accepted"]; + 404: components["responses"]["not_found"]; + }; + }; + /** If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ + "activity/list-events-for-authenticated-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** This is the user's organization dashboard. You must be authenticated as the user to view this. */ + "activity/list-org-events-for-authenticated-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + org: components["parameters"]["org"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-public-events-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** Lists the people following the specified user. */ + "users/list-followers-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** Lists the people who the specified user follows. */ + "users/list-following-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "users/check-following-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + target_user: string; + }; + }; + responses: { + /** if the user follows the target user */ + 204: never; + /** if the user does not follow the target user */ + 404: unknown; + }; + }; + /** Lists public gists for the specified user: */ + "gists/list-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Lists the GPG keys for a user. This information is accessible by anyone. */ + "users/list-gpg-keys-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + }; + }; + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + "users/get-context-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ + subject_id?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hovercard"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-user-installation": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + /** Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ + "users/list-public-keys-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["key-simple"][]; + }; + }; + }; + }; + /** + * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + "orgs/list-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-user": { + parameters: { + query: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Can be one of `public`, `private`, or `internal`. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-for-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-for-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/list-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ + "activity/list-received-events-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-received-public-events-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ + "repos/list-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Can be one of `all`, `owner`, `member`. */ + type?: "all" | "owner" | "member"; + /** Can be one of `created`, `updated`, `pushed`, `full_name`. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` */ + direction?: "asc" | "desc"; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + "billing/get-github-actions-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + "billing/get-github-packages-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + "billing/get-shared-storage-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** + * Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-repos-starred-by-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ + sort?: components["parameters"]["sort"]; + /** One of `asc` (ascending) or `desc` (descending). */ + direction?: components["parameters"]["direction"]; + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": Partial< + components["schemas"]["starred-repository"][] + > & + Partial; + }; + }; + }; + }; + /** Lists repositories a user is watching. */ + "activity/list-repos-watched-by-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** Get a random sentence from the Zen of GitHub */ + "meta/get-zen": { + responses: { + /** Response */ + 200: { + content: { + "text/plain": string; + }; + }; + }; + }; + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + base: string; + head: string; + }; + query: { + /** Results per page (max 100) */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * **Deprecated:** use `apps.createContentAttachmentForRepo()` (`POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments`) instead. Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://docs.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/create-content-attachment": { + parameters: { + path: { + content_reference_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-reference-attachment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 415: components["responses"]["preview_header_missing"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** The title of the attachment */ + title: string; + /** The body of the attachment */ + body: string; + }; + }; + }; + }; + /** + * Returns the contents of the repository's code of conduct file, if one is detected. + * + * A code of conduct is detected if there is a file named `CODE_OF_CONDUCT` in the root directory of the repository. GitHub detects which code of conduct it is using fuzzy matching. + */ + "codes-of-conduct/get-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + }; + }; +} + +export interface external {} diff --git a/node_modules/@octokit/plugin-paginate-rest/LICENSE b/node_modules/@octokit/plugin-paginate-rest/LICENSE new file mode 100644 index 00000000..57bee5f1 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@octokit/plugin-paginate-rest/README.md b/node_modules/@octokit/plugin-paginate-rest/README.md new file mode 100644 index 00000000..ddd5f7d7 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/README.md @@ -0,0 +1,269 @@ +# plugin-paginate-rest.js + +> Octokit plugin to paginate REST API endpoint responses + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-paginate-rest.svg)](https://www.npmjs.com/package/@octokit/plugin-paginate-rest) +[![Build Status](https://github.com/octokit/plugin-paginate-rest.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-paginate-rest.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-paginate-rest` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-paginate-rest`. Optionally replace `@octokit/core` with a core-compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { + paginateRest, + composePaginateRest, +} = require("@octokit/plugin-paginate-rest"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(paginateRest); +const octokit = new MyOctokit({ auth: "secret123" }); + +// See https://developer.github.com/v3/issues/#list-issues-for-a-repository +const issues = await octokit.paginate("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}); +``` + +If you want to utilize the pagination methods in another plugin, use `composePaginateRest`. + +```js +function myPlugin(octokit, options) { + return { + allStars({owner, repo}) => { + return composePaginateRest( + octokit, + "GET /repos/{owner}/{repo}/stargazers", + {owner, repo } + ) + } + } +} +``` + +## `octokit.paginate()` + +The `paginateRest` plugin adds a new `octokit.paginate()` method which accepts the same parameters as [`octokit.request`](https://github.com/octokit/request.js#request). Only "List ..." endpoints such as [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) are supporting pagination. Their [response includes a Link header](https://developer.github.com/v3/issues/#response-1). For other endpoints, `octokit.paginate()` behaves the same as `octokit.request()`. + +The `per_page` parameter is usually defaulting to `30`, and can be set to up to `100`, which helps retrieving a big amount of data without hitting the rate limits too soon. + +An optional `mapFunction` can be passed to map each page response to a new value, usually an array with only the data you need. This can help to reduce memory usage, as only the relevant data has to be kept in memory until the pagination is complete. + +```js +const issueTitles = await octokit.paginate( + "GET /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, + }, + (response) => response.data.map((issue) => issue.title) +); +``` + +The `mapFunction` gets a 2nd argument `done` which can be called to end the pagination early. + +```js +const issues = await octokit.paginate( + "GET /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, + }, + (response, done) => { + if (response.data.find((issues) => issue.title.includes("something"))) { + done(); + } + return response.data; + } +); +``` + +Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): + +```js +const issues = await octokit.paginate(octokit.rest.issues.listForRepo, { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}); +``` + +## `octokit.paginate.iterator()` + +If your target runtime environments supports async iterators (such as most modern browsers and Node 10+), you can iterate through each response + +```js +const parameters = { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}; +for await (const response of octokit.paginate.iterator( + "GET /repos/{owner}/{repo}/issues", + parameters +)) { + // do whatever you want with each response, break out of the loop, etc. + const issues = response.data; + console.log("%d issues found", issues.length); +} +``` + +Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): + +```js +const parameters = { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}; +for await (const response of octokit.paginate.iterator( + octokit.rest.issues.listForRepo, + parameters +)) { + // do whatever you want with each response, break out of the loop, etc. + const issues = response.data; + console.log("%d issues found", issues.length); +} +``` + +## `composePaginateRest` and `composePaginateRest.iterator` + +The `compose*` methods work just like their `octokit.*` counterparts described above, with the differenct that both methods require an `octokit` instance to be passed as first argument + +## How it works + +`octokit.paginate()` wraps `octokit.request()`. As long as a `rel="next"` link value is present in the response's `Link` header, it sends another request for that URL, and so on. + +Most of GitHub's paginating REST API endpoints return an array, but there are a few exceptions which return an object with a key that includes the items array. For example: + +- [Search repositories](https://developer.github.com/v3/search/#example) (key `items`) +- [List check runs for a specific ref](https://developer.github.com/v3/checks/runs/#response-3) (key: `check_runs`) +- [List check suites for a specific ref](https://developer.github.com/v3/checks/suites/#response-1) (key: `check_suites`) +- [List repositories](https://developer.github.com/v3/apps/installations/#list-repositories) for an installation (key: `repositories`) +- [List installations for a user](https://developer.github.com/v3/apps/installations/#response-1) (key `installations`) + +`octokit.paginate()` is working around these inconsistencies so you don't have to worry about it. + +If a response is lacking the `Link` header, `octokit.paginate()` still resolves with an array, even if the response returns a single object. + +## Types + +The plugin also exposes some types and runtime type guards for TypeScript projects. + + + + + + +
+Types + + +```typescript +import { + PaginateInterface, + PaginatingEndpoints, +} from "@octokit/plugin-paginate-rest"; +``` + +
+Guards + + +```typescript +import { isPaginatingEndpoint } from "@octokit/plugin-paginate-rest"; +``` + +
+ +### PaginateInterface + +An `interface` that declares all the overloads of the `.paginate` method. + +### PaginatingEndpoints + +An `interface` which describes all API endpoints supported by the plugin. Some overloads of `.paginate()` method and `composePaginateRest()` function depend on `PaginatingEndpoints`, using the `keyof PaginatingEndpoints` as a type for one of its arguments. + +```typescript +import { Octokit } from "@octokit/core"; +import { + PaginatingEndpoints, + composePaginateRest, +} from "@octokit/plugin-paginate-rest"; + +type DataType = "data" extends keyof T ? T["data"] : unknown; + +async function myPaginatePlugin( + octokit: Octokit, + endpoint: E, + parameters?: PaginatingEndpoints[E]["parameters"] +): Promise> { + return await composePaginateRest(octokit, endpoint, parameters); +} +``` + +### isPaginatingEndpoint + +A type guard, `isPaginatingEndpoint(arg)` returns `true` if `arg` is one of the keys in `PaginatingEndpoints` (is `keyof PaginatingEndpoints`). + +```typescript +import { Octokit } from "@octokit/core"; +import { + isPaginatingEndpoint, + composePaginateRest, +} from "@octokit/plugin-paginate-rest"; + +async function myPlugin(octokit: Octokit, arg: unknown) { + if (isPaginatingEndpoint(arg)) { + return await composePaginateRest(octokit, arg); + } + // ... +} +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js new file mode 100644 index 00000000..e87e199a --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js @@ -0,0 +1,217 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "2.17.0"; + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + + if (enumerableOnly) { + symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + } + + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return _objectSpread2(_objectSpread2({}, response), {}, { + data: [] + }); + } + + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + + response.data.total_count = totalCount; + return response; +} + +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) return { + done: true + }; + + try { + const response = await requestMethod({ + method, + url, + headers + }); + const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { + value: normalizedResponse + }; + } catch (error) { + if (error.status !== 409) throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } + + }) + }; +} + +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} + +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then(result => { + if (result.done) { + return results; + } + + let earlyExit = false; + + function done() { + earlyExit = true; + } + + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + + if (earlyExit) { + return results; + } + + return gather(octokit, results, iterator, mapFn); + }); +} + +const composePaginateRest = Object.assign(paginate, { + iterator +}); + +const paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /applications/grants", "GET /authorizations", "GET /enterprises/{enterprise}/actions/permissions/organizations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "GET /enterprises/{enterprise}/actions/runners", "GET /enterprises/{enterprise}/actions/runners/downloads", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/runners/downloads", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/blocks", "GET /orgs/{org}/credential-authorizations", "GET /orgs/{org}/events", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/team-sync/groups", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runners/downloads", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/autolinks", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/teams", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /scim/v2/enterprises/{enterprise}/Groups", "GET /scim/v2/enterprises/{enterprise}/Users", "GET /scim/v2/organizations/{org}/Users", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/team-sync/group-mappings", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"]; + +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ + +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; + +exports.composePaginateRest = composePaginateRest; +exports.isPaginatingEndpoint = isPaginatingEndpoint; +exports.paginateRest = paginateRest; +exports.paginatingEndpoints = paginatingEndpoints; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map new file mode 100644 index 00000000..b94e9e63 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/compose-paginate.js","../dist-src/generated/paginating-endpoints.js","../dist-src/paginating-endpoints.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"2.17.0\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nexport function normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return {\n ...response,\n data: [],\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = typeof route === \"function\"\n ? route.endpoint(parameters)\n : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: normalizedResponse };\n }\n catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: [],\n },\n };\n }\n },\n }),\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport const composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n","export const paginatingEndpoints = [\n \"GET /app/hook/deliveries\",\n \"GET /app/installations\",\n \"GET /applications/grants\",\n \"GET /authorizations\",\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /enterprises/{enterprise}/actions/runners\",\n \"GET /enterprises/{enterprise}/actions/runners/downloads\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runner-groups\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/runners/downloads\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/credential-authorizations\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/team-sync/groups\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/autolinks\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repositories\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /scim/v2/enterprises/{enterprise}/Groups\",\n \"GET /scim/v2/enterprises/{enterprise}/Users\",\n \"GET /scim/v2/organizations/{org}/Users\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/team-sync/group-mappings\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\",\n];\n","import { paginatingEndpoints, } from \"./generated/paginating-endpoints\";\nexport { paginatingEndpoints } from \"./generated/paginating-endpoints\";\nexport function isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n }\n else {\n return false;\n }\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport { composePaginateRest } from \"./compose-paginate\";\nexport { isPaginatingEndpoint, paginatingEndpoints, } from \"./paginating-endpoints\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit),\n }),\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":["VERSION","normalizePaginatedListResponse","response","data","responseNeedsNormalization","incompleteResults","incomplete_results","repositorySelection","repository_selection","totalCount","total_count","namespaceKey","Object","keys","iterator","octokit","route","parameters","options","endpoint","request","requestMethod","method","headers","url","Symbol","asyncIterator","next","done","normalizedResponse","link","match","value","error","status","paginate","mapFn","undefined","gather","results","then","result","earlyExit","concat","composePaginateRest","assign","paginatingEndpoints","isPaginatingEndpoint","arg","includes","paginateRest","bind"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,AAAO,SAASC,8BAAT,CAAwCC,QAAxC,EAAkD;AACrD;AACA,MAAI,CAACA,QAAQ,CAACC,IAAd,EAAoB;AAChB,6CACOD,QADP;AAEIC,MAAAA,IAAI,EAAE;AAFV;AAIH;;AACD,QAAMC,0BAA0B,GAAG,iBAAiBF,QAAQ,CAACC,IAA1B,IAAkC,EAAE,SAASD,QAAQ,CAACC,IAApB,CAArE;AACA,MAAI,CAACC,0BAAL,EACI,OAAOF,QAAP,CAViD;AAYrD;;AACA,QAAMG,iBAAiB,GAAGH,QAAQ,CAACC,IAAT,CAAcG,kBAAxC;AACA,QAAMC,mBAAmB,GAAGL,QAAQ,CAACC,IAAT,CAAcK,oBAA1C;AACA,QAAMC,UAAU,GAAGP,QAAQ,CAACC,IAAT,CAAcO,WAAjC;AACA,SAAOR,QAAQ,CAACC,IAAT,CAAcG,kBAArB;AACA,SAAOJ,QAAQ,CAACC,IAAT,CAAcK,oBAArB;AACA,SAAON,QAAQ,CAACC,IAAT,CAAcO,WAArB;AACA,QAAMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYX,QAAQ,CAACC,IAArB,EAA2B,CAA3B,CAArB;AACA,QAAMA,IAAI,GAAGD,QAAQ,CAACC,IAAT,CAAcQ,YAAd,CAAb;AACAT,EAAAA,QAAQ,CAACC,IAAT,GAAgBA,IAAhB;;AACA,MAAI,OAAOE,iBAAP,KAA6B,WAAjC,EAA8C;AAC1CH,IAAAA,QAAQ,CAACC,IAAT,CAAcG,kBAAd,GAAmCD,iBAAnC;AACH;;AACD,MAAI,OAAOE,mBAAP,KAA+B,WAAnC,EAAgD;AAC5CL,IAAAA,QAAQ,CAACC,IAAT,CAAcK,oBAAd,GAAqCD,mBAArC;AACH;;AACDL,EAAAA,QAAQ,CAACC,IAAT,CAAcO,WAAd,GAA4BD,UAA5B;AACA,SAAOP,QAAP;AACH;;AC7CM,SAASY,QAAT,CAAkBC,OAAlB,EAA2BC,KAA3B,EAAkCC,UAAlC,EAA8C;AACjD,QAAMC,OAAO,GAAG,OAAOF,KAAP,KAAiB,UAAjB,GACVA,KAAK,CAACG,QAAN,CAAeF,UAAf,CADU,GAEVF,OAAO,CAACK,OAAR,CAAgBD,QAAhB,CAAyBH,KAAzB,EAAgCC,UAAhC,CAFN;AAGA,QAAMI,aAAa,GAAG,OAAOL,KAAP,KAAiB,UAAjB,GAA8BA,KAA9B,GAAsCD,OAAO,CAACK,OAApE;AACA,QAAME,MAAM,GAAGJ,OAAO,CAACI,MAAvB;AACA,QAAMC,OAAO,GAAGL,OAAO,CAACK,OAAxB;AACA,MAAIC,GAAG,GAAGN,OAAO,CAACM,GAAlB;AACA,SAAO;AACH,KAACC,MAAM,CAACC,aAAR,GAAwB,OAAO;AAC3B,YAAMC,IAAN,GAAa;AACT,YAAI,CAACH,GAAL,EACI,OAAO;AAAEI,UAAAA,IAAI,EAAE;AAAR,SAAP;;AACJ,YAAI;AACA,gBAAM1B,QAAQ,GAAG,MAAMmB,aAAa,CAAC;AAAEC,YAAAA,MAAF;AAAUE,YAAAA,GAAV;AAAeD,YAAAA;AAAf,WAAD,CAApC;AACA,gBAAMM,kBAAkB,GAAG5B,8BAA8B,CAACC,QAAD,CAAzD,CAFA;AAIA;AACA;;AACAsB,UAAAA,GAAG,GAAG,CAAC,CAACK,kBAAkB,CAACN,OAAnB,CAA2BO,IAA3B,IAAmC,EAApC,EAAwCC,KAAxC,CAA8C,yBAA9C,KAA4E,EAA7E,EAAiF,CAAjF,CAAN;AACA,iBAAO;AAAEC,YAAAA,KAAK,EAAEH;AAAT,WAAP;AACH,SARD,CASA,OAAOI,KAAP,EAAc;AACV,cAAIA,KAAK,CAACC,MAAN,KAAiB,GAArB,EACI,MAAMD,KAAN;AACJT,UAAAA,GAAG,GAAG,EAAN;AACA,iBAAO;AACHQ,YAAAA,KAAK,EAAE;AACHE,cAAAA,MAAM,EAAE,GADL;AAEHX,cAAAA,OAAO,EAAE,EAFN;AAGHpB,cAAAA,IAAI,EAAE;AAHH;AADJ,WAAP;AAOH;AACJ;;AAzB0B,KAAP;AADrB,GAAP;AA6BH;;ACrCM,SAASgC,QAAT,CAAkBpB,OAAlB,EAA2BC,KAA3B,EAAkCC,UAAlC,EAA8CmB,KAA9C,EAAqD;AACxD,MAAI,OAAOnB,UAAP,KAAsB,UAA1B,EAAsC;AAClCmB,IAAAA,KAAK,GAAGnB,UAAR;AACAA,IAAAA,UAAU,GAAGoB,SAAb;AACH;;AACD,SAAOC,MAAM,CAACvB,OAAD,EAAU,EAAV,EAAcD,QAAQ,CAACC,OAAD,EAAUC,KAAV,EAAiBC,UAAjB,CAAR,CAAqCQ,MAAM,CAACC,aAA5C,GAAd,EAA4EU,KAA5E,CAAb;AACH;;AACD,SAASE,MAAT,CAAgBvB,OAAhB,EAAyBwB,OAAzB,EAAkCzB,QAAlC,EAA4CsB,KAA5C,EAAmD;AAC/C,SAAOtB,QAAQ,CAACa,IAAT,GAAgBa,IAAhB,CAAsBC,MAAD,IAAY;AACpC,QAAIA,MAAM,CAACb,IAAX,EAAiB;AACb,aAAOW,OAAP;AACH;;AACD,QAAIG,SAAS,GAAG,KAAhB;;AACA,aAASd,IAAT,GAAgB;AACZc,MAAAA,SAAS,GAAG,IAAZ;AACH;;AACDH,IAAAA,OAAO,GAAGA,OAAO,CAACI,MAAR,CAAeP,KAAK,GAAGA,KAAK,CAACK,MAAM,CAACT,KAAR,EAAeJ,IAAf,CAAR,GAA+Ba,MAAM,CAACT,KAAP,CAAa7B,IAAhE,CAAV;;AACA,QAAIuC,SAAJ,EAAe;AACX,aAAOH,OAAP;AACH;;AACD,WAAOD,MAAM,CAACvB,OAAD,EAAUwB,OAAV,EAAmBzB,QAAnB,EAA6BsB,KAA7B,CAAb;AACH,GAbM,CAAP;AAcH;;MCrBYQ,mBAAmB,GAAGhC,MAAM,CAACiC,MAAP,CAAcV,QAAd,EAAwB;AACvDrB,EAAAA;AADuD,CAAxB,CAA5B;;MCFMgC,mBAAmB,GAAG,CAC/B,0BAD+B,EAE/B,wBAF+B,EAG/B,0BAH+B,EAI/B,qBAJ+B,EAK/B,iEAL+B,EAM/B,qDAN+B,EAO/B,qFAP+B,EAQ/B,+EAR+B,EAS/B,+CAT+B,EAU/B,yDAV+B,EAW/B,aAX+B,EAY/B,YAZ+B,EAa/B,mBAb+B,EAc/B,oBAd+B,EAe/B,+BAf+B,EAgB/B,8BAhB+B,EAiB/B,4BAjB+B,EAkB/B,gCAlB+B,EAmB/B,aAnB+B,EAoB/B,gCApB+B,EAqB/B,mDArB+B,EAsB/B,wCAtB+B,EAuB/B,2DAvB+B,EAwB/B,qCAxB+B,EAyB/B,oBAzB+B,EA0B/B,oBA1B+B,EA2B/B,kDA3B+B,EA4B/B,uCA5B+B,EA6B/B,sEA7B+B,EA8B/B,iEA9B+B,EA+B/B,iCA/B+B,EAgC/B,2CAhC+B,EAiC/B,iCAjC+B,EAkC/B,4DAlC+B,EAmC/B,wBAnC+B,EAoC/B,2CApC+B,EAqC/B,wBArC+B,EAsC/B,oCAtC+B,EAuC/B,uBAvC+B,EAwC/B,4CAxC+B,EAyC/B,+BAzC+B,EA0C/B,6BA1C+B,EA2C/B,mDA3C+B,EA4C/B,wBA5C+B,EA6C/B,yBA7C+B,EA8C/B,4BA9C+B,EA+C/B,wDA/C+B,EAgD/B,uCAhD+B,EAiD/B,0BAjD+B,EAkD/B,0BAlD+B,EAmD/B,gCAnD+B,EAoD/B,uBApD+B,EAqD/B,wCArD+B,EAsD/B,kCAtD+B,EAuD/B,uBAvD+B,EAwD/B,+CAxD+B,EAyD/B,4EAzD+B,EA0D/B,uGA1D+B,EA2D/B,6EA3D+B,EA4D/B,+CA5D+B,EA6D/B,2CA7D+B,EA8D/B,4CA9D+B,EA+D/B,yCA/D+B,EAgE/B,4DAhE+B,EAiE/B,yCAjE+B,EAkE/B,yCAlE+B,EAmE/B,0CAnE+B,EAoE/B,oCApE+B,EAqE/B,6CArE+B,EAsE/B,2CAtE+B,EAuE/B,qDAvE+B,EAwE/B,wCAxE+B,EAyE/B,2DAzE+B,EA0E/B,gFA1E+B,EA2E/B,sDA3E+B,EA4E/B,2CA5E+B,EA6E/B,6CA7E+B,EA8E/B,gEA9E+B,EA+E/B,qCA/E+B,EAgF/B,qCAhF+B,EAiF/B,oCAjF+B,EAkF/B,iEAlF+B,EAmF/B,oEAnF+B,EAoF/B,gDApF+B,EAqF/B,yEArF+B,EAsF/B,kDAtF+B,EAuF/B,yCAvF+B,EAwF/B,oCAxF+B,EAyF/B,2DAzF+B,EA0F/B,mCA1F+B,EA2F/B,oEA3F+B,EA4F/B,yDA5F+B,EA6F/B,sDA7F+B,EA8F/B,oDA9F+B,EA+F/B,sDA/F+B,EAgG/B,kDAhG+B,EAiG/B,wCAjG+B,EAkG/B,uCAlG+B,EAmG/B,gEAnG+B,EAoG/B,kCApG+B,EAqG/B,iCArG+B,EAsG/B,mDAtG+B,EAuG/B,iCAvG+B,EAwG/B,sDAxG+B,EAyG/B,uCAzG+B,EA0G/B,kCA1G+B,EA2G/B,2CA3G+B,EA4G/B,kEA5G+B,EA6G/B,yCA7G+B,EA8G/B,0DA9G+B,EA+G/B,wDA/G+B,EAgH/B,wDAhH+B,EAiH/B,2DAjH+B,EAkH/B,0DAlH+B,EAmH/B,gCAnH+B,EAoH/B,kCApH+B,EAqH/B,sCArH+B,EAsH/B,gEAtH+B,EAuH/B,yCAvH+B,EAwH/B,wCAxH+B,EAyH/B,oCAzH+B,EA0H/B,iCA1H+B,EA2H/B,0CA3H+B,EA4H/B,iEA5H+B,EA6H/B,wDA7H+B,EA8H/B,uDA9H+B,EA+H/B,qDA/H+B,EAgI/B,mEAhI+B,EAiI/B,uDAjI+B,EAkI/B,4EAlI+B,EAmI/B,oCAnI+B,EAoI/B,wDApI+B,EAqI/B,kDArI+B,EAsI/B,sCAtI+B,EAuI/B,uCAvI+B,EAwI/B,gCAxI+B,EAyI/B,iCAzI+B,EA0I/B,mBA1I+B,EA2I/B,2EA3I+B,EA4I/B,8CA5I+B,EA6I/B,6CA7I+B,EA8I/B,wCA9I+B,EA+I/B,kBA/I+B,EAgJ/B,qBAhJ+B,EAiJ/B,oBAjJ+B,EAkJ/B,oBAlJ+B,EAmJ/B,0BAnJ+B,EAoJ/B,oBApJ+B,EAqJ/B,mBArJ+B,EAsJ/B,kCAtJ+B,EAuJ/B,+DAvJ+B,EAwJ/B,0FAxJ+B,EAyJ/B,gEAzJ+B,EA0J/B,kCA1J+B,EA2J/B,8BA3J+B,EA4J/B,+BA5J+B,EA6J/B,4BA7J+B,EA8J/B,+CA9J+B,EA+J/B,4BA/J+B,EAgK/B,kBAhK+B,EAiK/B,kBAjK+B,EAkK/B,qBAlK+B,EAmK/B,qBAnK+B,EAoK/B,oBApK+B,EAqK/B,yBArK+B,EAsK/B,wDAtK+B,EAuK/B,kBAvK+B,EAwK/B,gBAxK+B,EAyK/B,iCAzK+B,EA0K/B,yCA1K+B,EA2K/B,4BA3K+B,EA4K/B,sBA5K+B,EA6K/B,kDA7K+B,EA8K/B,gBA9K+B,EA+K/B,oBA/K+B,EAgL/B,yBAhL+B,EAiL/B,iBAjL+B,EAkL/B,kCAlL+B,EAmL/B,mBAnL+B,EAoL/B,yBApL+B,EAqL/B,iBArL+B,EAsL/B,YAtL+B,EAuL/B,8BAvL+B,EAwL/B,yCAxL+B,EAyL/B,qCAzL+B,EA0L/B,iCA1L+B,EA2L/B,iCA3L+B,EA4L/B,6BA5L+B,EA6L/B,gCA7L+B,EA8L/B,4BA9L+B,EA+L/B,4BA/L+B,EAgM/B,gCAhM+B,EAiM/B,gCAjM+B,EAkM/B,uCAlM+B,EAmM/B,8CAnM+B,EAoM/B,6BApM+B,EAqM/B,+BArM+B,EAsM/B,qCAtM+B,CAA5B;;ACEA,SAASC,oBAAT,CAA8BC,GAA9B,EAAmC;AACtC,MAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AACzB,WAAOF,mBAAmB,CAACG,QAApB,CAA6BD,GAA7B,CAAP;AACH,GAFD,MAGK;AACD,WAAO,KAAP;AACH;AACJ;;ACJD;AACA;AACA;AACA;;AACA,AAAO,SAASE,YAAT,CAAsBnC,OAAtB,EAA+B;AAClC,SAAO;AACHoB,IAAAA,QAAQ,EAAEvB,MAAM,CAACiC,MAAP,CAAcV,QAAQ,CAACgB,IAAT,CAAc,IAAd,EAAoBpC,OAApB,CAAd,EAA4C;AAClDD,MAAAA,QAAQ,EAAEA,QAAQ,CAACqC,IAAT,CAAc,IAAd,EAAoBpC,OAApB;AADwC,KAA5C;AADP,GAAP;AAKH;AACDmC,YAAY,CAAClD,OAAb,GAAuBA,OAAvB;;;;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js new file mode 100644 index 00000000..09ca53f6 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js @@ -0,0 +1,5 @@ +import { paginate } from "./paginate"; +import { iterator } from "./iterator"; +export const composePaginateRest = Object.assign(paginate, { + iterator, +}); diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js new file mode 100644 index 00000000..c8c65cab --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js @@ -0,0 +1,200 @@ +export const paginatingEndpoints = [ + "GET /app/hook/deliveries", + "GET /app/installations", + "GET /applications/grants", + "GET /authorizations", + "GET /enterprises/{enterprise}/actions/permissions/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", + "GET /enterprises/{enterprise}/actions/runners", + "GET /enterprises/{enterprise}/actions/runners/downloads", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runner-groups", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/runners/downloads", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/credential-authorizations", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/team-sync/groups", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runners/downloads", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/autolinks", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /scim/v2/enterprises/{enterprise}/Groups", + "GET /scim/v2/enterprises/{enterprise}/Users", + "GET /scim/v2/organizations/{org}/Users", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/team-sync/group-mappings", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions", +]; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js new file mode 100644 index 00000000..5ba74def --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js @@ -0,0 +1,17 @@ +import { VERSION } from "./version"; +import { paginate } from "./paginate"; +import { iterator } from "./iterator"; +export { composePaginateRest } from "./compose-paginate"; +export { isPaginatingEndpoint, paginatingEndpoints, } from "./paginating-endpoints"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit), + }), + }; +} +paginateRest.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js new file mode 100644 index 00000000..7f9ee644 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js @@ -0,0 +1,39 @@ +import { normalizePaginatedListResponse } from "./normalize-paginated-list-response"; +export function iterator(octokit, route, parameters) { + const options = typeof route === "function" + ? route.endpoint(parameters) + : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) + return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { value: normalizedResponse }; + } + catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [], + }, + }; + } + }, + }), + }; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js new file mode 100644 index 00000000..a87028b1 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js @@ -0,0 +1,47 @@ +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +export function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return { + ...response, + data: [], + }; + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) + return response; + // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + return response; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js new file mode 100644 index 00000000..8d18a60f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js @@ -0,0 +1,24 @@ +import { iterator } from "./iterator"; +export function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then((result) => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator, mapFn); + }); +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js new file mode 100644 index 00000000..1e528993 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js @@ -0,0 +1,10 @@ +import { paginatingEndpoints, } from "./generated/paginating-endpoints"; +export { paginatingEndpoints } from "./generated/paginating-endpoints"; +export function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } + else { + return false; + } +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/types.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/types.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js new file mode 100644 index 00000000..4ad887d0 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "2.17.0"; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts new file mode 100644 index 00000000..38a7432f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts @@ -0,0 +1,2 @@ +import { ComposePaginateInterface } from "./types"; +export declare const composePaginateRest: ComposePaginateInterface; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts new file mode 100644 index 00000000..defff5e5 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts @@ -0,0 +1,1476 @@ +import { Endpoints } from "@octokit/types"; +export interface PaginatingEndpoints { + /** + * @see https://docs.github.com/rest/reference/apps#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": { + parameters: Endpoints["GET /app/hook/deliveries"]["parameters"]; + response: Endpoints["GET /app/hook/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app + */ + "GET /app/installations": { + parameters: Endpoints["GET /app/installations"]["parameters"]; + response: Endpoints["GET /app/installations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-grants + */ + "GET /applications/grants": { + parameters: Endpoints["GET /applications/grants"]["parameters"]; + response: Endpoints["GET /applications/grants"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations + */ + "GET /authorizations": { + parameters: Endpoints["GET /authorizations"]["parameters"]; + response: Endpoints["GET /authorizations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-selected-organizations-enabled-for-github-actions-in-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/organizations": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/permissions/organizations"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/permissions/organizations"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/actions/permissions/organizations"]["response"]["data"]["organizations"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups"]["response"]["data"]["runner_groups"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations"]["response"]["data"]["organizations"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-in-a-group-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/runners"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/runners"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/actions/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-runner-applications-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/downloads": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/runners/downloads"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/runners/downloads"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events + */ + "GET /events": { + parameters: Endpoints["GET /events"]["parameters"]; + response: Endpoints["GET /events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-gists-for-the-authenticated-user + */ + "GET /gists": { + parameters: Endpoints["GET /gists"]["parameters"]; + response: Endpoints["GET /gists"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-public-gists + */ + "GET /gists/public": { + parameters: Endpoints["GET /gists/public"]["parameters"]; + response: Endpoints["GET /gists/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-starred-gists + */ + "GET /gists/starred": { + parameters: Endpoints["GET /gists/starred"]["parameters"]; + response: Endpoints["GET /gists/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-comments + */ + "GET /gists/{gist_id}/comments": { + parameters: Endpoints["GET /gists/{gist_id}/comments"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-commits + */ + "GET /gists/{gist_id}/commits": { + parameters: Endpoints["GET /gists/{gist_id}/commits"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-forks + */ + "GET /gists/{gist_id}/forks": { + parameters: Endpoints["GET /gists/{gist_id}/forks"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/forks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-app-installation + */ + "GET /installation/repositories": { + parameters: Endpoints["GET /installation/repositories"]["parameters"]; + response: Endpoints["GET /installation/repositories"]["response"] & { + data: Endpoints["GET /installation/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": { + parameters: Endpoints["GET /issues"]["parameters"]; + response: Endpoints["GET /issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans + */ + "GET /marketplace_listing/plans": { + parameters: Endpoints["GET /marketplace_listing/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/{plan_id}/accounts": { + parameters: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": { + parameters: Endpoints["GET /marketplace_listing/stubbed/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": { + parameters: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-network-of-repositories + */ + "GET /networks/{owner}/{repo}/events": { + parameters: Endpoints["GET /networks/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /networks/{owner}/{repo}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user + */ + "GET /notifications": { + parameters: Endpoints["GET /notifications"]["parameters"]; + response: Endpoints["GET /notifications"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations + */ + "GET /organizations": { + parameters: Endpoints["GET /organizations"]["parameters"]; + response: Endpoints["GET /organizations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups": { + parameters: Endpoints["GET /orgs/{org}/actions/runner-groups"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runner-groups"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/runner-groups"]["response"]["data"]["runner_groups"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + parameters: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/runners": { + parameters: Endpoints["GET /orgs/{org}/actions/runners"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-organization + */ + "GET /orgs/{org}/actions/runners/downloads": { + parameters: Endpoints["GET /orgs/{org}/actions/runners/downloads"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners/downloads"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-organization-secrets + */ + "GET /orgs/{org}/actions/secrets": { + parameters: Endpoints["GET /orgs/{org}/actions/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks": { + parameters: Endpoints["GET /orgs/{org}/blocks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/blocks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-saml-sso-authorizations-for-an-organization + */ + "GET /orgs/{org}/credential-authorizations": { + parameters: Endpoints["GET /orgs/{org}/credential-authorizations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/credential-authorizations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-organization-events + */ + "GET /orgs/{org}/events": { + parameters: Endpoints["GET /orgs/{org}/events"]["parameters"]; + response: Endpoints["GET /orgs/{org}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations + */ + "GET /orgs/{org}/failed_invitations": { + parameters: Endpoints["GET /orgs/{org}/failed_invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/failed_invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-webhooks + */ + "GET /orgs/{org}/hooks": { + parameters: Endpoints["GET /orgs/{org}/hooks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": { + parameters: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-app-installations-for-an-organization + */ + "GET /orgs/{org}/installations": { + parameters: Endpoints["GET /orgs/{org}/installations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/installations"]["response"] & { + data: Endpoints["GET /orgs/{org}/installations"]["response"]["data"]["installations"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-pending-organization-invitations + */ + "GET /orgs/{org}/invitations": { + parameters: Endpoints["GET /orgs/{org}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-invitation-teams + */ + "GET /orgs/{org}/invitations/{invitation_id}/teams": { + parameters: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/{org}/issues": { + parameters: Endpoints["GET /orgs/{org}/issues"]["parameters"]; + response: Endpoints["GET /orgs/{org}/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-members + */ + "GET /orgs/{org}/members": { + parameters: Endpoints["GET /orgs/{org}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/migrations#list-organization-migrations + */ + "GET /orgs/{org}/migrations": { + parameters: Endpoints["GET /orgs/{org}/migrations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-in-an-organization-migration + */ + "GET /orgs/{org}/migrations/{migration_id}/repositories": { + parameters: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-outside-collaborators-for-an-organization + */ + "GET /orgs/{org}/outside_collaborators": { + parameters: Endpoints["GET /orgs/{org}/outside_collaborators"]["parameters"]; + response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-an-organization + */ + "GET /orgs/{org}/packages": { + parameters: Endpoints["GET /orgs/{org}/packages"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-organization-projects + */ + "GET /orgs/{org}/projects": { + parameters: Endpoints["GET /orgs/{org}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-public-organization-members + */ + "GET /orgs/{org}/public_members": { + parameters: Endpoints["GET /orgs/{org}/public_members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/public_members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-organization-repositories + */ + "GET /orgs/{org}/repos": { + parameters: Endpoints["GET /orgs/{org}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-by-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": { + parameters: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization + */ + "GET /orgs/{org}/team-sync/groups": { + parameters: Endpoints["GET /orgs/{org}/team-sync/groups"]["parameters"]; + response: Endpoints["GET /orgs/{org}/team-sync/groups"]["response"] & { + data: Endpoints["GET /orgs/{org}/team-sync/groups"]["response"]["data"]["groups"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-teams + */ + "GET /orgs/{org}/teams": { + parameters: Endpoints["GET /orgs/{org}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions + */ + "GET /orgs/{org}/teams/{team_slug}/discussions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations + */ + "GET /orgs/{org}/teams/{team_slug}/invitations": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members + */ + "GET /orgs/{org}/teams/{team_slug}/members": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-projects + */ + "GET /orgs/{org}/teams/{team_slug}/projects": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-repositories + */ + "GET /orgs/{org}/teams/{team_slug}/repos": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team + */ + "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings"]["response"] & { + data: Endpoints["GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings"]["response"]["data"]["groups"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-child-teams + */ + "GET /orgs/{org}/teams/{team_slug}/teams": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-cards + */ + "GET /projects/columns/{column_id}/cards": { + parameters: Endpoints["GET /projects/columns/{column_id}/cards"]["parameters"]; + response: Endpoints["GET /projects/columns/{column_id}/cards"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-collaborators + */ + "GET /projects/{project_id}/collaborators": { + parameters: Endpoints["GET /projects/{project_id}/collaborators"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-columns + */ + "GET /projects/{project_id}/columns": { + parameters: Endpoints["GET /projects/{project_id}/columns"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/columns"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-artifacts-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/artifacts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]["data"]["artifacts"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/downloads": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"]["data"]["workflow_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]["data"]["artifacts"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"]["data"]["jobs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]["data"]["jobs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/actions/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-workflows + */ + "GET /repos/{owner}/{repo}/actions/workflows": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"]["data"]["workflows"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"]["data"]["workflow_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-assignees + */ + "GET /repos/{owner}/{repo}/assignees": { + parameters: Endpoints["GET /repos/{owner}/{repo}/assignees"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/assignees"]["response"]; + }; + /** + * @see https://docs.github.com/v3/repos#list-autolinks + */ + "GET /repos/{owner}/{repo}/autolinks": { + parameters: Endpoints["GET /repos/{owner}/{repo}/autolinks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/autolinks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches + */ + "GET /repos/{owner}/{repo}/branches": { + parameters: Endpoints["GET /repos/{owner}/{repo}/branches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-run-annotations + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"]["data"]["check_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-collaborators + */ + "GET /repos/{owner}/{repo}/collaborators": { + parameters: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-commits + */ + "GET /repos/{owner}/{repo}/commits": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches-for-head-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-pull-requests-associated-with-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"]["data"]["check_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]["data"]["check_suites"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-contributors + */ + "GET /repos/{owner}/{repo}/contributors": { + parameters: Endpoints["GET /repos/{owner}/{repo}/contributors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployments + */ + "GET /repos/{owner}/{repo}/deployments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/deployments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployment-statuses + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-events + */ + "GET /repos/{owner}/{repo}/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-forks + */ + "GET /repos/{owner}/{repo}/forks": { + parameters: Endpoints["GET /repos/{owner}/{repo}/forks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/forks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/git#list-matching-references + */ + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": { + parameters: Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-webhooks + */ + "GET /repos/{owner}/{repo}/hooks": { + parameters: Endpoints["GET /repos/{owner}/{repo}/hooks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + parameters: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations + */ + "GET /repos/{owner}/{repo}/invitations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/invitations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-repository-issues + */ + "GET /repos/{owner}/{repo}/issues": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-deploy-keys + */ + "GET /repos/{owner}/{repo}/keys": { + parameters: Endpoints["GET /repos/{owner}/{repo}/keys"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-a-repository + */ + "GET /repos/{owner}/{repo}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-milestones + */ + "GET /repos/{owner}/{repo}/milestones": { + parameters: Endpoints["GET /repos/{owner}/{repo}/milestones"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-issues-in-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/notifications": { + parameters: Endpoints["GET /repos/{owner}/{repo}/notifications"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/notifications"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-github-pages-builds + */ + "GET /repos/{owner}/{repo}/pages/builds": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": { + parameters: Endpoints["GET /repos/{owner}/{repo}/projects"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests + */ + "GET /repos/{owner}/{repo}/pulls": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-in-a-repository + */ + "GET /repos/{owner}/{repo}/pulls/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-commits-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests-files + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-requested-reviewers-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]["data"]["users"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-reviews-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-comments-for-a-pull-request-review + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-releases + */ + "GET /repos/{owner}/{repo}/releases": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-release-assets + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-stargazers + */ + "GET /repos/{owner}/{repo}/stargazers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-watchers + */ + "GET /repos/{owner}/{repo}/subscribers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-tags + */ + "GET /repos/{owner}/{repo}/tags": { + parameters: Endpoints["GET /repos/{owner}/{repo}/tags"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-teams + */ + "GET /repos/{owner}/{repo}/teams": { + parameters: Endpoints["GET /repos/{owner}/{repo}/teams"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-public-repositories + */ + "GET /repositories": { + parameters: Endpoints["GET /repositories"]["parameters"]; + response: Endpoints["GET /repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-environment-secrets + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets": { + parameters: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["parameters"]; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"] & { + data: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim-groups-for-an-enterprise + */ + "GET /scim/v2/enterprises/{enterprise}/Groups": { + parameters: Endpoints["GET /scim/v2/enterprises/{enterprise}/Groups"]["parameters"]; + response: Endpoints["GET /scim/v2/enterprises/{enterprise}/Groups"]["response"] & { + data: Endpoints["GET /scim/v2/enterprises/{enterprise}/Groups"]["response"]["data"]["Resources"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-scim-provisioned-identities-for-an-enterprise + */ + "GET /scim/v2/enterprises/{enterprise}/Users": { + parameters: Endpoints["GET /scim/v2/enterprises/{enterprise}/Users"]["parameters"]; + response: Endpoints["GET /scim/v2/enterprises/{enterprise}/Users"]["response"] & { + data: Endpoints["GET /scim/v2/enterprises/{enterprise}/Users"]["response"]["data"]["Resources"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/scim#list-scim-provisioned-identities + */ + "GET /scim/v2/organizations/{org}/Users": { + parameters: Endpoints["GET /scim/v2/organizations/{org}/Users"]["parameters"]; + response: Endpoints["GET /scim/v2/organizations/{org}/Users"]["response"] & { + data: Endpoints["GET /scim/v2/organizations/{org}/Users"]["response"]["data"]["Resources"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-code + */ + "GET /search/code": { + parameters: Endpoints["GET /search/code"]["parameters"]; + response: Endpoints["GET /search/code"]["response"] & { + data: Endpoints["GET /search/code"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-commits + */ + "GET /search/commits": { + parameters: Endpoints["GET /search/commits"]["parameters"]; + response: Endpoints["GET /search/commits"]["response"] & { + data: Endpoints["GET /search/commits"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-issues-and-pull-requests + */ + "GET /search/issues": { + parameters: Endpoints["GET /search/issues"]["parameters"]; + response: Endpoints["GET /search/issues"]["response"] & { + data: Endpoints["GET /search/issues"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-labels + */ + "GET /search/labels": { + parameters: Endpoints["GET /search/labels"]["parameters"]; + response: Endpoints["GET /search/labels"]["response"] & { + data: Endpoints["GET /search/labels"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-repositories + */ + "GET /search/repositories": { + parameters: Endpoints["GET /search/repositories"]["parameters"]; + response: Endpoints["GET /search/repositories"]["response"] & { + data: Endpoints["GET /search/repositories"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-topics + */ + "GET /search/topics": { + parameters: Endpoints["GET /search/topics"]["parameters"]; + response: Endpoints["GET /search/topics"]["response"] & { + data: Endpoints["GET /search/topics"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-users + */ + "GET /search/users": { + parameters: Endpoints["GET /search/users"]["parameters"]; + response: Endpoints["GET /search/users"]["response"] & { + data: Endpoints["GET /search/users"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions-legacy + */ + "GET /teams/{team_id}/discussions": { + parameters: Endpoints["GET /teams/{team_id}/discussions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy + */ + "GET /teams/{team_id}/invitations": { + parameters: Endpoints["GET /teams/{team_id}/invitations"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members-legacy + */ + "GET /teams/{team_id}/members": { + parameters: Endpoints["GET /teams/{team_id}/members"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams/#list-team-projects-legacy + */ + "GET /teams/{team_id}/projects": { + parameters: Endpoints["GET /teams/{team_id}/projects"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams/#list-team-repositories-legacy + */ + "GET /teams/{team_id}/repos": { + parameters: Endpoints["GET /teams/{team_id}/repos"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team-legacy + */ + "GET /teams/{team_id}/team-sync/group-mappings": { + parameters: Endpoints["GET /teams/{team_id}/team-sync/group-mappings"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/team-sync/group-mappings"]["response"] & { + data: Endpoints["GET /teams/{team_id}/team-sync/group-mappings"]["response"]["data"]["groups"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/teams/#list-child-teams-legacy + */ + "GET /teams/{team_id}/teams": { + parameters: Endpoints["GET /teams/{team_id}/teams"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-users-blocked-by-the-authenticated-user + */ + "GET /user/blocks": { + parameters: Endpoints["GET /user/blocks"]["parameters"]; + response: Endpoints["GET /user/blocks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user + */ + "GET /user/emails": { + parameters: Endpoints["GET /user/emails"]["parameters"]; + response: Endpoints["GET /user/emails"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-the-authenticated-user + */ + "GET /user/followers": { + parameters: Endpoints["GET /user/followers"]["parameters"]; + response: Endpoints["GET /user/followers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-the-authenticated-user-follows + */ + "GET /user/following": { + parameters: Endpoints["GET /user/following"]["parameters"]; + response: Endpoints["GET /user/following"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-the-authenticated-user + */ + "GET /user/gpg_keys": { + parameters: Endpoints["GET /user/gpg_keys"]["parameters"]; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token + */ + "GET /user/installations": { + parameters: Endpoints["GET /user/installations"]["parameters"]; + response: Endpoints["GET /user/installations"]["response"] & { + data: Endpoints["GET /user/installations"]["response"]["data"]["installations"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-user-access-token + */ + "GET /user/installations/{installation_id}/repositories": { + parameters: Endpoints["GET /user/installations/{installation_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"] & { + data: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": { + parameters: Endpoints["GET /user/issues"]["parameters"]; + response: Endpoints["GET /user/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user + */ + "GET /user/keys": { + parameters: Endpoints["GET /user/keys"]["parameters"]; + response: Endpoints["GET /user/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": { + parameters: Endpoints["GET /user/marketplace_purchases"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": { + parameters: Endpoints["GET /user/marketplace_purchases/stubbed"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases/stubbed"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user + */ + "GET /user/memberships/orgs": { + parameters: Endpoints["GET /user/memberships/orgs"]["parameters"]; + response: Endpoints["GET /user/memberships/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/migrations#list-user-migrations + */ + "GET /user/migrations": { + parameters: Endpoints["GET /user/migrations"]["parameters"]; + response: Endpoints["GET /user/migrations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-for-a-user-migration + */ + "GET /user/migrations/{migration_id}/repositories": { + parameters: Endpoints["GET /user/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user + */ + "GET /user/orgs": { + parameters: Endpoints["GET /user/orgs"]["parameters"]; + response: Endpoints["GET /user/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-the-authenticated-user + */ + "GET /user/packages": { + parameters: Endpoints["GET /user/packages"]["parameters"]; + response: Endpoints["GET /user/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user + */ + "GET /user/public_emails": { + parameters: Endpoints["GET /user/public_emails"]["parameters"]; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": { + parameters: Endpoints["GET /user/repos"]["parameters"]; + response: Endpoints["GET /user/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations-for-the-authenticated-user + */ + "GET /user/repository_invitations": { + parameters: Endpoints["GET /user/repository_invitations"]["parameters"]; + response: Endpoints["GET /user/repository_invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": { + parameters: Endpoints["GET /user/starred"]["parameters"]; + response: Endpoints["GET /user/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": { + parameters: Endpoints["GET /user/subscriptions"]["parameters"]; + response: Endpoints["GET /user/subscriptions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-teams-for-the-authenticated-user + */ + "GET /user/teams": { + parameters: Endpoints["GET /user/teams"]["parameters"]; + response: Endpoints["GET /user/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-users + */ + "GET /users": { + parameters: Endpoints["GET /users"]["parameters"]; + response: Endpoints["GET /users"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-for-the-authenticated-user + */ + "GET /users/{username}/events": { + parameters: Endpoints["GET /users/{username}/events"]["parameters"]; + response: Endpoints["GET /users/{username}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-organization-events-for-the-authenticated-user + */ + "GET /users/{username}/events/orgs/{org}": { + parameters: Endpoints["GET /users/{username}/events/orgs/{org}"]["parameters"]; + response: Endpoints["GET /users/{username}/events/orgs/{org}"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-user + */ + "GET /users/{username}/events/public": { + parameters: Endpoints["GET /users/{username}/events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/events/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-a-user + */ + "GET /users/{username}/followers": { + parameters: Endpoints["GET /users/{username}/followers"]["parameters"]; + response: Endpoints["GET /users/{username}/followers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-a-user-follows + */ + "GET /users/{username}/following": { + parameters: Endpoints["GET /users/{username}/following"]["parameters"]; + response: Endpoints["GET /users/{username}/following"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-gists-for-a-user + */ + "GET /users/{username}/gists": { + parameters: Endpoints["GET /users/{username}/gists"]["parameters"]; + response: Endpoints["GET /users/{username}/gists"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-a-user + */ + "GET /users/{username}/gpg_keys": { + parameters: Endpoints["GET /users/{username}/gpg_keys"]["parameters"]; + response: Endpoints["GET /users/{username}/gpg_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-public-keys-for-a-user + */ + "GET /users/{username}/keys": { + parameters: Endpoints["GET /users/{username}/keys"]["parameters"]; + response: Endpoints["GET /users/{username}/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-a-user + */ + "GET /users/{username}/orgs": { + parameters: Endpoints["GET /users/{username}/orgs"]["parameters"]; + response: Endpoints["GET /users/{username}/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-user + */ + "GET /users/{username}/packages": { + parameters: Endpoints["GET /users/{username}/packages"]["parameters"]; + response: Endpoints["GET /users/{username}/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-user-projects + */ + "GET /users/{username}/projects": { + parameters: Endpoints["GET /users/{username}/projects"]["parameters"]; + response: Endpoints["GET /users/{username}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user + */ + "GET /users/{username}/received_events": { + parameters: Endpoints["GET /users/{username}/received_events"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-received-by-a-user + */ + "GET /users/{username}/received_events/public": { + parameters: Endpoints["GET /users/{username}/received_events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-a-user + */ + "GET /users/{username}/repos": { + parameters: Endpoints["GET /users/{username}/repos"]["parameters"]; + response: Endpoints["GET /users/{username}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user + */ + "GET /users/{username}/starred": { + parameters: Endpoints["GET /users/{username}/starred"]["parameters"]; + response: Endpoints["GET /users/{username}/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-a-user + */ + "GET /users/{username}/subscriptions": { + parameters: Endpoints["GET /users/{username}/subscriptions"]["parameters"]; + response: Endpoints["GET /users/{username}/subscriptions"]["response"]; + }; +} +export declare const paginatingEndpoints: (keyof PaginatingEndpoints)[]; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts new file mode 100644 index 00000000..4d84aae3 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts @@ -0,0 +1,16 @@ +import { Octokit } from "@octokit/core"; +import { PaginateInterface } from "./types"; +export { PaginateInterface } from "./types"; +export { PaginatingEndpoints } from "./types"; +export { composePaginateRest } from "./compose-paginate"; +export { isPaginatingEndpoint, paginatingEndpoints, } from "./paginating-endpoints"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export declare function paginateRest(octokit: Octokit): { + paginate: PaginateInterface; +}; +export declare namespace paginateRest { + var VERSION: string; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts new file mode 100644 index 00000000..931d5307 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts @@ -0,0 +1,20 @@ +import { Octokit } from "@octokit/core"; +import { RequestInterface, RequestParameters, Route } from "./types"; +export declare function iterator(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters): { + [Symbol.asyncIterator]: () => { + next(): Promise<{ + done: boolean; + value?: undefined; + } | { + value: import("@octokit/types/dist-types/OctokitResponse").OctokitResponse; + done?: undefined; + } | { + value: { + status: number; + headers: {}; + data: never[]; + }; + done?: undefined; + }>; + }; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts new file mode 100644 index 00000000..f948a78f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts @@ -0,0 +1,18 @@ +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +import { OctokitResponse } from "./types"; +export declare function normalizePaginatedListResponse(response: OctokitResponse): OctokitResponse; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts new file mode 100644 index 00000000..774c6041 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts @@ -0,0 +1,3 @@ +import { Octokit } from "@octokit/core"; +import { MapFunction, PaginationResults, RequestParameters, Route, RequestInterface } from "./types"; +export declare function paginate(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters, mapFn?: MapFunction): Promise>; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts new file mode 100644 index 00000000..f6a4d7b5 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts @@ -0,0 +1,3 @@ +import { PaginatingEndpoints } from "./generated/paginating-endpoints"; +export { paginatingEndpoints } from "./generated/paginating-endpoints"; +export declare function isPaginatingEndpoint(arg: unknown): arg is keyof PaginatingEndpoints; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts new file mode 100644 index 00000000..0634907b --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts @@ -0,0 +1,242 @@ +import { Octokit } from "@octokit/core"; +import * as OctokitTypes from "@octokit/types"; +export { EndpointOptions, RequestInterface, OctokitResponse, RequestParameters, Route, } from "@octokit/types"; +export { PaginatingEndpoints } from "./generated/paginating-endpoints"; +import { PaginatingEndpoints } from "./generated/paginating-endpoints"; +declare type KnownKeys = Extract<{ + [K in keyof T]: string extends K ? never : number extends K ? never : K; +} extends { + [_ in keyof T]: infer U; +} ? U : never, keyof T>; +declare type KeysMatching = { + [K in keyof T]: T[K] extends V ? K : never; +}[keyof T]; +declare type KnownKeysMatching = KeysMatching>, V>; +declare type GetResultsType = T extends { + data: any[]; +} ? T["data"] : T extends { + data: object; +} ? T["data"][KnownKeysMatching] : never; +declare type NormalizeResponse = T & { + data: GetResultsType; +}; +declare type DataType = "data" extends keyof T ? T["data"] : unknown; +export interface MapFunction>, M = unknown[]> { + (response: T, done: () => void): M; +} +export declare type PaginationResults = T[]; +export interface PaginateInterface { + /** + * Paginate a request using endpoint options and map each response to a custom array + * + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; + /** + * Paginate a request using endpoint options + * + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: OctokitTypes.EndpointOptions): Promise>; + /** + * Paginate a request using a known endpoint route string and map each response to a custom array + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: R, mapFn: MapFunction): Promise; + /** + * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; + /** + * Paginate a request using an known endpoint route string + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: R, parameters?: PaginatingEndpoints[R]["parameters"]): Promise>; + /** + * Paginate a request using an unknown endpoint route string + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): Promise; + /** + * Paginate a request using an endpoint method and a map function + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (request: R, mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method, parameters, and a map function + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method and parameters + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: R, parameters?: Parameters[0]): Promise>["data"]>; + iterator: { + /** + * Get an async iterator to paginate a request using endpoint options + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a known endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: R, parameters?: PaginatingEndpoints[R]["parameters"]): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using an unknown endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a request method and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} request `@octokit/request` or `octokit.request` method + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: R, parameters?: Parameters[0]): AsyncIterableIterator>>; + }; +} +export interface ComposePaginateInterface { + /** + * Paginate a request using endpoint options and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; + /** + * Paginate a request using endpoint options + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions): Promise>; + /** + * Paginate a request using a known endpoint route string and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, route: R, mapFn: MapFunction): Promise; + /** + * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; + /** + * Paginate a request using an known endpoint route string + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: PaginatingEndpoints[R]["parameters"]): Promise>; + /** + * Paginate a request using an unknown endpoint route string + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): Promise; + /** + * Paginate a request using an endpoint method and a map function + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (octokit: Octokit, request: R, mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method, parameters, and a map function + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (octokit: Octokit, request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method and parameters + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, request: R, parameters?: Parameters[0]): Promise>["data"]>; + iterator: { + /** + * Get an async iterator to paginate a request using endpoint options + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a known endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: PaginatingEndpoints[R]["parameters"]): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using an unknown endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a request method and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} request `@octokit/request` or `octokit.request` method + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, request: R, parameters?: Parameters[0]): AsyncIterableIterator>>; + }; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts new file mode 100644 index 00000000..3da063d5 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "2.17.0"; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js new file mode 100644 index 00000000..9543d713 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js @@ -0,0 +1,342 @@ +const VERSION = "2.17.0"; + +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return { + ...response, + data: [], + }; + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) + return response; + // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + return response; +} + +function iterator(octokit, route, parameters) { + const options = typeof route === "function" + ? route.endpoint(parameters) + : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) + return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { value: normalizedResponse }; + } + catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [], + }, + }; + } + }, + }), + }; +} + +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then((result) => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator, mapFn); + }); +} + +const composePaginateRest = Object.assign(paginate, { + iterator, +}); + +const paginatingEndpoints = [ + "GET /app/hook/deliveries", + "GET /app/installations", + "GET /applications/grants", + "GET /authorizations", + "GET /enterprises/{enterprise}/actions/permissions/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", + "GET /enterprises/{enterprise}/actions/runners", + "GET /enterprises/{enterprise}/actions/runners/downloads", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runner-groups", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/runners/downloads", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/credential-authorizations", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/team-sync/groups", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runners/downloads", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/autolinks", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /scim/v2/enterprises/{enterprise}/Groups", + "GET /scim/v2/enterprises/{enterprise}/Users", + "GET /scim/v2/organizations/{org}/Users", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/team-sync/group-mappings", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions", +]; + +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } + else { + return false; + } +} + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit), + }), + }; +} +paginateRest.VERSION = VERSION; + +export { composePaginateRest, isPaginatingEndpoint, paginateRest, paginatingEndpoints }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map new file mode 100644 index 00000000..a7b51953 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/compose-paginate.js","../dist-src/generated/paginating-endpoints.js","../dist-src/paginating-endpoints.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"2.17.0\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nexport function normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return {\n ...response,\n data: [],\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = typeof route === \"function\"\n ? route.endpoint(parameters)\n : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: normalizedResponse };\n }\n catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: [],\n },\n };\n }\n },\n }),\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport const composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n","export const paginatingEndpoints = [\n \"GET /app/hook/deliveries\",\n \"GET /app/installations\",\n \"GET /applications/grants\",\n \"GET /authorizations\",\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /enterprises/{enterprise}/actions/runners\",\n \"GET /enterprises/{enterprise}/actions/runners/downloads\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runner-groups\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/runners/downloads\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/credential-authorizations\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/team-sync/groups\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/autolinks\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repositories\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /scim/v2/enterprises/{enterprise}/Groups\",\n \"GET /scim/v2/enterprises/{enterprise}/Users\",\n \"GET /scim/v2/organizations/{org}/Users\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/team-sync/group-mappings\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\",\n];\n","import { paginatingEndpoints, } from \"./generated/paginating-endpoints\";\nexport { paginatingEndpoints } from \"./generated/paginating-endpoints\";\nexport function isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n }\n else {\n return false;\n }\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport { composePaginateRest } from \"./compose-paginate\";\nexport { isPaginatingEndpoint, paginatingEndpoints, } from \"./paginating-endpoints\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit),\n }),\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":[],"mappings":"AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACA1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,AAAO,SAAS,8BAA8B,CAAC,QAAQ,EAAE;AACzD;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACxB,QAAQ,OAAO;AACf,YAAY,GAAG,QAAQ;AACvB,YAAY,IAAI,EAAE,EAAE;AACpB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,MAAM,0BAA0B,GAAG,aAAa,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnG,IAAI,IAAI,CAAC,0BAA0B;AACnC,QAAQ,OAAO,QAAQ,CAAC;AACxB;AACA;AACA,IAAI,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAC/D,IAAI,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACnE,IAAI,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAC5C,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAC9C,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC7C,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,IAAI,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE;AAClD,QAAQ,QAAQ,CAAC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;AAC7D,KAAK;AACL,IAAI,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;AACpD,QAAQ,QAAQ,CAAC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;AACjE,KAAK;AACL,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC3C,IAAI,OAAO,QAAQ,CAAC;AACpB,CAAC;;AC7CM,SAAS,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;AACrD,IAAI,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,UAAU;AAC/C,UAAU,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACpC,UAAU,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACtD,IAAI,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;AAChF,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAClC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACpC,IAAI,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AAC1B,IAAI,OAAO;AACX,QAAQ,CAAC,MAAM,CAAC,aAAa,GAAG,OAAO;AACvC,YAAY,MAAM,IAAI,GAAG;AACzB,gBAAgB,IAAI,CAAC,GAAG;AACxB,oBAAoB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC1C,gBAAgB,IAAI;AACpB,oBAAoB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACnF,oBAAoB,MAAM,kBAAkB,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;AACxF;AACA;AACA;AACA,oBAAoB,GAAG,GAAG,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9G,oBAAoB,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;AACzD,iBAAiB;AACjB,gBAAgB,OAAO,KAAK,EAAE;AAC9B,oBAAoB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;AAC5C,wBAAwB,MAAM,KAAK,CAAC;AACpC,oBAAoB,GAAG,GAAG,EAAE,CAAC;AAC7B,oBAAoB,OAAO;AAC3B,wBAAwB,KAAK,EAAE;AAC/B,4BAA4B,MAAM,EAAE,GAAG;AACvC,4BAA4B,OAAO,EAAE,EAAE;AACvC,4BAA4B,IAAI,EAAE,EAAE;AACpC,yBAAyB;AACzB,qBAAqB,CAAC;AACtB,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC;AACV,KAAK,CAAC;AACN,CAAC;;ACrCM,SAAS,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;AAC5D,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAC1C,QAAQ,KAAK,GAAG,UAAU,CAAC;AAC3B,QAAQ,UAAU,GAAG,SAAS,CAAC;AAC/B,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AACpG,CAAC;AACD,SAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;AACnD,IAAI,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK;AAC5C,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;AACzB,YAAY,OAAO,OAAO,CAAC;AAC3B,SAAS;AACT,QAAQ,IAAI,SAAS,GAAG,KAAK,CAAC;AAC9B,QAAQ,SAAS,IAAI,GAAG;AACxB,YAAY,SAAS,GAAG,IAAI,CAAC;AAC7B,SAAS;AACT,QAAQ,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACxF,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,OAAO,OAAO,CAAC;AAC3B,SAAS;AACT,QAAQ,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,KAAK,CAAC,CAAC;AACP,CAAC;;ACrBW,MAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC3D,IAAI,QAAQ;AACZ,CAAC,CAAC;;ACJU,MAAC,mBAAmB,GAAG;AACnC,IAAI,0BAA0B;AAC9B,IAAI,wBAAwB;AAC5B,IAAI,0BAA0B;AAC9B,IAAI,qBAAqB;AACzB,IAAI,iEAAiE;AACrE,IAAI,qDAAqD;AACzD,IAAI,qFAAqF;AACzF,IAAI,+EAA+E;AACnF,IAAI,+CAA+C;AACnD,IAAI,yDAAyD;AAC7D,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,mBAAmB;AACvB,IAAI,oBAAoB;AACxB,IAAI,+BAA+B;AACnC,IAAI,8BAA8B;AAClC,IAAI,4BAA4B;AAChC,IAAI,gCAAgC;AACpC,IAAI,aAAa;AACjB,IAAI,gCAAgC;AACpC,IAAI,mDAAmD;AACvD,IAAI,wCAAwC;AAC5C,IAAI,2DAA2D;AAC/D,IAAI,qCAAqC;AACzC,IAAI,oBAAoB;AACxB,IAAI,oBAAoB;AACxB,IAAI,kDAAkD;AACtD,IAAI,uCAAuC;AAC3C,IAAI,sEAAsE;AAC1E,IAAI,iEAAiE;AACrE,IAAI,iCAAiC;AACrC,IAAI,2CAA2C;AAC/C,IAAI,iCAAiC;AACrC,IAAI,4DAA4D;AAChE,IAAI,wBAAwB;AAC5B,IAAI,2CAA2C;AAC/C,IAAI,wBAAwB;AAC5B,IAAI,oCAAoC;AACxC,IAAI,uBAAuB;AAC3B,IAAI,4CAA4C;AAChD,IAAI,+BAA+B;AACnC,IAAI,6BAA6B;AACjC,IAAI,mDAAmD;AACvD,IAAI,wBAAwB;AAC5B,IAAI,yBAAyB;AAC7B,IAAI,4BAA4B;AAChC,IAAI,wDAAwD;AAC5D,IAAI,uCAAuC;AAC3C,IAAI,0BAA0B;AAC9B,IAAI,0BAA0B;AAC9B,IAAI,gCAAgC;AACpC,IAAI,uBAAuB;AAC3B,IAAI,wCAAwC;AAC5C,IAAI,kCAAkC;AACtC,IAAI,uBAAuB;AAC3B,IAAI,+CAA+C;AACnD,IAAI,4EAA4E;AAChF,IAAI,uGAAuG;AAC3G,IAAI,6EAA6E;AACjF,IAAI,+CAA+C;AACnD,IAAI,2CAA2C;AAC/C,IAAI,4CAA4C;AAChD,IAAI,yCAAyC;AAC7C,IAAI,4DAA4D;AAChE,IAAI,yCAAyC;AAC7C,IAAI,yCAAyC;AAC7C,IAAI,0CAA0C;AAC9C,IAAI,oCAAoC;AACxC,IAAI,6CAA6C;AACjD,IAAI,2CAA2C;AAC/C,IAAI,qDAAqD;AACzD,IAAI,wCAAwC;AAC5C,IAAI,2DAA2D;AAC/D,IAAI,gFAAgF;AACpF,IAAI,sDAAsD;AAC1D,IAAI,2CAA2C;AAC/C,IAAI,6CAA6C;AACjD,IAAI,gEAAgE;AACpE,IAAI,qCAAqC;AACzC,IAAI,qCAAqC;AACzC,IAAI,oCAAoC;AACxC,IAAI,iEAAiE;AACrE,IAAI,oEAAoE;AACxE,IAAI,gDAAgD;AACpD,IAAI,yEAAyE;AAC7E,IAAI,kDAAkD;AACtD,IAAI,yCAAyC;AAC7C,IAAI,oCAAoC;AACxC,IAAI,2DAA2D;AAC/D,IAAI,mCAAmC;AACvC,IAAI,oEAAoE;AACxE,IAAI,yDAAyD;AAC7D,IAAI,sDAAsD;AAC1D,IAAI,oDAAoD;AACxD,IAAI,sDAAsD;AAC1D,IAAI,kDAAkD;AACtD,IAAI,wCAAwC;AAC5C,IAAI,uCAAuC;AAC3C,IAAI,gEAAgE;AACpE,IAAI,kCAAkC;AACtC,IAAI,iCAAiC;AACrC,IAAI,mDAAmD;AACvD,IAAI,iCAAiC;AACrC,IAAI,sDAAsD;AAC1D,IAAI,uCAAuC;AAC3C,IAAI,kCAAkC;AACtC,IAAI,2CAA2C;AAC/C,IAAI,kEAAkE;AACtE,IAAI,yCAAyC;AAC7C,IAAI,0DAA0D;AAC9D,IAAI,wDAAwD;AAC5D,IAAI,wDAAwD;AAC5D,IAAI,2DAA2D;AAC/D,IAAI,0DAA0D;AAC9D,IAAI,gCAAgC;AACpC,IAAI,kCAAkC;AACtC,IAAI,sCAAsC;AAC1C,IAAI,gEAAgE;AACpE,IAAI,yCAAyC;AAC7C,IAAI,wCAAwC;AAC5C,IAAI,oCAAoC;AACxC,IAAI,iCAAiC;AACrC,IAAI,0CAA0C;AAC9C,IAAI,iEAAiE;AACrE,IAAI,wDAAwD;AAC5D,IAAI,uDAAuD;AAC3D,IAAI,qDAAqD;AACzD,IAAI,mEAAmE;AACvE,IAAI,uDAAuD;AAC3D,IAAI,4EAA4E;AAChF,IAAI,oCAAoC;AACxC,IAAI,wDAAwD;AAC5D,IAAI,kDAAkD;AACtD,IAAI,sCAAsC;AAC1C,IAAI,uCAAuC;AAC3C,IAAI,gCAAgC;AACpC,IAAI,iCAAiC;AACrC,IAAI,mBAAmB;AACvB,IAAI,2EAA2E;AAC/E,IAAI,8CAA8C;AAClD,IAAI,6CAA6C;AACjD,IAAI,wCAAwC;AAC5C,IAAI,kBAAkB;AACtB,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,oBAAoB;AACxB,IAAI,mBAAmB;AACvB,IAAI,kCAAkC;AACtC,IAAI,+DAA+D;AACnE,IAAI,0FAA0F;AAC9F,IAAI,gEAAgE;AACpE,IAAI,kCAAkC;AACtC,IAAI,8BAA8B;AAClC,IAAI,+BAA+B;AACnC,IAAI,4BAA4B;AAChC,IAAI,+CAA+C;AACnD,IAAI,4BAA4B;AAChC,IAAI,kBAAkB;AACtB,IAAI,kBAAkB;AACtB,IAAI,qBAAqB;AACzB,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,yBAAyB;AAC7B,IAAI,wDAAwD;AAC5D,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,iCAAiC;AACrC,IAAI,yCAAyC;AAC7C,IAAI,4BAA4B;AAChC,IAAI,sBAAsB;AAC1B,IAAI,kDAAkD;AACtD,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,yBAAyB;AAC7B,IAAI,iBAAiB;AACrB,IAAI,kCAAkC;AACtC,IAAI,mBAAmB;AACvB,IAAI,yBAAyB;AAC7B,IAAI,iBAAiB;AACrB,IAAI,YAAY;AAChB,IAAI,8BAA8B;AAClC,IAAI,yCAAyC;AAC7C,IAAI,qCAAqC;AACzC,IAAI,iCAAiC;AACrC,IAAI,iCAAiC;AACrC,IAAI,6BAA6B;AACjC,IAAI,gCAAgC;AACpC,IAAI,4BAA4B;AAChC,IAAI,4BAA4B;AAChC,IAAI,gCAAgC;AACpC,IAAI,gCAAgC;AACpC,IAAI,uCAAuC;AAC3C,IAAI,8CAA8C;AAClD,IAAI,6BAA6B;AACjC,IAAI,+BAA+B;AACnC,IAAI,qCAAqC;AACzC,CAAC;;ACrMM,SAAS,oBAAoB,CAAC,GAAG,EAAE;AAC1C,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACjC,QAAQ,OAAO,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACjD,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,CAAC;;ACJD;AACA;AACA;AACA;AACA,AAAO,SAAS,YAAY,CAAC,OAAO,EAAE;AACtC,IAAI,OAAO;AACX,QAAQ,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAC9D,YAAY,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAClD,SAAS,CAAC;AACV,KAAK,CAAC;AACN,CAAC;AACD,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/package.json b/node_modules/@octokit/plugin-paginate-rest/package.json new file mode 100644 index 00000000..52d2162e --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/package.json @@ -0,0 +1,52 @@ +{ + "name": "@octokit/plugin-paginate-rest", + "description": "Octokit plugin to paginate REST API endpoint responses", + "version": "2.17.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "repository": "github:octokit/plugin-paginate-rest.js", + "dependencies": { + "@octokit/types": "^6.34.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + }, + "devDependencies": { + "@octokit/core": "^3.0.0", + "@octokit/plugin-rest-endpoint-methods": "^5.0.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^27.0.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "github-openapi-graphql-query": "^1.0.4", + "jest": "^27.0.0", + "npm-run-all": "^4.1.5", + "prettier": "2.4.1", + "semantic-release": "^18.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE b/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE new file mode 100644 index 00000000..57bee5f1 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/README.md b/node_modules/@octokit/plugin-rest-endpoint-methods/README.md new file mode 100644 index 00000000..8a17a79a --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/README.md @@ -0,0 +1,76 @@ +# plugin-rest-endpoint-methods.js + +> Octokit plugin adding one method for all of api.github.com REST API endpoints + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-rest-endpoint-methods.svg)](https://www.npmjs.com/package/@octokit/plugin-rest-endpoint-methods) +[![Build Status](https://github.com/octokit/plugin-rest-endpoint-methods.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-rest-endpoint-methods.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-rest-endpoint-methods` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-rest-endpoint-methods`. Optionally replace `@octokit/core` with a compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { + restEndpointMethods, +} = require("@octokit/plugin-rest-endpoint-methods"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(restEndpointMethods); +const octokit = new MyOctokit({ auth: "secret123" }); + +// https://developer.github.com/v3/users/#get-the-authenticated-user +octokit.rest.users.getAuthenticated(); +``` + +There is one method for each REST API endpoint documented at [https://developer.github.com/v3](https://developer.github.com/v3). All endpoint methods are documented in the [docs/](docs/) folder, e.g. [docs/users/getAuthenticated.md](docs/users/getAuthenticated.md) + +## TypeScript + +Parameter and response types for all endpoint methods exported as `{ RestEndpointMethodTypes }`. + +Example + +```ts +import { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods"; + +type UpdateLabelParameters = + RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]; +type UpdateLabelResponse = + RestEndpointMethodTypes["issues"]["updateLabel"]["response"]; +``` + +In order to get types beyond parameters and responses, check out [`@octokit/openapi-types`](https://github.com/octokit/openapi-types.ts/#readme), which is a direct transpliation from GitHub's official OpenAPI specification. + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js new file mode 100644 index 00000000..2d60d4c8 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js @@ -0,0 +1,1025 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + + if (enumerableOnly) { + symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + } + + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +const Endpoints = { + actions: { + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + approveWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"], + cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], + createOrUpdateEnvironmentSecret: ["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], + createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], + createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], + deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], + deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + disableSelectedRepositoryGithubActionsOrganization: ["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"], + disableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"], + downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], + downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], + downloadWorkflowRunAttemptLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"], + downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"], + enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"], + getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], + getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"], + getEnvironmentSecret: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], + getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { + renamed: ["actions", "getGithubActionsPermissionsRepository"] + }], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"], + getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], + getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets"], + listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], + listJobsForWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"], + listSelectedRepositoriesEnabledGithubActionsOrganization: ["GET /orgs/{org}/actions/permissions/repositories"], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], + listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], + setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], + setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], + setGithubActionsPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"], + setSelectedRepositoriesEnabledGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories"] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: ["PUT /user/installations/{installation_id}/repositories/{repository_id}", {}, { + renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] + }], + addRepoToInstallationForAuthenticatedUser: ["PUT /user/installations/{installation_id}/repositories/{repository_id}"], + checkToken: ["POST /applications/{client_id}/token"], + createContentAttachment: ["POST /content_references/{content_reference_id}/attachments", { + mediaType: { + previews: ["corsair"] + } + }], + createContentAttachmentForRepo: ["POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments", { + mediaType: { + previews: ["corsair"] + } + }], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens"], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], + getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], + listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories"], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: ["POST /app/hook/deliveries/{delivery_id}/attempts"], + removeRepoFromInstallation: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}", {}, { + renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] + }], + removeRepoFromInstallationForAuthenticatedUser: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}"], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: ["GET /users/{username}/settings/billing/actions"], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: ["GET /users/{username}/settings/billing/packages"], + getSharedStorageBillingOrg: ["GET /orgs/{org}/settings/billing/shared-storage"], + getSharedStorageBillingUser: ["GET /users/{username}/settings/billing/shared-storage"] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: ["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"], + rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"], + setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences"], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], + getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { + renamedParameters: { + alert_id: "alert_number" + } + }], + getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", {}, { + renamed: ["codeScanning", "listAlertInstances"] + }], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] + }, + emojis: { + get: ["GET /emojis"] + }, + enterpriseAdmin: { + disableSelectedOrganizationGithubActionsEnterprise: ["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + enableSelectedOrganizationGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + getAllowedActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/selected-actions"], + getGithubActionsPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions"], + listSelectedOrganizationsEnabledGithubActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/organizations"], + setAllowedActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"], + setGithubActionsPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions"], + setSelectedOrganizationsEnabledGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations"] + }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: ["GET /user/interaction-limits", {}, { + renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] + }], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits"], + removeRestrictionsForYourPublicRepos: ["DELETE /user/interaction-limits", {}, { + renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] + }], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: ["PUT /user/interaction-limits", {}, { + renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] + }] + }, + issues: { + addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], + removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: ["POST /markdown/raw", { + headers: { + "content-type": "text/plain; charset=utf-8" + } + }] + }, + meta: { + get: ["GET /meta"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + cancelImport: ["DELETE /repos/{owner}/{repo}/import"], + deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive"], + deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive"], + downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive"], + getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive"], + getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], + getImportStatus: ["GET /repos/{owner}/{repo}/import"], + getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: ["GET /user/migrations/{migration_id}/repositories"], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: ["GET /user/migrations/{migration_id}/repositories", {}, { + renamed: ["migrations", "listReposForAuthenticatedUser"] + }], + mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], + setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: ["PUT /repos/{owner}/{repo}/import"], + unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"], + unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"], + updateImport: ["PATCH /repos/{owner}/{repo}/import"] + }, + orgs: { + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], + createInvitation: ["POST /orgs/{org}/invitations"], + createWebhook: ["POST /orgs/{org}/hooks"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + get: ["GET /orgs/{org}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], + removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], + deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], + deletePackageForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}"], + deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getAllPackageVersionsForAPackageOwnedByAnOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] + }], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] + }], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], + getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], + getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], + getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], + getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission"], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}"], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"], + updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"] + }, + rateLimit: { + get: ["GET /rate_limit"] + }, + reactions: { + createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + createForRelease: ["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"], + createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"], + deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"], + deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"], + deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"], + deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"], + deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"], + deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"], + listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"] + }, + repos: { + acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}", {}, { + renamed: ["repos", "acceptInvitationForAuthenticatedUser"] + }], + acceptInvitationForAuthenticatedUser: ["PATCH /user/repository_invitations/{invitation_id}"], + addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: ["GET /repos/{owner}/{repo}/compare/{basehead}"], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate"], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}", {}, { + renamed: ["repos", "declineInvitationForAuthenticatedUser"] + }], + declineInvitationForAuthenticatedUser: ["DELETE /user/repository_invitations/{invitation_id}"], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes"], + disableLfsForRepo: ["DELETE /repos/{owner}/{repo}/lfs"], + disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts"], + downloadArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}", {}, { + renamed: ["repos", "downloadZipballArchive"] + }], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes"], + enableLfsForRepo: ["PUT /repos/{owner}/{repo}/lfs"], + enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts"], + generateReleaseNotes: ["POST /repos/{owner}/{repo}/releases/generate-notes"], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], + getAllTopics: ["GET /repos/{owner}/{repo}/topics", { + mediaType: { + previews: ["mercy"] + } + }], + getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], + getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"], + listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], + removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics", { + mediaType: { + previews: ["mercy"] + } + }], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], + updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], + updateStatusCheckPotection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", {}, { + renamed: ["repos", "updateStatusCheckProtection"] + }], + updateStatusCheckProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"], + uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { + baseUrl: "https://uploads.github.com" + }] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics", { + mediaType: { + previews: ["mercy"] + } + }], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + updateAlert: ["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"] + }, + teams: { + addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], + addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], + removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: ["POST /user/emails", {}, { + renamed: ["users", "addEmailForAuthenticatedUser"] + }], + addEmailForAuthenticatedUser: ["POST /user/emails"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: ["POST /user/gpg_keys", {}, { + renamed: ["users", "createGpgKeyForAuthenticatedUser"] + }], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: ["POST /user/keys", {}, { + renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] + }], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + deleteEmailForAuthenticated: ["DELETE /user/emails", {}, { + renamed: ["users", "deleteEmailForAuthenticatedUser"] + }], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}", {}, { + renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] + }], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}", {}, { + renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] + }], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}", {}, { + renamed: ["users", "getGpgKeyForAuthenticatedUser"] + }], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}", {}, { + renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] + }], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: ["GET /user/blocks", {}, { + renamed: ["users", "listBlockedByAuthenticatedUser"] + }], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: ["GET /user/emails", {}, { + renamed: ["users", "listEmailsForAuthenticatedUser"] + }], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: ["GET /user/following", {}, { + renamed: ["users", "listFollowedByAuthenticatedUser"] + }], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: ["GET /user/gpg_keys", {}, { + renamed: ["users", "listGpgKeysForAuthenticatedUser"] + }], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: ["GET /user/public_emails", {}, { + renamed: ["users", "listPublicEmailsForAuthenticatedUser"] + }], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: ["GET /user/keys", {}, { + renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] + }], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility", {}, { + renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] + }], + setPrimaryEmailVisibilityForAuthenticatedUser: ["PATCH /user/email/visibility"], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; + +const VERSION = "5.13.0"; + +function endpointsToMethods(octokit, endpointsMap) { + const newMethods = {}; + + for (const [scope, endpoints] of Object.entries(endpointsMap)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign({ + method, + url + }, defaults); + + if (!newMethods[scope]) { + newMethods[scope] = {}; + } + + const scopeMethods = newMethods[scope]; + + if (decorations) { + scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); + continue; + } + + scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); + } + } + + return newMethods; +} + +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + /* istanbul ignore next */ + + function withDecorations(...args) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData` + + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: undefined + }); + return requestWithDefaults(options); + } + + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + } + + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + + if (decorations.renamedParameters) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + const options = requestWithDefaults.endpoint.merge(...args); + + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + if (name in options) { + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + + if (!(alias in options)) { + options[alias] = options[name]; + } + + delete options[name]; + } + } + + return requestWithDefaults(options); + } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + + + return requestWithDefaults(...args); + } + + return Object.assign(withDecorations, requestWithDefaults); +} + +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return _objectSpread2(_objectSpread2({}, api), {}, { + rest: api + }); +} +legacyRestEndpointMethods.VERSION = VERSION; + +exports.legacyRestEndpointMethods = legacyRestEndpointMethods; +exports.restEndpointMethods = restEndpointMethods; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map new file mode 100644 index 00000000..a8106594 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/endpoints-to-methods.js","../dist-src/index.js"],"sourcesContent":["const Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\",\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\",\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\",\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\",\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\",\n ],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\",\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\",\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\",\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\",\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\",\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\",\n ],\n downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\",\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\",\n ],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\",\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\",\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\",\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] },\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\",\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\",\n ],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\",\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\",\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n ],\n listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\",\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\",\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\",\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\",\n ],\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\",\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\",\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\",\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\",\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\",\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\",\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"],\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] },\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\n \"POST /content_references/{content_reference_id}/attachments\",\n { mediaType: { previews: [\"corsair\"] } },\n ],\n createContentAttachmentForRepo: [\n \"POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments\",\n { mediaType: { previews: [\"corsair\"] } },\n ],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\",\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\",\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\",\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\",\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\",\n ],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] },\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\",\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"],\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\",\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\",\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\",\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\",\n ],\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\",\n ],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\",\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\",\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } },\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\",\n ],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] },\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"],\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n disableSelectedOrganizationGithubActionsEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n enableSelectedOrganizationGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n getAllowedActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n getGithubActionsPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions\",\n ],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"],\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"],\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"],\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] },\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\",\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] },\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] },\n ],\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\",\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\",\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } },\n ],\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"],\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\",\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\n ],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] },\n ],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\",\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\",\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\",\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n ],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\",\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\",\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\",\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\",\n ],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"],\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\",\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n deletePackageForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}\",\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n deletePackageVersionForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] },\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\",\n ],\n },\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\",\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\",\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\",\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"],\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\",\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\",\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n ],\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] },\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n ],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\",\n ],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] },\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n ],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n ],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] },\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\",\n ],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\",\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n ],\n getAllTopics: [\n \"GET /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\",\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\",\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\",\n ],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n ],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\",\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\n \"PUT /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] },\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" },\n ],\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\", { mediaType: { previews: [\"mercy\"] } }],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n ],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"],\n },\n users: {\n addEmailForAuthenticated: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] },\n ],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] },\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] },\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] },\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] },\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] },\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] },\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] },\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] },\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] },\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] },\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] },\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] },\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] },\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] },\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\",\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\nexport default Endpoints;\n","export const VERSION = \"5.13.0\";\n","export function endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({ method, url }, defaults);\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n const scopeMethods = newMethods[scope];\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args);\n // There are currently no other decorations than `.mapToData`\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined,\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n delete options[name];\n }\n }\n return requestWithDefaults(options);\n }\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\n","import ENDPOINTS from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\nexport function restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, ENDPOINTS);\n return {\n rest: api,\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nexport function legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, ENDPOINTS);\n return {\n ...api,\n rest: api,\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n"],"names":["Endpoints","actions","addSelectedRepoToOrgSecret","approveWorkflowRun","cancelWorkflowRun","createOrUpdateEnvironmentSecret","createOrUpdateOrgSecret","createOrUpdateRepoSecret","createRegistrationTokenForOrg","createRegistrationTokenForRepo","createRemoveTokenForOrg","createRemoveTokenForRepo","createWorkflowDispatch","deleteArtifact","deleteEnvironmentSecret","deleteOrgSecret","deleteRepoSecret","deleteSelfHostedRunnerFromOrg","deleteSelfHostedRunnerFromRepo","deleteWorkflowRun","deleteWorkflowRunLogs","disableSelectedRepositoryGithubActionsOrganization","disableWorkflow","downloadArtifact","downloadJobLogsForWorkflowRun","downloadWorkflowRunAttemptLogs","downloadWorkflowRunLogs","enableSelectedRepositoryGithubActionsOrganization","enableWorkflow","getAllowedActionsOrganization","getAllowedActionsRepository","getArtifact","getEnvironmentPublicKey","getEnvironmentSecret","getGithubActionsPermissionsOrganization","getGithubActionsPermissionsRepository","getJobForWorkflowRun","getOrgPublicKey","getOrgSecret","getPendingDeploymentsForRun","getRepoPermissions","renamed","getRepoPublicKey","getRepoSecret","getReviewsForRun","getSelfHostedRunnerForOrg","getSelfHostedRunnerForRepo","getWorkflow","getWorkflowRun","getWorkflowRunAttempt","getWorkflowRunUsage","getWorkflowUsage","listArtifactsForRepo","listEnvironmentSecrets","listJobsForWorkflowRun","listJobsForWorkflowRunAttempt","listOrgSecrets","listRepoSecrets","listRepoWorkflows","listRunnerApplicationsForOrg","listRunnerApplicationsForRepo","listSelectedReposForOrgSecret","listSelectedRepositoriesEnabledGithubActionsOrganization","listSelfHostedRunnersForOrg","listSelfHostedRunnersForRepo","listWorkflowRunArtifacts","listWorkflowRuns","listWorkflowRunsForRepo","removeSelectedRepoFromOrgSecret","reviewPendingDeploymentsForRun","setAllowedActionsOrganization","setAllowedActionsRepository","setGithubActionsPermissionsOrganization","setGithubActionsPermissionsRepository","setSelectedReposForOrgSecret","setSelectedRepositoriesEnabledGithubActionsOrganization","activity","checkRepoIsStarredByAuthenticatedUser","deleteRepoSubscription","deleteThreadSubscription","getFeeds","getRepoSubscription","getThread","getThreadSubscriptionForAuthenticatedUser","listEventsForAuthenticatedUser","listNotificationsForAuthenticatedUser","listOrgEventsForAuthenticatedUser","listPublicEvents","listPublicEventsForRepoNetwork","listPublicEventsForUser","listPublicOrgEvents","listReceivedEventsForUser","listReceivedPublicEventsForUser","listRepoEvents","listRepoNotificationsForAuthenticatedUser","listReposStarredByAuthenticatedUser","listReposStarredByUser","listReposWatchedByUser","listStargazersForRepo","listWatchedReposForAuthenticatedUser","listWatchersForRepo","markNotificationsAsRead","markRepoNotificationsAsRead","markThreadAsRead","setRepoSubscription","setThreadSubscription","starRepoForAuthenticatedUser","unstarRepoForAuthenticatedUser","apps","addRepoToInstallation","addRepoToInstallationForAuthenticatedUser","checkToken","createContentAttachment","mediaType","previews","createContentAttachmentForRepo","createFromManifest","createInstallationAccessToken","deleteAuthorization","deleteInstallation","deleteToken","getAuthenticated","getBySlug","getInstallation","getOrgInstallation","getRepoInstallation","getSubscriptionPlanForAccount","getSubscriptionPlanForAccountStubbed","getUserInstallation","getWebhookConfigForApp","getWebhookDelivery","listAccountsForPlan","listAccountsForPlanStubbed","listInstallationReposForAuthenticatedUser","listInstallations","listInstallationsForAuthenticatedUser","listPlans","listPlansStubbed","listReposAccessibleToInstallation","listSubscriptionsForAuthenticatedUser","listSubscriptionsForAuthenticatedUserStubbed","listWebhookDeliveries","redeliverWebhookDelivery","removeRepoFromInstallation","removeRepoFromInstallationForAuthenticatedUser","resetToken","revokeInstallationAccessToken","scopeToken","suspendInstallation","unsuspendInstallation","updateWebhookConfigForApp","billing","getGithubActionsBillingOrg","getGithubActionsBillingUser","getGithubPackagesBillingOrg","getGithubPackagesBillingUser","getSharedStorageBillingOrg","getSharedStorageBillingUser","checks","create","createSuite","get","getSuite","listAnnotations","listForRef","listForSuite","listSuitesForRef","rerequestRun","rerequestSuite","setSuitesPreferences","update","codeScanning","deleteAnalysis","getAlert","renamedParameters","alert_id","getAnalysis","getSarif","listAlertInstances","listAlertsForRepo","listAlertsInstances","listRecentAnalyses","updateAlert","uploadSarif","codesOfConduct","getAllCodesOfConduct","getConductCode","emojis","enterpriseAdmin","disableSelectedOrganizationGithubActionsEnterprise","enableSelectedOrganizationGithubActionsEnterprise","getAllowedActionsEnterprise","getGithubActionsPermissionsEnterprise","listSelectedOrganizationsEnabledGithubActionsEnterprise","setAllowedActionsEnterprise","setGithubActionsPermissionsEnterprise","setSelectedOrganizationsEnabledGithubActionsEnterprise","gists","checkIsStarred","createComment","delete","deleteComment","fork","getComment","getRevision","list","listComments","listCommits","listForUser","listForks","listPublic","listStarred","star","unstar","updateComment","git","createBlob","createCommit","createRef","createTag","createTree","deleteRef","getBlob","getCommit","getRef","getTag","getTree","listMatchingRefs","updateRef","gitignore","getAllTemplates","getTemplate","interactions","getRestrictionsForAuthenticatedUser","getRestrictionsForOrg","getRestrictionsForRepo","getRestrictionsForYourPublicRepos","removeRestrictionsForAuthenticatedUser","removeRestrictionsForOrg","removeRestrictionsForRepo","removeRestrictionsForYourPublicRepos","setRestrictionsForAuthenticatedUser","setRestrictionsForOrg","setRestrictionsForRepo","setRestrictionsForYourPublicRepos","issues","addAssignees","addLabels","checkUserCanBeAssigned","createLabel","createMilestone","deleteLabel","deleteMilestone","getEvent","getLabel","getMilestone","listAssignees","listCommentsForRepo","listEvents","listEventsForRepo","listEventsForTimeline","listForAuthenticatedUser","listForOrg","listForRepo","listLabelsForMilestone","listLabelsForRepo","listLabelsOnIssue","listMilestones","lock","removeAllLabels","removeAssignees","removeLabel","setLabels","unlock","updateLabel","updateMilestone","licenses","getAllCommonlyUsed","getForRepo","markdown","render","renderRaw","headers","meta","getOctocat","getZen","root","migrations","cancelImport","deleteArchiveForAuthenticatedUser","deleteArchiveForOrg","downloadArchiveForOrg","getArchiveForAuthenticatedUser","getCommitAuthors","getImportStatus","getLargeFiles","getStatusForAuthenticatedUser","getStatusForOrg","listReposForAuthenticatedUser","listReposForOrg","listReposForUser","mapCommitAuthor","setLfsPreference","startForAuthenticatedUser","startForOrg","startImport","unlockRepoForAuthenticatedUser","unlockRepoForOrg","updateImport","orgs","blockUser","cancelInvitation","checkBlockedUser","checkMembershipForUser","checkPublicMembershipForUser","convertMemberToOutsideCollaborator","createInvitation","createWebhook","deleteWebhook","getMembershipForAuthenticatedUser","getMembershipForUser","getWebhook","getWebhookConfigForOrg","listAppInstallations","listBlockedUsers","listFailedInvitations","listInvitationTeams","listMembers","listMembershipsForAuthenticatedUser","listOutsideCollaborators","listPendingInvitations","listPublicMembers","listWebhooks","pingWebhook","removeMember","removeMembershipForUser","removeOutsideCollaborator","removePublicMembershipForAuthenticatedUser","setMembershipForUser","setPublicMembershipForAuthenticatedUser","unblockUser","updateMembershipForAuthenticatedUser","updateWebhook","updateWebhookConfigForOrg","packages","deletePackageForAuthenticatedUser","deletePackageForOrg","deletePackageForUser","deletePackageVersionForAuthenticatedUser","deletePackageVersionForOrg","deletePackageVersionForUser","getAllPackageVersionsForAPackageOwnedByAnOrg","getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser","getAllPackageVersionsForPackageOwnedByAuthenticatedUser","getAllPackageVersionsForPackageOwnedByOrg","getAllPackageVersionsForPackageOwnedByUser","getPackageForAuthenticatedUser","getPackageForOrganization","getPackageForUser","getPackageVersionForAuthenticatedUser","getPackageVersionForOrganization","getPackageVersionForUser","listPackagesForAuthenticatedUser","listPackagesForOrganization","listPackagesForUser","restorePackageForAuthenticatedUser","restorePackageForOrg","restorePackageForUser","restorePackageVersionForAuthenticatedUser","restorePackageVersionForOrg","restorePackageVersionForUser","projects","addCollaborator","createCard","createColumn","createForAuthenticatedUser","createForOrg","createForRepo","deleteCard","deleteColumn","getCard","getColumn","getPermissionForUser","listCards","listCollaborators","listColumns","moveCard","moveColumn","removeCollaborator","updateCard","updateColumn","pulls","checkIfMerged","createReplyForReviewComment","createReview","createReviewComment","deletePendingReview","deleteReviewComment","dismissReview","getReview","getReviewComment","listCommentsForReview","listFiles","listRequestedReviewers","listReviewComments","listReviewCommentsForRepo","listReviews","merge","removeRequestedReviewers","requestReviewers","submitReview","updateBranch","updateReview","updateReviewComment","rateLimit","reactions","createForCommitComment","createForIssue","createForIssueComment","createForPullRequestReviewComment","createForRelease","createForTeamDiscussionCommentInOrg","createForTeamDiscussionInOrg","deleteForCommitComment","deleteForIssue","deleteForIssueComment","deleteForPullRequestComment","deleteForTeamDiscussion","deleteForTeamDiscussionComment","listForCommitComment","listForIssue","listForIssueComment","listForPullRequestReviewComment","listForTeamDiscussionCommentInOrg","listForTeamDiscussionInOrg","repos","acceptInvitation","acceptInvitationForAuthenticatedUser","addAppAccessRestrictions","mapToData","addStatusCheckContexts","addTeamAccessRestrictions","addUserAccessRestrictions","checkCollaborator","checkVulnerabilityAlerts","compareCommits","compareCommitsWithBasehead","createAutolink","createCommitComment","createCommitSignatureProtection","createCommitStatus","createDeployKey","createDeployment","createDeploymentStatus","createDispatchEvent","createFork","createInOrg","createOrUpdateEnvironment","createOrUpdateFileContents","createPagesSite","createRelease","createUsingTemplate","declineInvitation","declineInvitationForAuthenticatedUser","deleteAccessRestrictions","deleteAdminBranchProtection","deleteAnEnvironment","deleteAutolink","deleteBranchProtection","deleteCommitComment","deleteCommitSignatureProtection","deleteDeployKey","deleteDeployment","deleteFile","deleteInvitation","deletePagesSite","deletePullRequestReviewProtection","deleteRelease","deleteReleaseAsset","disableAutomatedSecurityFixes","disableLfsForRepo","disableVulnerabilityAlerts","downloadArchive","downloadTarballArchive","downloadZipballArchive","enableAutomatedSecurityFixes","enableLfsForRepo","enableVulnerabilityAlerts","generateReleaseNotes","getAccessRestrictions","getAdminBranchProtection","getAllEnvironments","getAllStatusCheckContexts","getAllTopics","getAppsWithAccessToProtectedBranch","getAutolink","getBranch","getBranchProtection","getClones","getCodeFrequencyStats","getCollaboratorPermissionLevel","getCombinedStatusForRef","getCommitActivityStats","getCommitComment","getCommitSignatureProtection","getCommunityProfileMetrics","getContent","getContributorsStats","getDeployKey","getDeployment","getDeploymentStatus","getEnvironment","getLatestPagesBuild","getLatestRelease","getPages","getPagesBuild","getPagesHealthCheck","getParticipationStats","getPullRequestReviewProtection","getPunchCardStats","getReadme","getReadmeInDirectory","getRelease","getReleaseAsset","getReleaseByTag","getStatusChecksProtection","getTeamsWithAccessToProtectedBranch","getTopPaths","getTopReferrers","getUsersWithAccessToProtectedBranch","getViews","getWebhookConfigForRepo","listAutolinks","listBranches","listBranchesForHeadCommit","listCommentsForCommit","listCommitCommentsForRepo","listCommitStatusesForRef","listContributors","listDeployKeys","listDeploymentStatuses","listDeployments","listInvitations","listInvitationsForAuthenticatedUser","listLanguages","listPagesBuilds","listPullRequestsAssociatedWithCommit","listReleaseAssets","listReleases","listTags","listTeams","mergeUpstream","removeAppAccessRestrictions","removeStatusCheckContexts","removeStatusCheckProtection","removeTeamAccessRestrictions","removeUserAccessRestrictions","renameBranch","replaceAllTopics","requestPagesBuild","setAdminBranchProtection","setAppAccessRestrictions","setStatusCheckContexts","setTeamAccessRestrictions","setUserAccessRestrictions","testPushWebhook","transfer","updateBranchProtection","updateCommitComment","updateInformationAboutPagesSite","updateInvitation","updatePullRequestReviewProtection","updateRelease","updateReleaseAsset","updateStatusCheckPotection","updateStatusCheckProtection","updateWebhookConfigForRepo","uploadReleaseAsset","baseUrl","search","code","commits","issuesAndPullRequests","labels","topics","users","secretScanning","listAlertsForOrg","teams","addOrUpdateMembershipForUserInOrg","addOrUpdateProjectPermissionsInOrg","addOrUpdateRepoPermissionsInOrg","checkPermissionsForProjectInOrg","checkPermissionsForRepoInOrg","createDiscussionCommentInOrg","createDiscussionInOrg","deleteDiscussionCommentInOrg","deleteDiscussionInOrg","deleteInOrg","getByName","getDiscussionCommentInOrg","getDiscussionInOrg","getMembershipForUserInOrg","listChildInOrg","listDiscussionCommentsInOrg","listDiscussionsInOrg","listMembersInOrg","listPendingInvitationsInOrg","listProjectsInOrg","listReposInOrg","removeMembershipForUserInOrg","removeProjectInOrg","removeRepoInOrg","updateDiscussionCommentInOrg","updateDiscussionInOrg","updateInOrg","addEmailForAuthenticated","addEmailForAuthenticatedUser","block","checkBlocked","checkFollowingForUser","checkPersonIsFollowedByAuthenticated","createGpgKeyForAuthenticated","createGpgKeyForAuthenticatedUser","createPublicSshKeyForAuthenticated","createPublicSshKeyForAuthenticatedUser","deleteEmailForAuthenticated","deleteEmailForAuthenticatedUser","deleteGpgKeyForAuthenticated","deleteGpgKeyForAuthenticatedUser","deletePublicSshKeyForAuthenticated","deletePublicSshKeyForAuthenticatedUser","follow","getByUsername","getContextForUser","getGpgKeyForAuthenticated","getGpgKeyForAuthenticatedUser","getPublicSshKeyForAuthenticated","getPublicSshKeyForAuthenticatedUser","listBlockedByAuthenticated","listBlockedByAuthenticatedUser","listEmailsForAuthenticated","listEmailsForAuthenticatedUser","listFollowedByAuthenticated","listFollowedByAuthenticatedUser","listFollowersForAuthenticatedUser","listFollowersForUser","listFollowingForUser","listGpgKeysForAuthenticated","listGpgKeysForAuthenticatedUser","listGpgKeysForUser","listPublicEmailsForAuthenticated","listPublicEmailsForAuthenticatedUser","listPublicKeysForUser","listPublicSshKeysForAuthenticated","listPublicSshKeysForAuthenticatedUser","setPrimaryEmailVisibilityForAuthenticated","setPrimaryEmailVisibilityForAuthenticatedUser","unblock","unfollow","updateAuthenticated","VERSION","endpointsToMethods","octokit","endpointsMap","newMethods","scope","endpoints","Object","entries","methodName","endpoint","route","defaults","decorations","method","url","split","endpointDefaults","assign","scopeMethods","decorate","request","requestWithDefaults","withDecorations","args","options","data","undefined","newScope","newMethodName","log","warn","deprecated","name","alias","restEndpointMethods","api","ENDPOINTS","rest","legacyRestEndpointMethods"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAMA,SAAS,GAAG;AACdC,EAAAA,OAAO,EAAE;AACLC,IAAAA,0BAA0B,EAAE,CACxB,4EADwB,CADvB;AAILC,IAAAA,kBAAkB,EAAE,CAChB,0DADgB,CAJf;AAOLC,IAAAA,iBAAiB,EAAE,CACf,yDADe,CAPd;AAULC,IAAAA,+BAA+B,EAAE,CAC7B,yFAD6B,CAV5B;AAaLC,IAAAA,uBAAuB,EAAE,CAAC,+CAAD,CAbpB;AAcLC,IAAAA,wBAAwB,EAAE,CACtB,yDADsB,CAdrB;AAiBLC,IAAAA,6BAA6B,EAAE,CAC3B,qDAD2B,CAjB1B;AAoBLC,IAAAA,8BAA8B,EAAE,CAC5B,+DAD4B,CApB3B;AAuBLC,IAAAA,uBAAuB,EAAE,CAAC,+CAAD,CAvBpB;AAwBLC,IAAAA,wBAAwB,EAAE,CACtB,yDADsB,CAxBrB;AA2BLC,IAAAA,sBAAsB,EAAE,CACpB,uEADoB,CA3BnB;AA8BLC,IAAAA,cAAc,EAAE,CACZ,8DADY,CA9BX;AAiCLC,IAAAA,uBAAuB,EAAE,CACrB,4FADqB,CAjCpB;AAoCLC,IAAAA,eAAe,EAAE,CAAC,kDAAD,CApCZ;AAqCLC,IAAAA,gBAAgB,EAAE,CACd,4DADc,CArCb;AAwCLC,IAAAA,6BAA6B,EAAE,CAC3B,gDAD2B,CAxC1B;AA2CLC,IAAAA,8BAA8B,EAAE,CAC5B,0DAD4B,CA3C3B;AA8CLC,IAAAA,iBAAiB,EAAE,CAAC,oDAAD,CA9Cd;AA+CLC,IAAAA,qBAAqB,EAAE,CACnB,yDADmB,CA/ClB;AAkDLC,IAAAA,kDAAkD,EAAE,CAChD,qEADgD,CAlD/C;AAqDLC,IAAAA,eAAe,EAAE,CACb,mEADa,CArDZ;AAwDLC,IAAAA,gBAAgB,EAAE,CACd,4EADc,CAxDb;AA2DLC,IAAAA,6BAA6B,EAAE,CAC3B,sDAD2B,CA3D1B;AA8DLC,IAAAA,8BAA8B,EAAE,CAC5B,gFAD4B,CA9D3B;AAiELC,IAAAA,uBAAuB,EAAE,CACrB,sDADqB,CAjEpB;AAoELC,IAAAA,iDAAiD,EAAE,CAC/C,kEAD+C,CApE9C;AAuELC,IAAAA,cAAc,EAAE,CACZ,kEADY,CAvEX;AA0ELC,IAAAA,6BAA6B,EAAE,CAC3B,sDAD2B,CA1E1B;AA6ELC,IAAAA,2BAA2B,EAAE,CACzB,gEADyB,CA7ExB;AAgFLC,IAAAA,WAAW,EAAE,CAAC,2DAAD,CAhFR;AAiFLC,IAAAA,uBAAuB,EAAE,CACrB,sFADqB,CAjFpB;AAoFLC,IAAAA,oBAAoB,EAAE,CAClB,yFADkB,CApFjB;AAuFLC,IAAAA,uCAAuC,EAAE,CACrC,qCADqC,CAvFpC;AA0FLC,IAAAA,qCAAqC,EAAE,CACnC,+CADmC,CA1FlC;AA6FLC,IAAAA,oBAAoB,EAAE,CAAC,iDAAD,CA7FjB;AA8FLC,IAAAA,eAAe,EAAE,CAAC,4CAAD,CA9FZ;AA+FLC,IAAAA,YAAY,EAAE,CAAC,+CAAD,CA/FT;AAgGLC,IAAAA,2BAA2B,EAAE,CACzB,qEADyB,CAhGxB;AAmGLC,IAAAA,kBAAkB,EAAE,CAChB,+CADgB,EAEhB,EAFgB,EAGhB;AAAEC,MAAAA,OAAO,EAAE,CAAC,SAAD,EAAY,uCAAZ;AAAX,KAHgB,CAnGf;AAwGLC,IAAAA,gBAAgB,EAAE,CAAC,sDAAD,CAxGb;AAyGLC,IAAAA,aAAa,EAAE,CAAC,yDAAD,CAzGV;AA0GLC,IAAAA,gBAAgB,EAAE,CACd,2DADc,CA1Gb;AA6GLC,IAAAA,yBAAyB,EAAE,CAAC,6CAAD,CA7GtB;AA8GLC,IAAAA,0BAA0B,EAAE,CACxB,uDADwB,CA9GvB;AAiHLC,IAAAA,WAAW,EAAE,CAAC,2DAAD,CAjHR;AAkHLC,IAAAA,cAAc,EAAE,CAAC,iDAAD,CAlHX;AAmHLC,IAAAA,qBAAqB,EAAE,CACnB,2EADmB,CAnHlB;AAsHLC,IAAAA,mBAAmB,EAAE,CACjB,wDADiB,CAtHhB;AAyHLC,IAAAA,gBAAgB,EAAE,CACd,kEADc,CAzHb;AA4HLC,IAAAA,oBAAoB,EAAE,CAAC,6CAAD,CA5HjB;AA6HLC,IAAAA,sBAAsB,EAAE,CACpB,2EADoB,CA7HnB;AAgILC,IAAAA,sBAAsB,EAAE,CACpB,sDADoB,CAhInB;AAmILC,IAAAA,6BAA6B,EAAE,CAC3B,gFAD2B,CAnI1B;AAsILC,IAAAA,cAAc,EAAE,CAAC,iCAAD,CAtIX;AAuILC,IAAAA,eAAe,EAAE,CAAC,2CAAD,CAvIZ;AAwILC,IAAAA,iBAAiB,EAAE,CAAC,6CAAD,CAxId;AAyILC,IAAAA,4BAA4B,EAAE,CAAC,2CAAD,CAzIzB;AA0ILC,IAAAA,6BAA6B,EAAE,CAC3B,qDAD2B,CA1I1B;AA6ILC,IAAAA,6BAA6B,EAAE,CAC3B,4DAD2B,CA7I1B;AAgJLC,IAAAA,wDAAwD,EAAE,CACtD,kDADsD,CAhJrD;AAmJLC,IAAAA,2BAA2B,EAAE,CAAC,iCAAD,CAnJxB;AAoJLC,IAAAA,4BAA4B,EAAE,CAAC,2CAAD,CApJzB;AAqJLC,IAAAA,wBAAwB,EAAE,CACtB,2DADsB,CArJrB;AAwJLC,IAAAA,gBAAgB,EAAE,CACd,gEADc,CAxJb;AA2JLC,IAAAA,uBAAuB,EAAE,CAAC,wCAAD,CA3JpB;AA4JLC,IAAAA,+BAA+B,EAAE,CAC7B,+EAD6B,CA5J5B;AA+JLC,IAAAA,8BAA8B,EAAE,CAC5B,sEAD4B,CA/J3B;AAkKLC,IAAAA,6BAA6B,EAAE,CAC3B,sDAD2B,CAlK1B;AAqKLC,IAAAA,2BAA2B,EAAE,CACzB,gEADyB,CArKxB;AAwKLC,IAAAA,uCAAuC,EAAE,CACrC,qCADqC,CAxKpC;AA2KLC,IAAAA,qCAAqC,EAAE,CACnC,+CADmC,CA3KlC;AA8KLC,IAAAA,4BAA4B,EAAE,CAC1B,4DAD0B,CA9KzB;AAiLLC,IAAAA,uDAAuD,EAAE,CACrD,kDADqD;AAjLpD,GADK;AAsLdC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,qCAAqC,EAAE,CAAC,kCAAD,CADjC;AAENC,IAAAA,sBAAsB,EAAE,CAAC,2CAAD,CAFlB;AAGNC,IAAAA,wBAAwB,EAAE,CACtB,wDADsB,CAHpB;AAMNC,IAAAA,QAAQ,EAAE,CAAC,YAAD,CANJ;AAONC,IAAAA,mBAAmB,EAAE,CAAC,wCAAD,CAPf;AAQNC,IAAAA,SAAS,EAAE,CAAC,wCAAD,CARL;AASNC,IAAAA,yCAAyC,EAAE,CACvC,qDADuC,CATrC;AAYNC,IAAAA,8BAA8B,EAAE,CAAC,8BAAD,CAZ1B;AAaNC,IAAAA,qCAAqC,EAAE,CAAC,oBAAD,CAbjC;AAcNC,IAAAA,iCAAiC,EAAE,CAC/B,yCAD+B,CAd7B;AAiBNC,IAAAA,gBAAgB,EAAE,CAAC,aAAD,CAjBZ;AAkBNC,IAAAA,8BAA8B,EAAE,CAAC,qCAAD,CAlB1B;AAmBNC,IAAAA,uBAAuB,EAAE,CAAC,qCAAD,CAnBnB;AAoBNC,IAAAA,mBAAmB,EAAE,CAAC,wBAAD,CApBf;AAqBNC,IAAAA,yBAAyB,EAAE,CAAC,uCAAD,CArBrB;AAsBNC,IAAAA,+BAA+B,EAAE,CAC7B,8CAD6B,CAtB3B;AAyBNC,IAAAA,cAAc,EAAE,CAAC,kCAAD,CAzBV;AA0BNC,IAAAA,yCAAyC,EAAE,CACvC,yCADuC,CA1BrC;AA6BNC,IAAAA,mCAAmC,EAAE,CAAC,mBAAD,CA7B/B;AA8BNC,IAAAA,sBAAsB,EAAE,CAAC,+BAAD,CA9BlB;AA+BNC,IAAAA,sBAAsB,EAAE,CAAC,qCAAD,CA/BlB;AAgCNC,IAAAA,qBAAqB,EAAE,CAAC,sCAAD,CAhCjB;AAiCNC,IAAAA,oCAAoC,EAAE,CAAC,yBAAD,CAjChC;AAkCNC,IAAAA,mBAAmB,EAAE,CAAC,uCAAD,CAlCf;AAmCNC,IAAAA,uBAAuB,EAAE,CAAC,oBAAD,CAnCnB;AAoCNC,IAAAA,2BAA2B,EAAE,CAAC,yCAAD,CApCvB;AAqCNC,IAAAA,gBAAgB,EAAE,CAAC,0CAAD,CArCZ;AAsCNC,IAAAA,mBAAmB,EAAE,CAAC,wCAAD,CAtCf;AAuCNC,IAAAA,qBAAqB,EAAE,CACnB,qDADmB,CAvCjB;AA0CNC,IAAAA,4BAA4B,EAAE,CAAC,kCAAD,CA1CxB;AA2CNC,IAAAA,8BAA8B,EAAE,CAAC,qCAAD;AA3C1B,GAtLI;AAmOdC,EAAAA,IAAI,EAAE;AACFC,IAAAA,qBAAqB,EAAE,CACnB,wEADmB,EAEnB,EAFmB,EAGnB;AAAEpE,MAAAA,OAAO,EAAE,CAAC,MAAD,EAAS,2CAAT;AAAX,KAHmB,CADrB;AAMFqE,IAAAA,yCAAyC,EAAE,CACvC,wEADuC,CANzC;AASFC,IAAAA,UAAU,EAAE,CAAC,sCAAD,CATV;AAUFC,IAAAA,uBAAuB,EAAE,CACrB,6DADqB,EAErB;AAAEC,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFqB,CAVvB;AAcFC,IAAAA,8BAA8B,EAAE,CAC5B,kFAD4B,EAE5B;AAAEF,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAF4B,CAd9B;AAkBFE,IAAAA,kBAAkB,EAAE,CAAC,wCAAD,CAlBlB;AAmBFC,IAAAA,6BAA6B,EAAE,CAC3B,yDAD2B,CAnB7B;AAsBFC,IAAAA,mBAAmB,EAAE,CAAC,wCAAD,CAtBnB;AAuBFC,IAAAA,kBAAkB,EAAE,CAAC,6CAAD,CAvBlB;AAwBFC,IAAAA,WAAW,EAAE,CAAC,wCAAD,CAxBX;AAyBFC,IAAAA,gBAAgB,EAAE,CAAC,UAAD,CAzBhB;AA0BFC,IAAAA,SAAS,EAAE,CAAC,sBAAD,CA1BT;AA2BFC,IAAAA,eAAe,EAAE,CAAC,0CAAD,CA3Bf;AA4BFC,IAAAA,kBAAkB,EAAE,CAAC,8BAAD,CA5BlB;AA6BFC,IAAAA,mBAAmB,EAAE,CAAC,wCAAD,CA7BnB;AA8BFC,IAAAA,6BAA6B,EAAE,CAC3B,gDAD2B,CA9B7B;AAiCFC,IAAAA,oCAAoC,EAAE,CAClC,wDADkC,CAjCpC;AAoCFC,IAAAA,mBAAmB,EAAE,CAAC,oCAAD,CApCnB;AAqCFC,IAAAA,sBAAsB,EAAE,CAAC,sBAAD,CArCtB;AAsCFC,IAAAA,kBAAkB,EAAE,CAAC,wCAAD,CAtClB;AAuCFC,IAAAA,mBAAmB,EAAE,CAAC,mDAAD,CAvCnB;AAwCFC,IAAAA,0BAA0B,EAAE,CACxB,2DADwB,CAxC1B;AA2CFC,IAAAA,yCAAyC,EAAE,CACvC,wDADuC,CA3CzC;AA8CFC,IAAAA,iBAAiB,EAAE,CAAC,wBAAD,CA9CjB;AA+CFC,IAAAA,qCAAqC,EAAE,CAAC,yBAAD,CA/CrC;AAgDFC,IAAAA,SAAS,EAAE,CAAC,gCAAD,CAhDT;AAiDFC,IAAAA,gBAAgB,EAAE,CAAC,wCAAD,CAjDhB;AAkDFC,IAAAA,iCAAiC,EAAE,CAAC,gCAAD,CAlDjC;AAmDFC,IAAAA,qCAAqC,EAAE,CAAC,iCAAD,CAnDrC;AAoDFC,IAAAA,4CAA4C,EAAE,CAC1C,yCAD0C,CApD5C;AAuDFC,IAAAA,qBAAqB,EAAE,CAAC,0BAAD,CAvDrB;AAwDFC,IAAAA,wBAAwB,EAAE,CACtB,kDADsB,CAxDxB;AA2DFC,IAAAA,0BAA0B,EAAE,CACxB,2EADwB,EAExB,EAFwB,EAGxB;AAAEtG,MAAAA,OAAO,EAAE,CAAC,MAAD,EAAS,gDAAT;AAAX,KAHwB,CA3D1B;AAgEFuG,IAAAA,8CAA8C,EAAE,CAC5C,2EAD4C,CAhE9C;AAmEFC,IAAAA,UAAU,EAAE,CAAC,uCAAD,CAnEV;AAoEFC,IAAAA,6BAA6B,EAAE,CAAC,4BAAD,CApE7B;AAqEFC,IAAAA,UAAU,EAAE,CAAC,6CAAD,CArEV;AAsEFC,IAAAA,mBAAmB,EAAE,CAAC,oDAAD,CAtEnB;AAuEFC,IAAAA,qBAAqB,EAAE,CACnB,uDADmB,CAvErB;AA0EFC,IAAAA,yBAAyB,EAAE,CAAC,wBAAD;AA1EzB,GAnOQ;AA+SdC,EAAAA,OAAO,EAAE;AACLC,IAAAA,0BAA0B,EAAE,CAAC,0CAAD,CADvB;AAELC,IAAAA,2BAA2B,EAAE,CACzB,gDADyB,CAFxB;AAKLC,IAAAA,2BAA2B,EAAE,CAAC,2CAAD,CALxB;AAMLC,IAAAA,4BAA4B,EAAE,CAC1B,iDAD0B,CANzB;AASLC,IAAAA,0BAA0B,EAAE,CACxB,iDADwB,CATvB;AAYLC,IAAAA,2BAA2B,EAAE,CACzB,uDADyB;AAZxB,GA/SK;AA+TdC,EAAAA,MAAM,EAAE;AACJC,IAAAA,MAAM,EAAE,CAAC,uCAAD,CADJ;AAEJC,IAAAA,WAAW,EAAE,CAAC,yCAAD,CAFT;AAGJC,IAAAA,GAAG,EAAE,CAAC,qDAAD,CAHD;AAIJC,IAAAA,QAAQ,EAAE,CAAC,yDAAD,CAJN;AAKJC,IAAAA,eAAe,EAAE,CACb,iEADa,CALb;AAQJC,IAAAA,UAAU,EAAE,CAAC,oDAAD,CARR;AASJC,IAAAA,YAAY,EAAE,CACV,oEADU,CATV;AAYJC,IAAAA,gBAAgB,EAAE,CAAC,sDAAD,CAZd;AAaJC,IAAAA,YAAY,EAAE,CACV,gEADU,CAbV;AAgBJC,IAAAA,cAAc,EAAE,CACZ,oEADY,CAhBZ;AAmBJC,IAAAA,oBAAoB,EAAE,CAClB,sDADkB,CAnBlB;AAsBJC,IAAAA,MAAM,EAAE,CAAC,uDAAD;AAtBJ,GA/TM;AAuVdC,EAAAA,YAAY,EAAE;AACVC,IAAAA,cAAc,EAAE,CACZ,oFADY,CADN;AAIVC,IAAAA,QAAQ,EAAE,CACN,+DADM,EAEN,EAFM,EAGN;AAAEC,MAAAA,iBAAiB,EAAE;AAAEC,QAAAA,QAAQ,EAAE;AAAZ;AAArB,KAHM,CAJA;AASVC,IAAAA,WAAW,EAAE,CACT,gEADS,CATH;AAYVC,IAAAA,QAAQ,EAAE,CAAC,2DAAD,CAZA;AAaVC,IAAAA,kBAAkB,EAAE,CAChB,yEADgB,CAbV;AAgBVC,IAAAA,iBAAiB,EAAE,CAAC,gDAAD,CAhBT;AAiBVC,IAAAA,mBAAmB,EAAE,CACjB,yEADiB,EAEjB,EAFiB,EAGjB;AAAE3I,MAAAA,OAAO,EAAE,CAAC,cAAD,EAAiB,oBAAjB;AAAX,KAHiB,CAjBX;AAsBV4I,IAAAA,kBAAkB,EAAE,CAAC,kDAAD,CAtBV;AAuBVC,IAAAA,WAAW,EAAE,CACT,iEADS,CAvBH;AA0BVC,IAAAA,WAAW,EAAE,CAAC,iDAAD;AA1BH,GAvVA;AAmXdC,EAAAA,cAAc,EAAE;AACZC,IAAAA,oBAAoB,EAAE,CAAC,uBAAD,CADV;AAEZC,IAAAA,cAAc,EAAE,CAAC,6BAAD;AAFJ,GAnXF;AAuXdC,EAAAA,MAAM,EAAE;AAAE1B,IAAAA,GAAG,EAAE,CAAC,aAAD;AAAP,GAvXM;AAwXd2B,EAAAA,eAAe,EAAE;AACbC,IAAAA,kDAAkD,EAAE,CAChD,6EADgD,CADvC;AAIbC,IAAAA,iDAAiD,EAAE,CAC/C,0EAD+C,CAJtC;AAObC,IAAAA,2BAA2B,EAAE,CACzB,oEADyB,CAPhB;AAUbC,IAAAA,qCAAqC,EAAE,CACnC,mDADmC,CAV1B;AAabC,IAAAA,uDAAuD,EAAE,CACrD,iEADqD,CAb5C;AAgBbC,IAAAA,2BAA2B,EAAE,CACzB,oEADyB,CAhBhB;AAmBbC,IAAAA,qCAAqC,EAAE,CACnC,mDADmC,CAnB1B;AAsBbC,IAAAA,sDAAsD,EAAE,CACpD,iEADoD;AAtB3C,GAxXH;AAkZdC,EAAAA,KAAK,EAAE;AACHC,IAAAA,cAAc,EAAE,CAAC,2BAAD,CADb;AAEHvC,IAAAA,MAAM,EAAE,CAAC,aAAD,CAFL;AAGHwC,IAAAA,aAAa,EAAE,CAAC,gCAAD,CAHZ;AAIHC,IAAAA,MAAM,EAAE,CAAC,yBAAD,CAJL;AAKHC,IAAAA,aAAa,EAAE,CAAC,+CAAD,CALZ;AAMHC,IAAAA,IAAI,EAAE,CAAC,6BAAD,CANH;AAOHzC,IAAAA,GAAG,EAAE,CAAC,sBAAD,CAPF;AAQH0C,IAAAA,UAAU,EAAE,CAAC,4CAAD,CART;AASHC,IAAAA,WAAW,EAAE,CAAC,4BAAD,CATV;AAUHC,IAAAA,IAAI,EAAE,CAAC,YAAD,CAVH;AAWHC,IAAAA,YAAY,EAAE,CAAC,+BAAD,CAXX;AAYHC,IAAAA,WAAW,EAAE,CAAC,8BAAD,CAZV;AAaHC,IAAAA,WAAW,EAAE,CAAC,6BAAD,CAbV;AAcHC,IAAAA,SAAS,EAAE,CAAC,4BAAD,CAdR;AAeHC,IAAAA,UAAU,EAAE,CAAC,mBAAD,CAfT;AAgBHC,IAAAA,WAAW,EAAE,CAAC,oBAAD,CAhBV;AAiBHC,IAAAA,IAAI,EAAE,CAAC,2BAAD,CAjBH;AAkBHC,IAAAA,MAAM,EAAE,CAAC,8BAAD,CAlBL;AAmBH3C,IAAAA,MAAM,EAAE,CAAC,wBAAD,CAnBL;AAoBH4C,IAAAA,aAAa,EAAE,CAAC,8CAAD;AApBZ,GAlZO;AAwadC,EAAAA,GAAG,EAAE;AACDC,IAAAA,UAAU,EAAE,CAAC,sCAAD,CADX;AAEDC,IAAAA,YAAY,EAAE,CAAC,wCAAD,CAFb;AAGDC,IAAAA,SAAS,EAAE,CAAC,qCAAD,CAHV;AAIDC,IAAAA,SAAS,EAAE,CAAC,qCAAD,CAJV;AAKDC,IAAAA,UAAU,EAAE,CAAC,sCAAD,CALX;AAMDC,IAAAA,SAAS,EAAE,CAAC,6CAAD,CANV;AAODC,IAAAA,OAAO,EAAE,CAAC,gDAAD,CAPR;AAQDC,IAAAA,SAAS,EAAE,CAAC,oDAAD,CARV;AASDC,IAAAA,MAAM,EAAE,CAAC,yCAAD,CATP;AAUDC,IAAAA,MAAM,EAAE,CAAC,8CAAD,CAVP;AAWDC,IAAAA,OAAO,EAAE,CAAC,gDAAD,CAXR;AAYDC,IAAAA,gBAAgB,EAAE,CAAC,mDAAD,CAZjB;AAaDC,IAAAA,SAAS,EAAE,CAAC,4CAAD;AAbV,GAxaS;AAubdC,EAAAA,SAAS,EAAE;AACPC,IAAAA,eAAe,EAAE,CAAC,0BAAD,CADV;AAEPC,IAAAA,WAAW,EAAE,CAAC,iCAAD;AAFN,GAvbG;AA2bdC,EAAAA,YAAY,EAAE;AACVC,IAAAA,mCAAmC,EAAE,CAAC,8BAAD,CAD3B;AAEVC,IAAAA,qBAAqB,EAAE,CAAC,oCAAD,CAFb;AAGVC,IAAAA,sBAAsB,EAAE,CAAC,8CAAD,CAHd;AAIVC,IAAAA,iCAAiC,EAAE,CAC/B,8BAD+B,EAE/B,EAF+B,EAG/B;AAAEnM,MAAAA,OAAO,EAAE,CAAC,cAAD,EAAiB,qCAAjB;AAAX,KAH+B,CAJzB;AASVoM,IAAAA,sCAAsC,EAAE,CAAC,iCAAD,CAT9B;AAUVC,IAAAA,wBAAwB,EAAE,CAAC,uCAAD,CAVhB;AAWVC,IAAAA,yBAAyB,EAAE,CACvB,iDADuB,CAXjB;AAcVC,IAAAA,oCAAoC,EAAE,CAClC,iCADkC,EAElC,EAFkC,EAGlC;AAAEvM,MAAAA,OAAO,EAAE,CAAC,cAAD,EAAiB,wCAAjB;AAAX,KAHkC,CAd5B;AAmBVwM,IAAAA,mCAAmC,EAAE,CAAC,8BAAD,CAnB3B;AAoBVC,IAAAA,qBAAqB,EAAE,CAAC,oCAAD,CApBb;AAqBVC,IAAAA,sBAAsB,EAAE,CAAC,8CAAD,CArBd;AAsBVC,IAAAA,iCAAiC,EAAE,CAC/B,8BAD+B,EAE/B,EAF+B,EAG/B;AAAE3M,MAAAA,OAAO,EAAE,CAAC,cAAD,EAAiB,qCAAjB;AAAX,KAH+B;AAtBzB,GA3bA;AAudd4M,EAAAA,MAAM,EAAE;AACJC,IAAAA,YAAY,EAAE,CACV,4DADU,CADV;AAIJC,IAAAA,SAAS,EAAE,CAAC,yDAAD,CAJP;AAKJC,IAAAA,sBAAsB,EAAE,CAAC,gDAAD,CALpB;AAMJzF,IAAAA,MAAM,EAAE,CAAC,mCAAD,CANJ;AAOJwC,IAAAA,aAAa,EAAE,CACX,2DADW,CAPX;AAUJkD,IAAAA,WAAW,EAAE,CAAC,mCAAD,CAVT;AAWJC,IAAAA,eAAe,EAAE,CAAC,uCAAD,CAXb;AAYJjD,IAAAA,aAAa,EAAE,CACX,2DADW,CAZX;AAeJkD,IAAAA,WAAW,EAAE,CAAC,4CAAD,CAfT;AAgBJC,IAAAA,eAAe,EAAE,CACb,4DADa,CAhBb;AAmBJ3F,IAAAA,GAAG,EAAE,CAAC,iDAAD,CAnBD;AAoBJ0C,IAAAA,UAAU,EAAE,CAAC,wDAAD,CApBR;AAqBJkD,IAAAA,QAAQ,EAAE,CAAC,oDAAD,CArBN;AAsBJC,IAAAA,QAAQ,EAAE,CAAC,yCAAD,CAtBN;AAuBJC,IAAAA,YAAY,EAAE,CAAC,yDAAD,CAvBV;AAwBJlD,IAAAA,IAAI,EAAE,CAAC,aAAD,CAxBF;AAyBJmD,IAAAA,aAAa,EAAE,CAAC,qCAAD,CAzBX;AA0BJlD,IAAAA,YAAY,EAAE,CAAC,0DAAD,CA1BV;AA2BJmD,IAAAA,mBAAmB,EAAE,CAAC,2CAAD,CA3BjB;AA4BJC,IAAAA,UAAU,EAAE,CAAC,wDAAD,CA5BR;AA6BJC,IAAAA,iBAAiB,EAAE,CAAC,yCAAD,CA7Bf;AA8BJC,IAAAA,qBAAqB,EAAE,CACnB,0DADmB,CA9BnB;AAiCJC,IAAAA,wBAAwB,EAAE,CAAC,kBAAD,CAjCtB;AAkCJC,IAAAA,UAAU,EAAE,CAAC,wBAAD,CAlCR;AAmCJC,IAAAA,WAAW,EAAE,CAAC,kCAAD,CAnCT;AAoCJC,IAAAA,sBAAsB,EAAE,CACpB,gEADoB,CApCpB;AAuCJC,IAAAA,iBAAiB,EAAE,CAAC,kCAAD,CAvCf;AAwCJC,IAAAA,iBAAiB,EAAE,CACf,wDADe,CAxCf;AA2CJC,IAAAA,cAAc,EAAE,CAAC,sCAAD,CA3CZ;AA4CJC,IAAAA,IAAI,EAAE,CAAC,sDAAD,CA5CF;AA6CJC,IAAAA,eAAe,EAAE,CACb,2DADa,CA7Cb;AAgDJC,IAAAA,eAAe,EAAE,CACb,8DADa,CAhDb;AAmDJC,IAAAA,WAAW,EAAE,CACT,kEADS,CAnDT;AAsDJC,IAAAA,SAAS,EAAE,CAAC,wDAAD,CAtDP;AAuDJC,IAAAA,MAAM,EAAE,CAAC,yDAAD,CAvDJ;AAwDJvG,IAAAA,MAAM,EAAE,CAAC,mDAAD,CAxDJ;AAyDJ4C,IAAAA,aAAa,EAAE,CAAC,0DAAD,CAzDX;AA0DJ4D,IAAAA,WAAW,EAAE,CAAC,2CAAD,CA1DT;AA2DJC,IAAAA,eAAe,EAAE,CACb,2DADa;AA3Db,GAvdM;AAshBdC,EAAAA,QAAQ,EAAE;AACNnH,IAAAA,GAAG,EAAE,CAAC,yBAAD,CADC;AAENoH,IAAAA,kBAAkB,EAAE,CAAC,eAAD,CAFd;AAGNC,IAAAA,UAAU,EAAE,CAAC,mCAAD;AAHN,GAthBI;AA2hBdC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,MAAM,EAAE,CAAC,gBAAD,CADF;AAENC,IAAAA,SAAS,EAAE,CACP,oBADO,EAEP;AAAEC,MAAAA,OAAO,EAAE;AAAE,wBAAgB;AAAlB;AAAX,KAFO;AAFL,GA3hBI;AAkiBdC,EAAAA,IAAI,EAAE;AACF1H,IAAAA,GAAG,EAAE,CAAC,WAAD,CADH;AAEF2H,IAAAA,UAAU,EAAE,CAAC,cAAD,CAFV;AAGFC,IAAAA,MAAM,EAAE,CAAC,UAAD,CAHN;AAIFC,IAAAA,IAAI,EAAE,CAAC,OAAD;AAJJ,GAliBQ;AAwiBdC,EAAAA,UAAU,EAAE;AACRC,IAAAA,YAAY,EAAE,CAAC,qCAAD,CADN;AAERC,IAAAA,iCAAiC,EAAE,CAC/B,gDAD+B,CAF3B;AAKRC,IAAAA,mBAAmB,EAAE,CACjB,sDADiB,CALb;AAQRC,IAAAA,qBAAqB,EAAE,CACnB,mDADmB,CARf;AAWRC,IAAAA,8BAA8B,EAAE,CAC5B,6CAD4B,CAXxB;AAcRC,IAAAA,gBAAgB,EAAE,CAAC,0CAAD,CAdV;AAeRC,IAAAA,eAAe,EAAE,CAAC,kCAAD,CAfT;AAgBRC,IAAAA,aAAa,EAAE,CAAC,8CAAD,CAhBP;AAiBRC,IAAAA,6BAA6B,EAAE,CAAC,qCAAD,CAjBvB;AAkBRC,IAAAA,eAAe,EAAE,CAAC,2CAAD,CAlBT;AAmBRpC,IAAAA,wBAAwB,EAAE,CAAC,sBAAD,CAnBlB;AAoBRC,IAAAA,UAAU,EAAE,CAAC,4BAAD,CApBJ;AAqBRoC,IAAAA,6BAA6B,EAAE,CAC3B,kDAD2B,CArBvB;AAwBRC,IAAAA,eAAe,EAAE,CAAC,wDAAD,CAxBT;AAyBRC,IAAAA,gBAAgB,EAAE,CACd,kDADc,EAEd,EAFc,EAGd;AAAEnQ,MAAAA,OAAO,EAAE,CAAC,YAAD,EAAe,+BAAf;AAAX,KAHc,CAzBV;AA8BRoQ,IAAAA,eAAe,EAAE,CAAC,wDAAD,CA9BT;AA+BRC,IAAAA,gBAAgB,EAAE,CAAC,wCAAD,CA/BV;AAgCRC,IAAAA,yBAAyB,EAAE,CAAC,uBAAD,CAhCnB;AAiCRC,IAAAA,WAAW,EAAE,CAAC,6BAAD,CAjCL;AAkCRC,IAAAA,WAAW,EAAE,CAAC,kCAAD,CAlCL;AAmCRC,IAAAA,8BAA8B,EAAE,CAC5B,+DAD4B,CAnCxB;AAsCRC,IAAAA,gBAAgB,EAAE,CACd,qEADc,CAtCV;AAyCRC,IAAAA,YAAY,EAAE,CAAC,oCAAD;AAzCN,GAxiBE;AAmlBdC,EAAAA,IAAI,EAAE;AACFC,IAAAA,SAAS,EAAE,CAAC,mCAAD,CADT;AAEFC,IAAAA,gBAAgB,EAAE,CAAC,gDAAD,CAFhB;AAGFC,IAAAA,gBAAgB,EAAE,CAAC,mCAAD,CAHhB;AAIFC,IAAAA,sBAAsB,EAAE,CAAC,oCAAD,CAJtB;AAKFC,IAAAA,4BAA4B,EAAE,CAAC,2CAAD,CAL5B;AAMFC,IAAAA,kCAAkC,EAAE,CAChC,kDADgC,CANlC;AASFC,IAAAA,gBAAgB,EAAE,CAAC,8BAAD,CAThB;AAUFC,IAAAA,aAAa,EAAE,CAAC,wBAAD,CAVb;AAWFC,IAAAA,aAAa,EAAE,CAAC,oCAAD,CAXb;AAYF7J,IAAAA,GAAG,EAAE,CAAC,iBAAD,CAZH;AAaF8J,IAAAA,iCAAiC,EAAE,CAAC,kCAAD,CAbjC;AAcFC,IAAAA,oBAAoB,EAAE,CAAC,wCAAD,CAdpB;AAeFC,IAAAA,UAAU,EAAE,CAAC,iCAAD,CAfV;AAgBFC,IAAAA,sBAAsB,EAAE,CAAC,wCAAD,CAhBtB;AAiBFhM,IAAAA,kBAAkB,EAAE,CAChB,0DADgB,CAjBlB;AAoBF2E,IAAAA,IAAI,EAAE,CAAC,oBAAD,CApBJ;AAqBFsH,IAAAA,oBAAoB,EAAE,CAAC,+BAAD,CArBpB;AAsBFC,IAAAA,gBAAgB,EAAE,CAAC,wBAAD,CAtBhB;AAuBFC,IAAAA,qBAAqB,EAAE,CAAC,oCAAD,CAvBrB;AAwBFhE,IAAAA,wBAAwB,EAAE,CAAC,gBAAD,CAxBxB;AAyBFrD,IAAAA,WAAW,EAAE,CAAC,4BAAD,CAzBX;AA0BFsH,IAAAA,mBAAmB,EAAE,CAAC,mDAAD,CA1BnB;AA2BFC,IAAAA,WAAW,EAAE,CAAC,yBAAD,CA3BX;AA4BFC,IAAAA,mCAAmC,EAAE,CAAC,4BAAD,CA5BnC;AA6BFC,IAAAA,wBAAwB,EAAE,CAAC,uCAAD,CA7BxB;AA8BFC,IAAAA,sBAAsB,EAAE,CAAC,6BAAD,CA9BtB;AA+BFC,IAAAA,iBAAiB,EAAE,CAAC,gCAAD,CA/BjB;AAgCF9L,IAAAA,qBAAqB,EAAE,CAAC,4CAAD,CAhCrB;AAiCF+L,IAAAA,YAAY,EAAE,CAAC,uBAAD,CAjCZ;AAkCFC,IAAAA,WAAW,EAAE,CAAC,wCAAD,CAlCX;AAmCF/L,IAAAA,wBAAwB,EAAE,CACtB,oEADsB,CAnCxB;AAsCFgM,IAAAA,YAAY,EAAE,CAAC,uCAAD,CAtCZ;AAuCFC,IAAAA,uBAAuB,EAAE,CAAC,2CAAD,CAvCvB;AAwCFC,IAAAA,yBAAyB,EAAE,CACvB,qDADuB,CAxCzB;AA2CFC,IAAAA,0CAA0C,EAAE,CACxC,8CADwC,CA3C1C;AA8CFC,IAAAA,oBAAoB,EAAE,CAAC,wCAAD,CA9CpB;AA+CFC,IAAAA,uCAAuC,EAAE,CACrC,2CADqC,CA/CvC;AAkDFC,IAAAA,WAAW,EAAE,CAAC,sCAAD,CAlDX;AAmDF1K,IAAAA,MAAM,EAAE,CAAC,mBAAD,CAnDN;AAoDF2K,IAAAA,oCAAoC,EAAE,CAClC,oCADkC,CApDpC;AAuDFC,IAAAA,aAAa,EAAE,CAAC,mCAAD,CAvDb;AAwDFC,IAAAA,yBAAyB,EAAE,CAAC,0CAAD;AAxDzB,GAnlBQ;AA6oBdC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,iCAAiC,EAAE,CAC/B,qDAD+B,CAD7B;AAINC,IAAAA,mBAAmB,EAAE,CACjB,2DADiB,CAJf;AAONC,IAAAA,oBAAoB,EAAE,CAClB,iEADkB,CAPhB;AAUNC,IAAAA,wCAAwC,EAAE,CACtC,mFADsC,CAVpC;AAaNC,IAAAA,0BAA0B,EAAE,CACxB,yFADwB,CAbtB;AAgBNC,IAAAA,2BAA2B,EAAE,CACzB,+FADyB,CAhBvB;AAmBNC,IAAAA,4CAA4C,EAAE,CAC1C,iEAD0C,EAE1C,EAF0C,EAG1C;AAAEtT,MAAAA,OAAO,EAAE,CAAC,UAAD,EAAa,2CAAb;AAAX,KAH0C,CAnBxC;AAwBNuT,IAAAA,2DAA2D,EAAE,CACzD,2DADyD,EAEzD,EAFyD,EAGzD;AACIvT,MAAAA,OAAO,EAAE,CACL,UADK,EAEL,yDAFK;AADb,KAHyD,CAxBvD;AAkCNwT,IAAAA,uDAAuD,EAAE,CACrD,2DADqD,CAlCnD;AAqCNC,IAAAA,yCAAyC,EAAE,CACvC,iEADuC,CArCrC;AAwCNC,IAAAA,0CAA0C,EAAE,CACxC,uEADwC,CAxCtC;AA2CNC,IAAAA,8BAA8B,EAAE,CAC5B,kDAD4B,CA3C1B;AA8CNC,IAAAA,yBAAyB,EAAE,CACvB,wDADuB,CA9CrB;AAiDNC,IAAAA,iBAAiB,EAAE,CACf,8DADe,CAjDb;AAoDNC,IAAAA,qCAAqC,EAAE,CACnC,gFADmC,CApDjC;AAuDNC,IAAAA,gCAAgC,EAAE,CAC9B,sFAD8B,CAvD5B;AA0DNC,IAAAA,wBAAwB,EAAE,CACtB,4FADsB,CA1DpB;AA6DNC,IAAAA,gCAAgC,EAAE,CAAC,oBAAD,CA7D5B;AA8DNC,IAAAA,2BAA2B,EAAE,CAAC,0BAAD,CA9DvB;AA+DNC,IAAAA,mBAAmB,EAAE,CAAC,gCAAD,CA/Df;AAgENC,IAAAA,kCAAkC,EAAE,CAChC,mEADgC,CAhE9B;AAmENC,IAAAA,oBAAoB,EAAE,CAClB,yEADkB,CAnEhB;AAsENC,IAAAA,qBAAqB,EAAE,CACnB,+EADmB,CAtEjB;AAyENC,IAAAA,yCAAyC,EAAE,CACvC,yFADuC,CAzErC;AA4ENC,IAAAA,2BAA2B,EAAE,CACzB,+FADyB,CA5EvB;AA+ENC,IAAAA,4BAA4B,EAAE,CAC1B,qGAD0B;AA/ExB,GA7oBI;AAguBdC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,eAAe,EAAE,CAAC,qDAAD,CADX;AAENC,IAAAA,UAAU,EAAE,CAAC,0CAAD,CAFN;AAGNC,IAAAA,YAAY,EAAE,CAAC,qCAAD,CAHR;AAINC,IAAAA,0BAA0B,EAAE,CAAC,qBAAD,CAJtB;AAKNC,IAAAA,YAAY,EAAE,CAAC,2BAAD,CALR;AAMNC,IAAAA,aAAa,EAAE,CAAC,qCAAD,CANT;AAONjL,IAAAA,MAAM,EAAE,CAAC,+BAAD,CAPF;AAQNkL,IAAAA,UAAU,EAAE,CAAC,0CAAD,CARN;AASNC,IAAAA,YAAY,EAAE,CAAC,sCAAD,CATR;AAUN1N,IAAAA,GAAG,EAAE,CAAC,4BAAD,CAVC;AAWN2N,IAAAA,OAAO,EAAE,CAAC,uCAAD,CAXH;AAYNC,IAAAA,SAAS,EAAE,CAAC,mCAAD,CAZL;AAaNC,IAAAA,oBAAoB,EAAE,CAClB,gEADkB,CAbhB;AAgBNC,IAAAA,SAAS,EAAE,CAAC,yCAAD,CAhBL;AAiBNC,IAAAA,iBAAiB,EAAE,CAAC,0CAAD,CAjBb;AAkBNC,IAAAA,WAAW,EAAE,CAAC,oCAAD,CAlBP;AAmBN3H,IAAAA,UAAU,EAAE,CAAC,0BAAD,CAnBN;AAoBNC,IAAAA,WAAW,EAAE,CAAC,oCAAD,CApBP;AAqBNvD,IAAAA,WAAW,EAAE,CAAC,gCAAD,CArBP;AAsBNkL,IAAAA,QAAQ,EAAE,CAAC,8CAAD,CAtBJ;AAuBNC,IAAAA,UAAU,EAAE,CAAC,0CAAD,CAvBN;AAwBNC,IAAAA,kBAAkB,EAAE,CAChB,wDADgB,CAxBd;AA2BN1N,IAAAA,MAAM,EAAE,CAAC,8BAAD,CA3BF;AA4BN2N,IAAAA,UAAU,EAAE,CAAC,yCAAD,CA5BN;AA6BNC,IAAAA,YAAY,EAAE,CAAC,qCAAD;AA7BR,GAhuBI;AA+vBdC,EAAAA,KAAK,EAAE;AACHC,IAAAA,aAAa,EAAE,CAAC,qDAAD,CADZ;AAEHzO,IAAAA,MAAM,EAAE,CAAC,kCAAD,CAFL;AAGH0O,IAAAA,2BAA2B,EAAE,CACzB,8EADyB,CAH1B;AAMHC,IAAAA,YAAY,EAAE,CAAC,wDAAD,CANX;AAOHC,IAAAA,mBAAmB,EAAE,CACjB,yDADiB,CAPlB;AAUHC,IAAAA,mBAAmB,EAAE,CACjB,sEADiB,CAVlB;AAaHC,IAAAA,mBAAmB,EAAE,CACjB,0DADiB,CAblB;AAgBHC,IAAAA,aAAa,EAAE,CACX,8EADW,CAhBZ;AAmBH7O,IAAAA,GAAG,EAAE,CAAC,+CAAD,CAnBF;AAoBH8O,IAAAA,SAAS,EAAE,CACP,mEADO,CApBR;AAuBHC,IAAAA,gBAAgB,EAAE,CAAC,uDAAD,CAvBf;AAwBHnM,IAAAA,IAAI,EAAE,CAAC,iCAAD,CAxBH;AAyBHoM,IAAAA,qBAAqB,EAAE,CACnB,4EADmB,CAzBpB;AA4BHlM,IAAAA,WAAW,EAAE,CAAC,uDAAD,CA5BV;AA6BHmM,IAAAA,SAAS,EAAE,CAAC,qDAAD,CA7BR;AA8BHC,IAAAA,sBAAsB,EAAE,CACpB,mEADoB,CA9BrB;AAiCHC,IAAAA,kBAAkB,EAAE,CAChB,wDADgB,CAjCjB;AAoCHC,IAAAA,yBAAyB,EAAE,CAAC,0CAAD,CApCxB;AAqCHC,IAAAA,WAAW,EAAE,CAAC,uDAAD,CArCV;AAsCHC,IAAAA,KAAK,EAAE,CAAC,qDAAD,CAtCJ;AAuCHC,IAAAA,wBAAwB,EAAE,CACtB,sEADsB,CAvCvB;AA0CHC,IAAAA,gBAAgB,EAAE,CACd,oEADc,CA1Cf;AA6CHC,IAAAA,YAAY,EAAE,CACV,2EADU,CA7CX;AAgDHhP,IAAAA,MAAM,EAAE,CAAC,iDAAD,CAhDL;AAiDHiP,IAAAA,YAAY,EAAE,CACV,6DADU,CAjDX;AAoDHC,IAAAA,YAAY,EAAE,CACV,mEADU,CApDX;AAuDHC,IAAAA,mBAAmB,EAAE,CACjB,yDADiB;AAvDlB,GA/vBO;AA0zBdC,EAAAA,SAAS,EAAE;AAAE7P,IAAAA,GAAG,EAAE,CAAC,iBAAD;AAAP,GA1zBG;AA2zBd8P,EAAAA,SAAS,EAAE;AACPC,IAAAA,sBAAsB,EAAE,CACpB,4DADoB,CADjB;AAIPC,IAAAA,cAAc,EAAE,CACZ,4DADY,CAJT;AAOPC,IAAAA,qBAAqB,EAAE,CACnB,mEADmB,CAPhB;AAUPC,IAAAA,iCAAiC,EAAE,CAC/B,kEAD+B,CAV5B;AAaPC,IAAAA,gBAAgB,EAAE,CACd,4DADc,CAbX;AAgBPC,IAAAA,mCAAmC,EAAE,CACjC,wGADiC,CAhB9B;AAmBPC,IAAAA,4BAA4B,EAAE,CAC1B,8EAD0B,CAnBvB;AAsBPC,IAAAA,sBAAsB,EAAE,CACpB,4EADoB,CAtBjB;AAyBPC,IAAAA,cAAc,EAAE,CACZ,4EADY,CAzBT;AA4BPC,IAAAA,qBAAqB,EAAE,CACnB,mFADmB,CA5BhB;AA+BPC,IAAAA,2BAA2B,EAAE,CACzB,kFADyB,CA/BtB;AAkCPC,IAAAA,uBAAuB,EAAE,CACrB,8FADqB,CAlClB;AAqCPC,IAAAA,8BAA8B,EAAE,CAC5B,wHAD4B,CArCzB;AAwCPC,IAAAA,oBAAoB,EAAE,CAClB,2DADkB,CAxCf;AA2CPC,IAAAA,YAAY,EAAE,CAAC,2DAAD,CA3CP;AA4CPC,IAAAA,mBAAmB,EAAE,CACjB,kEADiB,CA5Cd;AA+CPC,IAAAA,+BAA+B,EAAE,CAC7B,iEAD6B,CA/C1B;AAkDPC,IAAAA,iCAAiC,EAAE,CAC/B,uGAD+B,CAlD5B;AAqDPC,IAAAA,0BAA0B,EAAE,CACxB,6EADwB;AArDrB,GA3zBG;AAo3BdC,EAAAA,KAAK,EAAE;AACHC,IAAAA,gBAAgB,EAAE,CACd,oDADc,EAEd,EAFc,EAGd;AAAE3Y,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,sCAAV;AAAX,KAHc,CADf;AAMH4Y,IAAAA,oCAAoC,EAAE,CAClC,oDADkC,CANnC;AASHC,IAAAA,wBAAwB,EAAE,CACtB,2EADsB,EAEtB,EAFsB,EAGtB;AAAEC,MAAAA,SAAS,EAAE;AAAb,KAHsB,CATvB;AAcHnE,IAAAA,eAAe,EAAE,CAAC,oDAAD,CAdd;AAeHoE,IAAAA,sBAAsB,EAAE,CACpB,yFADoB,EAEpB,EAFoB,EAGpB;AAAED,MAAAA,SAAS,EAAE;AAAb,KAHoB,CAfrB;AAoBHE,IAAAA,yBAAyB,EAAE,CACvB,4EADuB,EAEvB,EAFuB,EAGvB;AAAEF,MAAAA,SAAS,EAAE;AAAb,KAHuB,CApBxB;AAyBHG,IAAAA,yBAAyB,EAAE,CACvB,4EADuB,EAEvB,EAFuB,EAGvB;AAAEH,MAAAA,SAAS,EAAE;AAAb,KAHuB,CAzBxB;AA8BHI,IAAAA,iBAAiB,EAAE,CAAC,oDAAD,CA9BhB;AA+BHC,IAAAA,wBAAwB,EAAE,CACtB,gDADsB,CA/BvB;AAkCHC,IAAAA,cAAc,EAAE,CAAC,mDAAD,CAlCb;AAmCHC,IAAAA,0BAA0B,EAAE,CACxB,8CADwB,CAnCzB;AAsCHC,IAAAA,cAAc,EAAE,CAAC,sCAAD,CAtCb;AAuCHC,IAAAA,mBAAmB,EAAE,CACjB,0DADiB,CAvClB;AA0CHC,IAAAA,+BAA+B,EAAE,CAC7B,6EAD6B,CA1C9B;AA6CHC,IAAAA,kBAAkB,EAAE,CAAC,2CAAD,CA7CjB;AA8CHC,IAAAA,eAAe,EAAE,CAAC,iCAAD,CA9Cd;AA+CHC,IAAAA,gBAAgB,EAAE,CAAC,wCAAD,CA/Cf;AAgDHC,IAAAA,sBAAsB,EAAE,CACpB,iEADoB,CAhDrB;AAmDHC,IAAAA,mBAAmB,EAAE,CAAC,uCAAD,CAnDlB;AAoDH/E,IAAAA,0BAA0B,EAAE,CAAC,kBAAD,CApDzB;AAqDHgF,IAAAA,UAAU,EAAE,CAAC,kCAAD,CArDT;AAsDHC,IAAAA,WAAW,EAAE,CAAC,wBAAD,CAtDV;AAuDHC,IAAAA,yBAAyB,EAAE,CACvB,2DADuB,CAvDxB;AA0DHC,IAAAA,0BAA0B,EAAE,CAAC,2CAAD,CA1DzB;AA2DHC,IAAAA,eAAe,EAAE,CAAC,kCAAD,CA3Dd;AA4DHC,IAAAA,aAAa,EAAE,CAAC,qCAAD,CA5DZ;AA6DHC,IAAAA,mBAAmB,EAAE,CACjB,uDADiB,CA7DlB;AAgEHhJ,IAAAA,aAAa,EAAE,CAAC,kCAAD,CAhEZ;AAiEHiJ,IAAAA,iBAAiB,EAAE,CACf,qDADe,EAEf,EAFe,EAGf;AAAEra,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,uCAAV;AAAX,KAHe,CAjEhB;AAsEHsa,IAAAA,qCAAqC,EAAE,CACnC,qDADmC,CAtEpC;AAyEHvQ,IAAAA,MAAM,EAAE,CAAC,8BAAD,CAzEL;AA0EHwQ,IAAAA,wBAAwB,EAAE,CACtB,wEADsB,CA1EvB;AA6EHC,IAAAA,2BAA2B,EAAE,CACzB,0EADyB,CA7E1B;AAgFHC,IAAAA,mBAAmB,EAAE,CACjB,8DADiB,CAhFlB;AAmFHC,IAAAA,cAAc,EAAE,CAAC,sDAAD,CAnFb;AAoFHC,IAAAA,sBAAsB,EAAE,CACpB,2DADoB,CApFrB;AAuFHC,IAAAA,mBAAmB,EAAE,CAAC,oDAAD,CAvFlB;AAwFHC,IAAAA,+BAA+B,EAAE,CAC7B,+EAD6B,CAxF9B;AA2FHC,IAAAA,eAAe,EAAE,CAAC,4CAAD,CA3Fd;AA4FHC,IAAAA,gBAAgB,EAAE,CACd,0DADc,CA5Ff;AA+FHC,IAAAA,UAAU,EAAE,CAAC,8CAAD,CA/FT;AAgGHC,IAAAA,gBAAgB,EAAE,CACd,0DADc,CAhGf;AAmGHC,IAAAA,eAAe,EAAE,CAAC,oCAAD,CAnGd;AAoGHC,IAAAA,iCAAiC,EAAE,CAC/B,yFAD+B,CApGhC;AAuGHC,IAAAA,aAAa,EAAE,CAAC,oDAAD,CAvGZ;AAwGHC,IAAAA,kBAAkB,EAAE,CAChB,yDADgB,CAxGjB;AA2GHhK,IAAAA,aAAa,EAAE,CAAC,8CAAD,CA3GZ;AA4GHiK,IAAAA,6BAA6B,EAAE,CAC3B,uDAD2B,CA5G5B;AA+GHC,IAAAA,iBAAiB,EAAE,CAAC,kCAAD,CA/GhB;AAgHHC,IAAAA,0BAA0B,EAAE,CACxB,mDADwB,CAhHzB;AAmHHC,IAAAA,eAAe,EAAE,CACb,yCADa,EAEb,EAFa,EAGb;AAAEzb,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,wBAAV;AAAX,KAHa,CAnHd;AAwHH0b,IAAAA,sBAAsB,EAAE,CAAC,yCAAD,CAxHrB;AAyHHC,IAAAA,sBAAsB,EAAE,CAAC,yCAAD,CAzHrB;AA0HHC,IAAAA,4BAA4B,EAAE,CAC1B,oDAD0B,CA1H3B;AA6HHC,IAAAA,gBAAgB,EAAE,CAAC,+BAAD,CA7Hf;AA8HHC,IAAAA,yBAAyB,EAAE,CACvB,gDADuB,CA9HxB;AAiIHC,IAAAA,oBAAoB,EAAE,CAClB,oDADkB,CAjInB;AAoIHvU,IAAAA,GAAG,EAAE,CAAC,2BAAD,CApIF;AAqIHwU,IAAAA,qBAAqB,EAAE,CACnB,qEADmB,CArIpB;AAwIHC,IAAAA,wBAAwB,EAAE,CACtB,uEADsB,CAxIvB;AA2IHC,IAAAA,kBAAkB,EAAE,CAAC,wCAAD,CA3IjB;AA4IHC,IAAAA,yBAAyB,EAAE,CACvB,wFADuB,CA5IxB;AA+IHC,IAAAA,YAAY,EAAE,CACV,kCADU,EAEV;AAAE5X,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAFU,CA/IX;AAmJH4X,IAAAA,kCAAkC,EAAE,CAChC,0EADgC,CAnJjC;AAsJHC,IAAAA,WAAW,EAAE,CAAC,mDAAD,CAtJV;AAuJHC,IAAAA,SAAS,EAAE,CAAC,6CAAD,CAvJR;AAwJHC,IAAAA,mBAAmB,EAAE,CACjB,wDADiB,CAxJlB;AA2JHC,IAAAA,SAAS,EAAE,CAAC,0CAAD,CA3JR;AA4JHC,IAAAA,qBAAqB,EAAE,CAAC,gDAAD,CA5JpB;AA6JHC,IAAAA,8BAA8B,EAAE,CAC5B,+DAD4B,CA7J7B;AAgKHC,IAAAA,uBAAuB,EAAE,CAAC,gDAAD,CAhKtB;AAiKHtR,IAAAA,SAAS,EAAE,CAAC,yCAAD,CAjKR;AAkKHuR,IAAAA,sBAAsB,EAAE,CAAC,iDAAD,CAlKrB;AAmKHC,IAAAA,gBAAgB,EAAE,CAAC,iDAAD,CAnKf;AAoKHC,IAAAA,4BAA4B,EAAE,CAC1B,4EAD0B,CApK3B;AAuKHC,IAAAA,0BAA0B,EAAE,CAAC,6CAAD,CAvKzB;AAwKHC,IAAAA,UAAU,EAAE,CAAC,2CAAD,CAxKT;AAyKHC,IAAAA,oBAAoB,EAAE,CAAC,8CAAD,CAzKnB;AA0KHC,IAAAA,YAAY,EAAE,CAAC,yCAAD,CA1KX;AA2KHC,IAAAA,aAAa,EAAE,CAAC,uDAAD,CA3KZ;AA4KHC,IAAAA,mBAAmB,EAAE,CACjB,4EADiB,CA5KlB;AA+KHC,IAAAA,cAAc,EAAE,CACZ,2DADY,CA/Kb;AAkLHC,IAAAA,mBAAmB,EAAE,CAAC,+CAAD,CAlLlB;AAmLHC,IAAAA,gBAAgB,EAAE,CAAC,2CAAD,CAnLf;AAoLHC,IAAAA,QAAQ,EAAE,CAAC,iCAAD,CApLP;AAqLHC,IAAAA,aAAa,EAAE,CAAC,mDAAD,CArLZ;AAsLHC,IAAAA,mBAAmB,EAAE,CAAC,wCAAD,CAtLlB;AAuLHC,IAAAA,qBAAqB,EAAE,CAAC,+CAAD,CAvLpB;AAwLHC,IAAAA,8BAA8B,EAAE,CAC5B,sFAD4B,CAxL7B;AA2LHC,IAAAA,iBAAiB,EAAE,CAAC,4CAAD,CA3LhB;AA4LHC,IAAAA,SAAS,EAAE,CAAC,kCAAD,CA5LR;AA6LHC,IAAAA,oBAAoB,EAAE,CAAC,wCAAD,CA7LnB;AA8LHC,IAAAA,UAAU,EAAE,CAAC,iDAAD,CA9LT;AA+LHC,IAAAA,eAAe,EAAE,CAAC,sDAAD,CA/Ld;AAgMHC,IAAAA,eAAe,EAAE,CAAC,+CAAD,CAhMd;AAiMHC,IAAAA,yBAAyB,EAAE,CACvB,+EADuB,CAjMxB;AAoMHC,IAAAA,mCAAmC,EAAE,CACjC,2EADiC,CApMlC;AAuMHC,IAAAA,WAAW,EAAE,CAAC,iDAAD,CAvMV;AAwMHC,IAAAA,eAAe,EAAE,CAAC,qDAAD,CAxMd;AAyMHC,IAAAA,mCAAmC,EAAE,CACjC,2EADiC,CAzMlC;AA4MHC,IAAAA,QAAQ,EAAE,CAAC,yCAAD,CA5MP;AA6MHjN,IAAAA,UAAU,EAAE,CAAC,2CAAD,CA7MT;AA8MHkN,IAAAA,uBAAuB,EAAE,CACrB,kDADqB,CA9MtB;AAiNHjZ,IAAAA,kBAAkB,EAAE,CAChB,oEADgB,CAjNjB;AAoNHkZ,IAAAA,aAAa,EAAE,CAAC,qCAAD,CApNZ;AAqNHC,IAAAA,YAAY,EAAE,CAAC,oCAAD,CArNX;AAsNHC,IAAAA,yBAAyB,EAAE,CACvB,oEADuB,CAtNxB;AAyNHtJ,IAAAA,iBAAiB,EAAE,CAAC,yCAAD,CAzNhB;AA0NHuJ,IAAAA,qBAAqB,EAAE,CACnB,yDADmB,CA1NpB;AA6NHC,IAAAA,yBAAyB,EAAE,CAAC,oCAAD,CA7NxB;AA8NHC,IAAAA,wBAAwB,EAAE,CACtB,kDADsB,CA9NvB;AAiOH1U,IAAAA,WAAW,EAAE,CAAC,mCAAD,CAjOV;AAkOH2U,IAAAA,gBAAgB,EAAE,CAAC,wCAAD,CAlOf;AAmOHC,IAAAA,cAAc,EAAE,CAAC,gCAAD,CAnOb;AAoOHC,IAAAA,sBAAsB,EAAE,CACpB,gEADoB,CApOrB;AAuOHC,IAAAA,eAAe,EAAE,CAAC,uCAAD,CAvOd;AAwOHxR,IAAAA,wBAAwB,EAAE,CAAC,iBAAD,CAxOvB;AAyOHC,IAAAA,UAAU,EAAE,CAAC,uBAAD,CAzOT;AA0OHtD,IAAAA,WAAW,EAAE,CAAC,6BAAD,CA1OV;AA2OHC,IAAAA,SAAS,EAAE,CAAC,iCAAD,CA3OR;AA4OH6U,IAAAA,eAAe,EAAE,CAAC,uCAAD,CA5Od;AA6OHC,IAAAA,mCAAmC,EAAE,CAAC,kCAAD,CA7OlC;AA8OHC,IAAAA,aAAa,EAAE,CAAC,qCAAD,CA9OZ;AA+OHC,IAAAA,eAAe,EAAE,CAAC,wCAAD,CA/Od;AAgPH/U,IAAAA,UAAU,EAAE,CAAC,mBAAD,CAhPT;AAiPHgV,IAAAA,oCAAoC,EAAE,CAClC,sDADkC,CAjPnC;AAoPHC,IAAAA,iBAAiB,EAAE,CACf,wDADe,CApPhB;AAuPHC,IAAAA,YAAY,EAAE,CAAC,oCAAD,CAvPX;AAwPHC,IAAAA,QAAQ,EAAE,CAAC,gCAAD,CAxPP;AAyPHC,IAAAA,SAAS,EAAE,CAAC,iCAAD,CAzPR;AA0PHzZ,IAAAA,qBAAqB,EAAE,CACnB,sDADmB,CA1PpB;AA6PH+L,IAAAA,YAAY,EAAE,CAAC,iCAAD,CA7PX;AA8PH2E,IAAAA,KAAK,EAAE,CAAC,mCAAD,CA9PJ;AA+PHgJ,IAAAA,aAAa,EAAE,CAAC,2CAAD,CA/PZ;AAgQH1N,IAAAA,WAAW,EAAE,CAAC,kDAAD,CAhQV;AAiQH/L,IAAAA,wBAAwB,EAAE,CACtB,8EADsB,CAjQvB;AAoQH0Z,IAAAA,2BAA2B,EAAE,CACzB,6EADyB,EAEzB,EAFyB,EAGzB;AAAEjH,MAAAA,SAAS,EAAE;AAAb,KAHyB,CApQ1B;AAyQHnD,IAAAA,kBAAkB,EAAE,CAChB,uDADgB,CAzQjB;AA4QHqK,IAAAA,yBAAyB,EAAE,CACvB,2FADuB,EAEvB,EAFuB,EAGvB;AAAElH,MAAAA,SAAS,EAAE;AAAb,KAHuB,CA5QxB;AAiRHmH,IAAAA,2BAA2B,EAAE,CACzB,kFADyB,CAjR1B;AAoRHC,IAAAA,4BAA4B,EAAE,CAC1B,8EAD0B,EAE1B,EAF0B,EAG1B;AAAEpH,MAAAA,SAAS,EAAE;AAAb,KAH0B,CApR3B;AAyRHqH,IAAAA,4BAA4B,EAAE,CAC1B,8EAD0B,EAE1B,EAF0B,EAG1B;AAAErH,MAAAA,SAAS,EAAE;AAAb,KAH0B,CAzR3B;AA8RHsH,IAAAA,YAAY,EAAE,CAAC,qDAAD,CA9RX;AA+RHC,IAAAA,gBAAgB,EAAE,CACd,kCADc,EAEd;AAAE7b,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAFc,CA/Rf;AAmSH6b,IAAAA,iBAAiB,EAAE,CAAC,yCAAD,CAnShB;AAoSHC,IAAAA,wBAAwB,EAAE,CACtB,wEADsB,CApSvB;AAuSHC,IAAAA,wBAAwB,EAAE,CACtB,0EADsB,EAEtB,EAFsB,EAGtB;AAAE1H,MAAAA,SAAS,EAAE;AAAb,KAHsB,CAvSvB;AA4SH2H,IAAAA,sBAAsB,EAAE,CACpB,wFADoB,EAEpB,EAFoB,EAGpB;AAAE3H,MAAAA,SAAS,EAAE;AAAb,KAHoB,CA5SrB;AAiTH4H,IAAAA,yBAAyB,EAAE,CACvB,2EADuB,EAEvB,EAFuB,EAGvB;AAAE5H,MAAAA,SAAS,EAAE;AAAb,KAHuB,CAjTxB;AAsTH6H,IAAAA,yBAAyB,EAAE,CACvB,2EADuB,EAEvB,EAFuB,EAGvB;AAAE7H,MAAAA,SAAS,EAAE;AAAb,KAHuB,CAtTxB;AA2TH8H,IAAAA,eAAe,EAAE,CAAC,kDAAD,CA3Td;AA4THC,IAAAA,QAAQ,EAAE,CAAC,qCAAD,CA5TP;AA6TH5Y,IAAAA,MAAM,EAAE,CAAC,6BAAD,CA7TL;AA8TH6Y,IAAAA,sBAAsB,EAAE,CACpB,wDADoB,CA9TrB;AAiUHC,IAAAA,mBAAmB,EAAE,CAAC,mDAAD,CAjUlB;AAkUHC,IAAAA,+BAA+B,EAAE,CAAC,iCAAD,CAlU9B;AAmUHC,IAAAA,gBAAgB,EAAE,CACd,yDADc,CAnUf;AAsUHC,IAAAA,iCAAiC,EAAE,CAC/B,wFAD+B,CAtUhC;AAyUHC,IAAAA,aAAa,EAAE,CAAC,mDAAD,CAzUZ;AA0UHC,IAAAA,kBAAkB,EAAE,CAChB,wDADgB,CA1UjB;AA6UHC,IAAAA,0BAA0B,EAAE,CACxB,iFADwB,EAExB,EAFwB,EAGxB;AAAErhB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,6BAAV;AAAX,KAHwB,CA7UzB;AAkVHshB,IAAAA,2BAA2B,EAAE,CACzB,iFADyB,CAlV1B;AAqVHzO,IAAAA,aAAa,EAAE,CAAC,6CAAD,CArVZ;AAsVH0O,IAAAA,0BAA0B,EAAE,CACxB,oDADwB,CAtVzB;AAyVHC,IAAAA,kBAAkB,EAAE,CAChB,sEADgB,EAEhB;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAFgB;AAzVjB,GAp3BO;AAktCdC,EAAAA,MAAM,EAAE;AACJC,IAAAA,IAAI,EAAE,CAAC,kBAAD,CADF;AAEJC,IAAAA,OAAO,EAAE,CAAC,qBAAD,CAFL;AAGJC,IAAAA,qBAAqB,EAAE,CAAC,oBAAD,CAHnB;AAIJC,IAAAA,MAAM,EAAE,CAAC,oBAAD,CAJJ;AAKJpJ,IAAAA,KAAK,EAAE,CAAC,0BAAD,CALH;AAMJqJ,IAAAA,MAAM,EAAE,CAAC,oBAAD,EAAuB;AAAEvd,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAAvB,CANJ;AAOJud,IAAAA,KAAK,EAAE,CAAC,mBAAD;AAPH,GAltCM;AA2tCdC,EAAAA,cAAc,EAAE;AACZ7Z,IAAAA,QAAQ,EAAE,CACN,iEADM,CADE;AAIZ8Z,IAAAA,gBAAgB,EAAE,CAAC,wCAAD,CAJN;AAKZxZ,IAAAA,iBAAiB,EAAE,CAAC,kDAAD,CALP;AAMZG,IAAAA,WAAW,EAAE,CACT,mEADS;AAND,GA3tCF;AAquCdsZ,EAAAA,KAAK,EAAE;AACHC,IAAAA,iCAAiC,EAAE,CAC/B,0DAD+B,CADhC;AAIHC,IAAAA,kCAAkC,EAAE,CAChC,yDADgC,CAJjC;AAOHC,IAAAA,+BAA+B,EAAE,CAC7B,wDAD6B,CAP9B;AAUHC,IAAAA,+BAA+B,EAAE,CAC7B,yDAD6B,CAV9B;AAaHC,IAAAA,4BAA4B,EAAE,CAC1B,wDAD0B,CAb3B;AAgBHlb,IAAAA,MAAM,EAAE,CAAC,wBAAD,CAhBL;AAiBHmb,IAAAA,4BAA4B,EAAE,CAC1B,6EAD0B,CAjB3B;AAoBHC,IAAAA,qBAAqB,EAAE,CAAC,gDAAD,CApBpB;AAqBHC,IAAAA,4BAA4B,EAAE,CAC1B,gGAD0B,CArB3B;AAwBHC,IAAAA,qBAAqB,EAAE,CACnB,sEADmB,CAxBpB;AA2BHC,IAAAA,WAAW,EAAE,CAAC,sCAAD,CA3BV;AA4BHC,IAAAA,SAAS,EAAE,CAAC,mCAAD,CA5BR;AA6BHC,IAAAA,yBAAyB,EAAE,CACvB,6FADuB,CA7BxB;AAgCHC,IAAAA,kBAAkB,EAAE,CAChB,mEADgB,CAhCjB;AAmCHC,IAAAA,yBAAyB,EAAE,CACvB,0DADuB,CAnCxB;AAsCH7Y,IAAAA,IAAI,EAAE,CAAC,uBAAD,CAtCH;AAuCH8Y,IAAAA,cAAc,EAAE,CAAC,yCAAD,CAvCb;AAwCHC,IAAAA,2BAA2B,EAAE,CACzB,4EADyB,CAxC1B;AA2CHC,IAAAA,oBAAoB,EAAE,CAAC,+CAAD,CA3CnB;AA4CHxV,IAAAA,wBAAwB,EAAE,CAAC,iBAAD,CA5CvB;AA6CHyV,IAAAA,gBAAgB,EAAE,CAAC,2CAAD,CA7Cf;AA8CHC,IAAAA,2BAA2B,EAAE,CACzB,+CADyB,CA9C1B;AAiDHC,IAAAA,iBAAiB,EAAE,CAAC,4CAAD,CAjDhB;AAkDHC,IAAAA,cAAc,EAAE,CAAC,yCAAD,CAlDb;AAmDHC,IAAAA,4BAA4B,EAAE,CAC1B,6DAD0B,CAnD3B;AAsDHC,IAAAA,kBAAkB,EAAE,CAChB,4DADgB,CAtDjB;AAyDHC,IAAAA,eAAe,EAAE,CACb,2DADa,CAzDd;AA4DHC,IAAAA,4BAA4B,EAAE,CAC1B,+FAD0B,CA5D3B;AA+DHC,IAAAA,qBAAqB,EAAE,CACnB,qEADmB,CA/DpB;AAkEHC,IAAAA,WAAW,EAAE,CAAC,qCAAD;AAlEV,GAruCO;AAyyCd9B,EAAAA,KAAK,EAAE;AACH+B,IAAAA,wBAAwB,EAAE,CACtB,mBADsB,EAEtB,EAFsB,EAGtB;AAAE/jB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,8BAAV;AAAX,KAHsB,CADvB;AAMHgkB,IAAAA,4BAA4B,EAAE,CAAC,mBAAD,CAN3B;AAOHC,IAAAA,KAAK,EAAE,CAAC,6BAAD,CAPJ;AAQHC,IAAAA,YAAY,EAAE,CAAC,6BAAD,CARX;AASHC,IAAAA,qBAAqB,EAAE,CAAC,+CAAD,CATpB;AAUHC,IAAAA,oCAAoC,EAAE,CAAC,gCAAD,CAVnC;AAWHC,IAAAA,4BAA4B,EAAE,CAC1B,qBAD0B,EAE1B,EAF0B,EAG1B;AAAErkB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,kCAAV;AAAX,KAH0B,CAX3B;AAgBHskB,IAAAA,gCAAgC,EAAE,CAAC,qBAAD,CAhB/B;AAiBHC,IAAAA,kCAAkC,EAAE,CAChC,iBADgC,EAEhC,EAFgC,EAGhC;AAAEvkB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,wCAAV;AAAX,KAHgC,CAjBjC;AAsBHwkB,IAAAA,sCAAsC,EAAE,CAAC,iBAAD,CAtBrC;AAuBHC,IAAAA,2BAA2B,EAAE,CACzB,qBADyB,EAEzB,EAFyB,EAGzB;AAAEzkB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,iCAAV;AAAX,KAHyB,CAvB1B;AA4BH0kB,IAAAA,+BAA+B,EAAE,CAAC,qBAAD,CA5B9B;AA6BHC,IAAAA,4BAA4B,EAAE,CAC1B,oCAD0B,EAE1B,EAF0B,EAG1B;AAAE3kB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,kCAAV;AAAX,KAH0B,CA7B3B;AAkCH4kB,IAAAA,gCAAgC,EAAE,CAAC,oCAAD,CAlC/B;AAmCHC,IAAAA,kCAAkC,EAAE,CAChC,4BADgC,EAEhC,EAFgC,EAGhC;AAAE7kB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,wCAAV;AAAX,KAHgC,CAnCjC;AAwCH8kB,IAAAA,sCAAsC,EAAE,CAAC,4BAAD,CAxCrC;AAyCHC,IAAAA,MAAM,EAAE,CAAC,gCAAD,CAzCL;AA0CH/f,IAAAA,gBAAgB,EAAE,CAAC,WAAD,CA1Cf;AA2CHggB,IAAAA,aAAa,EAAE,CAAC,uBAAD,CA3CZ;AA4CHC,IAAAA,iBAAiB,EAAE,CAAC,iCAAD,CA5ChB;AA6CHC,IAAAA,yBAAyB,EAAE,CACvB,iCADuB,EAEvB,EAFuB,EAGvB;AAAEllB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,+BAAV;AAAX,KAHuB,CA7CxB;AAkDHmlB,IAAAA,6BAA6B,EAAE,CAAC,iCAAD,CAlD5B;AAmDHC,IAAAA,+BAA+B,EAAE,CAC7B,yBAD6B,EAE7B,EAF6B,EAG7B;AAAEplB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,qCAAV;AAAX,KAH6B,CAnD9B;AAwDHqlB,IAAAA,mCAAmC,EAAE,CAAC,yBAAD,CAxDlC;AAyDHjb,IAAAA,IAAI,EAAE,CAAC,YAAD,CAzDH;AA0DHkb,IAAAA,0BAA0B,EAAE,CACxB,kBADwB,EAExB,EAFwB,EAGxB;AAAEtlB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,gCAAV;AAAX,KAHwB,CA1DzB;AA+DHulB,IAAAA,8BAA8B,EAAE,CAAC,kBAAD,CA/D7B;AAgEHC,IAAAA,0BAA0B,EAAE,CACxB,kBADwB,EAExB,EAFwB,EAGxB;AAAExlB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,gCAAV;AAAX,KAHwB,CAhEzB;AAqEHylB,IAAAA,8BAA8B,EAAE,CAAC,kBAAD,CArE7B;AAsEHC,IAAAA,2BAA2B,EAAE,CACzB,qBADyB,EAEzB,EAFyB,EAGzB;AAAE1lB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,iCAAV;AAAX,KAHyB,CAtE1B;AA2EH2lB,IAAAA,+BAA+B,EAAE,CAAC,qBAAD,CA3E9B;AA4EHC,IAAAA,iCAAiC,EAAE,CAAC,qBAAD,CA5EhC;AA6EHC,IAAAA,oBAAoB,EAAE,CAAC,iCAAD,CA7EnB;AA8EHC,IAAAA,oBAAoB,EAAE,CAAC,iCAAD,CA9EnB;AA+EHC,IAAAA,2BAA2B,EAAE,CACzB,oBADyB,EAEzB,EAFyB,EAGzB;AAAE/lB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,iCAAV;AAAX,KAHyB,CA/E1B;AAoFHgmB,IAAAA,+BAA+B,EAAE,CAAC,oBAAD,CApF9B;AAqFHC,IAAAA,kBAAkB,EAAE,CAAC,gCAAD,CArFjB;AAsFHC,IAAAA,gCAAgC,EAAE,CAC9B,yBAD8B,EAE9B,EAF8B,EAG9B;AAAElmB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,sCAAV;AAAX,KAH8B,CAtF/B;AA2FHmmB,IAAAA,oCAAoC,EAAE,CAAC,yBAAD,CA3FnC;AA4FHC,IAAAA,qBAAqB,EAAE,CAAC,4BAAD,CA5FpB;AA6FHC,IAAAA,iCAAiC,EAAE,CAC/B,gBAD+B,EAE/B,EAF+B,EAG/B;AAAErmB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,uCAAV;AAAX,KAH+B,CA7FhC;AAkGHsmB,IAAAA,qCAAqC,EAAE,CAAC,gBAAD,CAlGpC;AAmGHC,IAAAA,yCAAyC,EAAE,CACvC,8BADuC,EAEvC,EAFuC,EAGvC;AAAEvmB,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,+CAAV;AAAX,KAHuC,CAnGxC;AAwGHwmB,IAAAA,6CAA6C,EAAE,CAC3C,8BAD2C,CAxG5C;AA2GHC,IAAAA,OAAO,EAAE,CAAC,gCAAD,CA3GN;AA4GHC,IAAAA,QAAQ,EAAE,CAAC,mCAAD,CA5GP;AA6GHC,IAAAA,mBAAmB,EAAE,CAAC,aAAD;AA7GlB;AAzyCO,CAAlB;;ACAO,MAAMC,OAAO,GAAG,mBAAhB;;ACAA,SAASC,kBAAT,CAA4BC,OAA5B,EAAqCC,YAArC,EAAmD;AACtD,QAAMC,UAAU,GAAG,EAAnB;;AACA,OAAK,MAAM,CAACC,KAAD,EAAQC,SAAR,CAAX,IAAiCC,MAAM,CAACC,OAAP,CAAeL,YAAf,CAAjC,EAA+D;AAC3D,SAAK,MAAM,CAACM,UAAD,EAAaC,QAAb,CAAX,IAAqCH,MAAM,CAACC,OAAP,CAAeF,SAAf,CAArC,EAAgE;AAC5D,YAAM,CAACK,KAAD,EAAQC,QAAR,EAAkBC,WAAlB,IAAiCH,QAAvC;AACA,YAAM,CAACI,MAAD,EAASC,GAAT,IAAgBJ,KAAK,CAACK,KAAN,CAAY,GAAZ,CAAtB;AACA,YAAMC,gBAAgB,GAAGV,MAAM,CAACW,MAAP,CAAc;AAAEJ,QAAAA,MAAF;AAAUC,QAAAA;AAAV,OAAd,EAA+BH,QAA/B,CAAzB;;AACA,UAAI,CAACR,UAAU,CAACC,KAAD,CAAf,EAAwB;AACpBD,QAAAA,UAAU,CAACC,KAAD,CAAV,GAAoB,EAApB;AACH;;AACD,YAAMc,YAAY,GAAGf,UAAU,CAACC,KAAD,CAA/B;;AACA,UAAIQ,WAAJ,EAAiB;AACbM,QAAAA,YAAY,CAACV,UAAD,CAAZ,GAA2BW,QAAQ,CAAClB,OAAD,EAAUG,KAAV,EAAiBI,UAAjB,EAA6BQ,gBAA7B,EAA+CJ,WAA/C,CAAnC;AACA;AACH;;AACDM,MAAAA,YAAY,CAACV,UAAD,CAAZ,GAA2BP,OAAO,CAACmB,OAAR,CAAgBT,QAAhB,CAAyBK,gBAAzB,CAA3B;AACH;AACJ;;AACD,SAAOb,UAAP;AACH;;AACD,SAASgB,QAAT,CAAkBlB,OAAlB,EAA2BG,KAA3B,EAAkCI,UAAlC,EAA8CG,QAA9C,EAAwDC,WAAxD,EAAqE;AACjE,QAAMS,mBAAmB,GAAGpB,OAAO,CAACmB,OAAR,CAAgBT,QAAhB,CAAyBA,QAAzB,CAA5B;AACA;;AACA,WAASW,eAAT,CAAyB,GAAGC,IAA5B,EAAkC;AAC9B;AACA,QAAIC,OAAO,GAAGH,mBAAmB,CAACZ,QAApB,CAA6BxQ,KAA7B,CAAmC,GAAGsR,IAAtC,CAAd,CAF8B;;AAI9B,QAAIX,WAAW,CAAC3O,SAAhB,EAA2B;AACvBuP,MAAAA,OAAO,GAAGlB,MAAM,CAACW,MAAP,CAAc,EAAd,EAAkBO,OAAlB,EAA2B;AACjCC,QAAAA,IAAI,EAAED,OAAO,CAACZ,WAAW,CAAC3O,SAAb,CADoB;AAEjC,SAAC2O,WAAW,CAAC3O,SAAb,GAAyByP;AAFQ,OAA3B,CAAV;AAIA,aAAOL,mBAAmB,CAACG,OAAD,CAA1B;AACH;;AACD,QAAIZ,WAAW,CAACznB,OAAhB,EAAyB;AACrB,YAAM,CAACwoB,QAAD,EAAWC,aAAX,IAA4BhB,WAAW,CAACznB,OAA9C;AACA8mB,MAAAA,OAAO,CAAC4B,GAAR,CAAYC,IAAZ,CAAkB,WAAU1B,KAAM,IAAGI,UAAW,kCAAiCmB,QAAS,IAAGC,aAAc,IAA3G;AACH;;AACD,QAAIhB,WAAW,CAACmB,UAAhB,EAA4B;AACxB9B,MAAAA,OAAO,CAAC4B,GAAR,CAAYC,IAAZ,CAAiBlB,WAAW,CAACmB,UAA7B;AACH;;AACD,QAAInB,WAAW,CAACpf,iBAAhB,EAAmC;AAC/B;AACA,YAAMggB,OAAO,GAAGH,mBAAmB,CAACZ,QAApB,CAA6BxQ,KAA7B,CAAmC,GAAGsR,IAAtC,CAAhB;;AACA,WAAK,MAAM,CAACS,IAAD,EAAOC,KAAP,CAAX,IAA4B3B,MAAM,CAACC,OAAP,CAAeK,WAAW,CAACpf,iBAA3B,CAA5B,EAA2E;AACvE,YAAIwgB,IAAI,IAAIR,OAAZ,EAAqB;AACjBvB,UAAAA,OAAO,CAAC4B,GAAR,CAAYC,IAAZ,CAAkB,IAAGE,IAAK,0CAAyC5B,KAAM,IAAGI,UAAW,aAAYyB,KAAM,WAAzG;;AACA,cAAI,EAAEA,KAAK,IAAIT,OAAX,CAAJ,EAAyB;AACrBA,YAAAA,OAAO,CAACS,KAAD,CAAP,GAAiBT,OAAO,CAACQ,IAAD,CAAxB;AACH;;AACD,iBAAOR,OAAO,CAACQ,IAAD,CAAd;AACH;AACJ;;AACD,aAAOX,mBAAmB,CAACG,OAAD,CAA1B;AACH,KA/B6B;;;AAiC9B,WAAOH,mBAAmB,CAAC,GAAGE,IAAJ,CAA1B;AACH;;AACD,SAAOjB,MAAM,CAACW,MAAP,CAAcK,eAAd,EAA+BD,mBAA/B,CAAP;AACH;;ACxDM,SAASa,mBAAT,CAA6BjC,OAA7B,EAAsC;AACzC,QAAMkC,GAAG,GAAGnC,kBAAkB,CAACC,OAAD,EAAUmC,SAAV,CAA9B;AACA,SAAO;AACHC,IAAAA,IAAI,EAAEF;AADH,GAAP;AAGH;AACDD,mBAAmB,CAACnC,OAApB,GAA8BA,OAA9B;AACA,AAAO,SAASuC,yBAAT,CAAmCrC,OAAnC,EAA4C;AAC/C,QAAMkC,GAAG,GAAGnC,kBAAkB,CAACC,OAAD,EAAUmC,SAAV,CAA9B;AACA,2CACOD,GADP;AAEIE,IAAAA,IAAI,EAAEF;AAFV;AAIH;AACDG,yBAAyB,CAACvC,OAA1B,GAAoCA,OAApC;;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js new file mode 100644 index 00000000..32c2f39a --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js @@ -0,0 +1,60 @@ +export function endpointsToMethods(octokit, endpointsMap) { + const newMethods = {}; + for (const [scope, endpoints] of Object.entries(endpointsMap)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign({ method, url }, defaults); + if (!newMethods[scope]) { + newMethods[scope] = {}; + } + const scopeMethods = newMethods[scope]; + if (decorations) { + scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); + continue; + } + scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); + } + } + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + /* istanbul ignore next */ + function withDecorations(...args) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + let options = requestWithDefaults.endpoint.merge(...args); + // There are currently no other decorations than `.mapToData` + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: undefined, + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + const options = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + if (name in options) { + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + if (!(alias in options)) { + options[alias] = options[name]; + } + delete options[name]; + } + } + return requestWithDefaults(options); + } + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js new file mode 100644 index 00000000..3b0186f7 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js @@ -0,0 +1,1434 @@ +const Endpoints = { + actions: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", + ], + approveWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve", + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel", + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}", + ], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token", + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token", + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token", + ], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}", + ], + deleteEnvironmentSecret: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}", + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}", + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}", + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs", + ], + disableSelectedRepositoryGithubActionsOrganization: [ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}", + ], + disableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs", + ], + downloadWorkflowRunAttemptLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs", + ], + enableSelectedRepositoryGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}", + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", + ], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions", + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions", + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key", + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions", + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions", + ], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], + getRepoPermissions: [ + "GET /repos/{owner}/{repo}/actions/permissions", + {}, + { renamed: ["actions", "getGithubActionsPermissionsRepository"] }, + ], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals", + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}", + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", + ], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing", + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + ], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + ], + listJobsForWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads", + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories", + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions", + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions", + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions", + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions", + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories", + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories", + ], + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription", + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription", + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "GET /users/{username}/events/orgs/{org}", + ], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public", + ], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/notifications", + ], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription", + ], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"], + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }, + ], + addRepoToInstallationForAuthenticatedUser: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + ], + checkToken: ["POST /applications/{client_id}/token"], + createContentAttachment: [ + "POST /content_references/{content_reference_id}/attachments", + { mediaType: { previews: ["corsair"] } }, + ], + createContentAttachmentForRepo: [ + "POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments", + { mediaType: { previews: ["corsair"] } }, + ], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: [ + "POST /app/installations/{installation_id}/access_tokens", + ], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}", + ], + getSubscriptionPlanForAccountStubbed: [ + "GET /marketplace_listing/stubbed/accounts/{account_id}", + ], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + ], + listInstallationReposForAuthenticatedUser: [ + "GET /user/installations/{installation_id}/repositories", + ], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed", + ], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: [ + "POST /app/hook/deliveries/{delivery_id}/attempts", + ], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }, + ], + removeRepoFromInstallationForAuthenticatedUser: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + ], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended", + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"], + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions", + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages", + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage", + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage", + ], + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: [ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest", + ], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences", + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"], + }, + codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}", + ], + getAlert: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + {}, + { renamedParameters: { alert_id: "alert_number" } }, + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", + ], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + ], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + {}, + { renamed: ["codeScanning", "listAlertInstances"] }, + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"], + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"], + }, + emojis: { get: ["GET /emojis"] }, + enterpriseAdmin: { + disableSelectedOrganizationGithubActionsEnterprise: [ + "DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}", + ], + enableSelectedOrganizationGithubActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}", + ], + getAllowedActionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions/selected-actions", + ], + getGithubActionsPermissionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions", + ], + listSelectedOrganizationsEnabledGithubActionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions/organizations", + ], + setAllowedActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/selected-actions", + ], + setGithubActionsPermissionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions", + ], + setSelectedOrganizationsEnabledGithubActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/organizations", + ], + }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"], + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"], + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"], + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: [ + "GET /user/interaction-limits", + {}, + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }, + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits", + ], + removeRestrictionsForYourPublicRepos: [ + "DELETE /user/interaction-limits", + {}, + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }, + ], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: [ + "PUT /user/interaction-limits", + {}, + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }, + ], + }, + issues: { + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees", + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments", + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}", + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}", + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels", + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees", + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}", + ], + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"], + }, + markdown: { + render: ["POST /markdown"], + renderRaw: [ + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } }, + ], + }, + meta: { + get: ["GET /meta"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"], + }, + migrations: { + cancelImport: ["DELETE /repos/{owner}/{repo}/import"], + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive", + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive", + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive", + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive", + ], + getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], + getImportStatus: ["GET /repos/{owner}/{repo}/import"], + getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/repositories", + ], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: [ + "GET /user/migrations/{migration_id}/repositories", + {}, + { renamed: ["migrations", "listReposForAuthenticatedUser"] }, + ], + mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], + setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: ["PUT /repos/{owner}/{repo}/import"], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock", + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", + ], + updateImport: ["PATCH /repos/{owner}/{repo}/import"], + }, + orgs: { + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}", + ], + createInvitation: ["POST /orgs/{org}/invitations"], + createWebhook: ["POST /orgs/{org}/hooks"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + get: ["GET /orgs/{org}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: [ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", + ], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", + ], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}", + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}", + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}", + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}", + ], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"], + }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}", + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}", + ], + deletePackageForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}", + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + deletePackageVersionForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }, + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser", + ], + }, + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions", + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}", + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}", + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}", + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + restorePackageVersionForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission", + ], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}", + ], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"], + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments", + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}", + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch", + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}", + ], + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions", + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions", + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + ], + createForRelease: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions", + ], + createForTeamDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", + ], + deleteForTeamDiscussion: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", + ], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + ], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + ], + listForTeamDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + ], + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + ], + }, + repos: { + acceptInvitation: [ + "PATCH /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] }, + ], + acceptInvitationForAuthenticatedUser: [ + "PATCH /user/repository_invitations/{invitation_id}", + ], + addAppAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + addTeamAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + addUserAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts", + ], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: [ + "GET /repos/{owner}/{repo}/compare/{basehead}", + ], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments", + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}", + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate", + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: [ + "DELETE /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "declineInvitationForAuthenticatedUser"] }, + ], + declineInvitationForAuthenticatedUser: [ + "DELETE /user/repository_invitations/{invitation_id}", + ], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions", + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}", + ], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection", + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}", + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}", + ], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}", + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes", + ], + disableLfsForRepo: ["DELETE /repos/{owner}/{repo}/lfs"], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts", + ], + downloadArchive: [ + "GET /repos/{owner}/{repo}/zipball/{ref}", + {}, + { renamed: ["repos", "downloadZipballArchive"] }, + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes", + ], + enableLfsForRepo: ["PUT /repos/{owner}/{repo}/lfs"], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts", + ], + generateReleaseNotes: [ + "POST /repos/{owner}/{repo}/releases/generate-notes", + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions", + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + ], + getAllTopics: [ + "GET /repos/{owner}/{repo}/topics", + { mediaType: { previews: ["mercy"] } }, + ], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + ], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection", + ], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission", + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}", + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config", + ], + getWebhookDelivery: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", + ], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + ], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", + ], + removeAppAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}", + ], + removeStatusCheckContexts: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + removeTeamAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + removeUserAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: [ + "PUT /repos/{owner}/{repo}/topics", + { mediaType: { previews: ["mercy"] } }, + ], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + setAppAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + setStatusCheckContexts: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + setTeamAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + setUserAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection", + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}", + ], + updatePullRequestReviewProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}", + ], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] }, + ], + updateStatusCheckProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config", + ], + uploadReleaseAsset: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", + { baseUrl: "https://uploads.github.com" }, + ], + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics", { mediaType: { previews: ["mercy"] } }], + users: ["GET /search/users"], + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", + ], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", + ], + }, + teams: { + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}", + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}", + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + ], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + ], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations", + ], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}", + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + updateDiscussionCommentInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"], + }, + users: { + addEmailForAuthenticated: [ + "POST /user/emails", + {}, + { renamed: ["users", "addEmailForAuthenticatedUser"] }, + ], + addEmailForAuthenticatedUser: ["POST /user/emails"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: [ + "POST /user/gpg_keys", + {}, + { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }, + ], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: [ + "POST /user/keys", + {}, + { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }, + ], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + deleteEmailForAuthenticated: [ + "DELETE /user/emails", + {}, + { renamed: ["users", "deleteEmailForAuthenticatedUser"] }, + ], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: [ + "DELETE /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }, + ], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: [ + "DELETE /user/keys/{key_id}", + {}, + { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }, + ], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: [ + "GET /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }, + ], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: [ + "GET /user/keys/{key_id}", + {}, + { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }, + ], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: [ + "GET /user/blocks", + {}, + { renamed: ["users", "listBlockedByAuthenticatedUser"] }, + ], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: [ + "GET /user/emails", + {}, + { renamed: ["users", "listEmailsForAuthenticatedUser"] }, + ], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: [ + "GET /user/following", + {}, + { renamed: ["users", "listFollowedByAuthenticatedUser"] }, + ], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: [ + "GET /user/gpg_keys", + {}, + { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }, + ], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: [ + "GET /user/public_emails", + {}, + { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }, + ], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: [ + "GET /user/keys", + {}, + { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }, + ], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + setPrimaryEmailVisibilityForAuthenticated: [ + "PATCH /user/email/visibility", + {}, + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }, + ], + setPrimaryEmailVisibilityForAuthenticatedUser: [ + "PATCH /user/email/visibility", + ], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"], + }, +}; +export default Endpoints; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js new file mode 100644 index 00000000..53d539da --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js @@ -0,0 +1,18 @@ +import ENDPOINTS from "./generated/endpoints"; +import { VERSION } from "./version"; +import { endpointsToMethods } from "./endpoints-to-methods"; +export function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, ENDPOINTS); + return { + rest: api, + }; +} +restEndpointMethods.VERSION = VERSION; +export function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, ENDPOINTS); + return { + ...api, + rest: api, + }; +} +legacyRestEndpointMethods.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js new file mode 100644 index 00000000..11f86166 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "5.13.0"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts new file mode 100644 index 00000000..2a97a4b4 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts @@ -0,0 +1,4 @@ +import { Octokit } from "@octokit/core"; +import { EndpointsDefaultsAndDecorations } from "./types"; +import { RestEndpointMethods } from "./generated/method-types"; +export declare function endpointsToMethods(octokit: Octokit, endpointsMap: EndpointsDefaultsAndDecorations): RestEndpointMethods; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts new file mode 100644 index 00000000..a3c1d92a --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts @@ -0,0 +1,3 @@ +import { EndpointsDefaultsAndDecorations } from "../types"; +declare const Endpoints: EndpointsDefaultsAndDecorations; +export default Endpoints; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts new file mode 100644 index 00000000..11677d90 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts @@ -0,0 +1,8460 @@ +import { EndpointInterface, RequestInterface } from "@octokit/types"; +import { RestEndpointMethodTypes } from "./parameters-and-response-types"; +export declare type RestEndpointMethods = { + actions: { + /** + * Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + addSelectedRepoToOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + approveWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["approveWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + cancelWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["cancelWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + createRegistrationTokenForOrg: { + (params?: RestEndpointMethodTypes["actions"]["createRegistrationTokenForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` + */ + createRegistrationTokenForRepo: { + (params?: RestEndpointMethodTypes["actions"]["createRegistrationTokenForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + createRemoveTokenForOrg: { + (params?: RestEndpointMethodTypes["actions"]["createRemoveTokenForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + createRemoveTokenForRepo: { + (params?: RestEndpointMethodTypes["actions"]["createRemoveTokenForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + createWorkflowDispatch: { + (params?: RestEndpointMethodTypes["actions"]["createWorkflowDispatch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + deleteArtifact: { + (params?: RestEndpointMethodTypes["actions"]["deleteArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + deleteEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + deleteOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + deleteRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + deleteSelfHostedRunnerFromOrg: { + (params?: RestEndpointMethodTypes["actions"]["deleteSelfHostedRunnerFromOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. + */ + deleteSelfHostedRunnerFromRepo: { + (params?: RestEndpointMethodTypes["actions"]["deleteSelfHostedRunnerFromRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + deleteWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["deleteWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + deleteWorkflowRunLogs: { + (params?: RestEndpointMethodTypes["actions"]["deleteWorkflowRunLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + disableSelectedRepositoryGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["disableSelectedRepositoryGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + disableWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["disableWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + downloadArtifact: { + (params?: RestEndpointMethodTypes["actions"]["downloadArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + downloadJobLogsForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["downloadJobLogsForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + downloadWorkflowRunAttemptLogs: { + (params?: RestEndpointMethodTypes["actions"]["downloadWorkflowRunAttemptLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + downloadWorkflowRunLogs: { + (params?: RestEndpointMethodTypes["actions"]["downloadWorkflowRunLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + enableSelectedRepositoryGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["enableSelectedRepositoryGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + enableWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["enableWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + getAllowedActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["getAllowedActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + getAllowedActionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["getAllowedActionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getArtifact: { + (params?: RestEndpointMethodTypes["actions"]["getArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + getEnvironmentPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + getEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + getGithubActionsPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + getGithubActionsPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getJobForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["getJobForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + getOrgPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getOrgPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + getOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["getOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getPendingDeploymentsForRun: { + (params?: RestEndpointMethodTypes["actions"]["getPendingDeploymentsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * @deprecated octokit.rest.actions.getRepoPermissions() has been renamed to octokit.rest.actions.getGithubActionsPermissionsRepository() (2020-11-10) + */ + getRepoPermissions: { + (params?: RestEndpointMethodTypes["actions"]["getRepoPermissions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + getRepoPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getRepoPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + getRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["getRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getReviewsForRun: { + (params?: RestEndpointMethodTypes["actions"]["getReviewsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + getSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["getSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + getSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["getSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ + getWorkflowRunAttempt: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRunAttempt"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getWorkflowRunUsage: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRunUsage"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getWorkflowUsage: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowUsage"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + listArtifactsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listArtifactsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + listEnvironmentSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listEnvironmentSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + */ + listJobsForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["listJobsForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + */ + listJobsForWorkflowRunAttempt: { + (params?: RestEndpointMethodTypes["actions"]["listJobsForWorkflowRunAttempt"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + listOrgSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listOrgSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + listRepoSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listRepoSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + listRepoWorkflows: { + (params?: RestEndpointMethodTypes["actions"]["listRepoWorkflows"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + listRunnerApplicationsForOrg: { + (params?: RestEndpointMethodTypes["actions"]["listRunnerApplicationsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + listRunnerApplicationsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listRunnerApplicationsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + listSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + listSelectedRepositoriesEnabledGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["listSelectedRepositoriesEnabledGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + listSelfHostedRunnersForOrg: { + (params?: RestEndpointMethodTypes["actions"]["listSelfHostedRunnersForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + listSelfHostedRunnersForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listSelfHostedRunnersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + listWorkflowRunArtifacts: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRunArtifacts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + listWorkflowRuns: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRuns"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + listWorkflowRunsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRunsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + removeSelectedRepoFromOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Anyone with read access to the repository contents and deployments can use this endpoint. + */ + reviewPendingDeploymentsForRun: { + (params?: RestEndpointMethodTypes["actions"]["reviewPendingDeploymentsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + setAllowedActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setAllowedActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + setAllowedActionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["setAllowedActionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + setGithubActionsPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository. + * + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + setGithubActionsPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + setSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + setSelectedRepositoriesEnabledGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setSelectedRepositoriesEnabledGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + activity: { + checkRepoIsStarredByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["checkRepoIsStarredByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). + */ + deleteRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["deleteRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + deleteThreadSubscription: { + (params?: RestEndpointMethodTypes["activity"]["deleteThreadSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + getFeeds: { + (params?: RestEndpointMethodTypes["activity"]["getFeeds"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["getRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getThread: { + (params?: RestEndpointMethodTypes["activity"]["getThread"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + getThreadSubscriptionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["getThreadSubscriptionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + listEventsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listEventsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all notifications for the current user, sorted by most recently updated. + */ + listNotificationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listNotificationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + listOrgEventsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listOrgEventsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. + */ + listPublicEvents: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicEventsForRepoNetwork: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEventsForRepoNetwork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicOrgEvents: { + (params?: RestEndpointMethodTypes["activity"]["listPublicOrgEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + */ + listReceivedEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listReceivedEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listReceivedPublicEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listReceivedPublicEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listRepoEvents: { + (params?: RestEndpointMethodTypes["activity"]["listRepoEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all notifications for the current user. + */ + listRepoNotificationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listRepoNotificationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + listReposStarredByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposStarredByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + listReposStarredByUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposStarredByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories a user is watching. + */ + listReposWatchedByUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposWatchedByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + listStargazersForRepo: { + (params?: RestEndpointMethodTypes["activity"]["listStargazersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories the authenticated user is watching. + */ + listWatchedReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listWatchedReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people watching the specified repository. + */ + listWatchersForRepo: { + (params?: RestEndpointMethodTypes["activity"]["listWatchersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks all notifications as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + markNotificationsAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markNotificationsAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + markRepoNotificationsAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markRepoNotificationsAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + markThreadAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markThreadAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. + */ + setRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["setRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + setThreadSubscription: { + (params?: RestEndpointMethodTypes["activity"]["setThreadSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + starRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["starRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + unstarRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["unstarRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + apps: { + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + * @deprecated octokit.rest.apps.addRepoToInstallation() has been renamed to octokit.rest.apps.addRepoToInstallationForAuthenticatedUser() (2021-10-05) + */ + addRepoToInstallation: { + (params?: RestEndpointMethodTypes["apps"]["addRepoToInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + addRepoToInstallationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["addRepoToInstallationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + checkToken: { + (params?: RestEndpointMethodTypes["apps"]["checkToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Deprecated:** use `apps.createContentAttachmentForRepo()` (`POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments`) instead. Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://docs.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + createContentAttachment: { + (params?: RestEndpointMethodTypes["apps"]["createContentAttachment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` and `repository` `full_name` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://docs.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + createContentAttachmentForRepo: { + (params?: RestEndpointMethodTypes["apps"]["createContentAttachmentForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + createFromManifest: { + (params?: RestEndpointMethodTypes["apps"]["createFromManifest"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + createInstallationAccessToken: { + (params?: RestEndpointMethodTypes["apps"]["createInstallationAccessToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + deleteAuthorization: { + (params?: RestEndpointMethodTypes["apps"]["deleteAuthorization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + deleteInstallation: { + (params?: RestEndpointMethodTypes["apps"]["deleteInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + */ + deleteToken: { + (params?: RestEndpointMethodTypes["apps"]["deleteToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getAuthenticated: { + (params?: RestEndpointMethodTypes["apps"]["getAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + getBySlug: { + (params?: RestEndpointMethodTypes["apps"]["getBySlug"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getOrgInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getOrgInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getRepoInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getRepoInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + getSubscriptionPlanForAccount: { + (params?: RestEndpointMethodTypes["apps"]["getSubscriptionPlanForAccount"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + getSubscriptionPlanForAccountStubbed: { + (params?: RestEndpointMethodTypes["apps"]["getSubscriptionPlanForAccountStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getUserInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getUserInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getWebhookConfigForApp: { + (params?: RestEndpointMethodTypes["apps"]["getWebhookConfigForApp"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getWebhookDelivery: { + (params?: RestEndpointMethodTypes["apps"]["getWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsForPlan: { + (params?: RestEndpointMethodTypes["apps"]["listAccountsForPlan"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsForPlanStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listAccountsForPlanStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + listInstallationReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listInstallationReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + listInstallations: { + (params?: RestEndpointMethodTypes["apps"]["listInstallations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + listInstallationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listInstallationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlans: { + (params?: RestEndpointMethodTypes["apps"]["listPlans"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlansStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listPlansStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + listReposAccessibleToInstallation: { + (params?: RestEndpointMethodTypes["apps"]["listReposAccessibleToInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + listSubscriptionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listSubscriptionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + listSubscriptionsForAuthenticatedUserStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listSubscriptionsForAuthenticatedUserStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + listWebhookDeliveries: { + (params?: RestEndpointMethodTypes["apps"]["listWebhookDeliveries"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + redeliverWebhookDelivery: { + (params?: RestEndpointMethodTypes["apps"]["redeliverWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + * @deprecated octokit.rest.apps.removeRepoFromInstallation() has been renamed to octokit.rest.apps.removeRepoFromInstallationForAuthenticatedUser() (2021-10-05) + */ + removeRepoFromInstallation: { + (params?: RestEndpointMethodTypes["apps"]["removeRepoFromInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + removeRepoFromInstallationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["removeRepoFromInstallationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + resetToken: { + (params?: RestEndpointMethodTypes["apps"]["resetToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + revokeInstallationAccessToken: { + (params?: RestEndpointMethodTypes["apps"]["revokeInstallationAccessToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + scopeToken: { + (params?: RestEndpointMethodTypes["apps"]["scopeToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + suspendInstallation: { + (params?: RestEndpointMethodTypes["apps"]["suspendInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + unsuspendInstallation: { + (params?: RestEndpointMethodTypes["apps"]["unsuspendInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + updateWebhookConfigForApp: { + (params?: RestEndpointMethodTypes["apps"]["updateWebhookConfigForApp"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + billing: { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + getGithubActionsBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getGithubActionsBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + getGithubActionsBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getGithubActionsBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + getGithubPackagesBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getGithubPackagesBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + getGithubPackagesBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getGithubPackagesBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + getSharedStorageBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getSharedStorageBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + getSharedStorageBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getSharedStorageBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + checks: { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + create: { + (params?: RestEndpointMethodTypes["checks"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + createSuite: { + (params?: RestEndpointMethodTypes["checks"]["createSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: { + (params?: RestEndpointMethodTypes["checks"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + getSuite: { + (params?: RestEndpointMethodTypes["checks"]["getSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. + */ + listAnnotations: { + (params?: RestEndpointMethodTypes["checks"]["listAnnotations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + listForRef: { + (params?: RestEndpointMethodTypes["checks"]["listForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + listForSuite: { + (params?: RestEndpointMethodTypes["checks"]["listForSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + listSuitesForRef: { + (params?: RestEndpointMethodTypes["checks"]["listSuitesForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + rerequestRun: { + (params?: RestEndpointMethodTypes["checks"]["rerequestRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + rerequestSuite: { + (params?: RestEndpointMethodTypes["checks"]["rerequestSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. + */ + setSuitesPreferences: { + (params?: RestEndpointMethodTypes["checks"]["setSuitesPreferences"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + update: { + (params?: RestEndpointMethodTypes["checks"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + codeScanning: { + /** + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` and `repo:security_events` scopes. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set + * (see the example default response below). + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in the set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find the deletable analysis for one of the sets, + * step through deleting the analyses in that set, + * and then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + deleteAnalysis: { + (params?: RestEndpointMethodTypes["codeScanning"]["deleteAnalysis"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. + */ + getAlert: { + (params?: RestEndpointMethodTypes["codeScanning"]["getAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + */ + getAnalysis: { + (params?: RestEndpointMethodTypes["codeScanning"]["getAnalysis"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + getSarif: { + (params?: RestEndpointMethodTypes["codeScanning"]["getSarif"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all instances of the specified code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + listAlertInstances: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertInstances"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint. GitHub Apps must have the `security_events` read permission to use + * this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + listAlertsForRepo: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all instances of the specified code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + * @deprecated octokit.rest.codeScanning.listAlertsInstances() has been renamed to octokit.rest.codeScanning.listAlertInstances() (2021-04-30) + */ + listAlertsInstances: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsInstances"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + listRecentAnalyses: { + (params?: RestEndpointMethodTypes["codeScanning"]["listRecentAnalyses"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. + */ + updateAlert: { + (params?: RestEndpointMethodTypes["codeScanning"]["updateAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." + */ + uploadSarif: { + (params?: RestEndpointMethodTypes["codeScanning"]["uploadSarif"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + codesOfConduct: { + getAllCodesOfConduct: { + (params?: RestEndpointMethodTypes["codesOfConduct"]["getAllCodesOfConduct"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getConductCode: { + (params?: RestEndpointMethodTypes["codesOfConduct"]["getConductCode"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + emojis: { + /** + * Lists all the emojis available to use on GitHub. + */ + get: { + (params?: RestEndpointMethodTypes["emojis"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + enterpriseAdmin: { + /** + * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + disableSelectedOrganizationGithubActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["disableSelectedOrganizationGithubActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + enableSelectedOrganizationGithubActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["enableSelectedOrganizationGithubActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + getAllowedActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["getAllowedActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + getGithubActionsPermissionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["getGithubActionsPermissionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + listSelectedOrganizationsEnabledGithubActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["listSelectedOrganizationsEnabledGithubActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + setAllowedActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["setAllowedActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + setGithubActionsPermissionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["setGithubActionsPermissionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + setSelectedOrganizationsEnabledGithubActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["setSelectedOrganizationsEnabledGithubActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + gists: { + checkIsStarred: { + (params?: RestEndpointMethodTypes["gists"]["checkIsStarred"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + create: { + (params?: RestEndpointMethodTypes["gists"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createComment: { + (params?: RestEndpointMethodTypes["gists"]["createComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + delete: { + (params?: RestEndpointMethodTypes["gists"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteComment: { + (params?: RestEndpointMethodTypes["gists"]["deleteComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This was previously `/gists/:gist_id/fork`. + */ + fork: { + (params?: RestEndpointMethodTypes["gists"]["fork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + get: { + (params?: RestEndpointMethodTypes["gists"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getComment: { + (params?: RestEndpointMethodTypes["gists"]["getComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getRevision: { + (params?: RestEndpointMethodTypes["gists"]["getRevision"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + list: { + (params?: RestEndpointMethodTypes["gists"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listComments: { + (params?: RestEndpointMethodTypes["gists"]["listComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listCommits: { + (params?: RestEndpointMethodTypes["gists"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists public gists for the specified user: + */ + listForUser: { + (params?: RestEndpointMethodTypes["gists"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listForks: { + (params?: RestEndpointMethodTypes["gists"]["listForks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + listPublic: { + (params?: RestEndpointMethodTypes["gists"]["listPublic"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the authenticated user's starred gists: + */ + listStarred: { + (params?: RestEndpointMethodTypes["gists"]["listStarred"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + star: { + (params?: RestEndpointMethodTypes["gists"]["star"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + unstar: { + (params?: RestEndpointMethodTypes["gists"]["unstar"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + update: { + (params?: RestEndpointMethodTypes["gists"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateComment: { + (params?: RestEndpointMethodTypes["gists"]["updateComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + git: { + createBlob: { + (params?: RestEndpointMethodTypes["git"]["createBlob"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createCommit: { + (params?: RestEndpointMethodTypes["git"]["createCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + createRef: { + (params?: RestEndpointMethodTypes["git"]["createRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createTag: { + (params?: RestEndpointMethodTypes["git"]["createTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + */ + createTree: { + (params?: RestEndpointMethodTypes["git"]["createTree"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteRef: { + (params?: RestEndpointMethodTypes["git"]["deleteRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + getBlob: { + (params?: RestEndpointMethodTypes["git"]["getBlob"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: RestEndpointMethodTypes["git"]["getCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + getRef: { + (params?: RestEndpointMethodTypes["git"]["getRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getTag: { + (params?: RestEndpointMethodTypes["git"]["getTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + */ + getTree: { + (params?: RestEndpointMethodTypes["git"]["getTree"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + listMatchingRefs: { + (params?: RestEndpointMethodTypes["git"]["listMatchingRefs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateRef: { + (params?: RestEndpointMethodTypes["git"]["updateRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + gitignore: { + /** + * List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). + */ + getAllTemplates: { + (params?: RestEndpointMethodTypes["gitignore"]["getAllTemplates"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + getTemplate: { + (params?: RestEndpointMethodTypes["gitignore"]["getTemplate"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + interactions: { + /** + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + getRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ + getRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + getRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + * @deprecated octokit.rest.interactions.getRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.getRestrictionsForAuthenticatedUser() (2021-02-02) + */ + getRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any interaction restrictions from your public repositories. + */ + removeRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + removeRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + removeRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any interaction restrictions from your public repositories. + * @deprecated octokit.rest.interactions.removeRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.removeRestrictionsForAuthenticatedUser() (2021-02-02) + */ + removeRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + setRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + setRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + setRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + * @deprecated octokit.rest.interactions.setRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.setRestrictionsForAuthenticatedUser() (2021-02-02) + */ + setRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + issues: { + /** + * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + addAssignees: { + (params?: RestEndpointMethodTypes["issues"]["addAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + addLabels: { + (params?: RestEndpointMethodTypes["issues"]["addLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + checkUserCanBeAssigned: { + (params?: RestEndpointMethodTypes["issues"]["checkUserCanBeAssigned"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + create: { + (params?: RestEndpointMethodTypes["issues"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + createComment: { + (params?: RestEndpointMethodTypes["issues"]["createComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createLabel: { + (params?: RestEndpointMethodTypes["issues"]["createLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createMilestone: { + (params?: RestEndpointMethodTypes["issues"]["createMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteComment: { + (params?: RestEndpointMethodTypes["issues"]["deleteComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteLabel: { + (params?: RestEndpointMethodTypes["issues"]["deleteLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteMilestone: { + (params?: RestEndpointMethodTypes["issues"]["deleteMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: { + (params?: RestEndpointMethodTypes["issues"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getComment: { + (params?: RestEndpointMethodTypes["issues"]["getComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getEvent: { + (params?: RestEndpointMethodTypes["issues"]["getEvent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getLabel: { + (params?: RestEndpointMethodTypes["issues"]["getLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getMilestone: { + (params?: RestEndpointMethodTypes["issues"]["getMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + list: { + (params?: RestEndpointMethodTypes["issues"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + listAssignees: { + (params?: RestEndpointMethodTypes["issues"]["listAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Issue Comments are ordered by ascending ID. + */ + listComments: { + (params?: RestEndpointMethodTypes["issues"]["listComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * By default, Issue Comments are ordered by ascending ID. + */ + listCommentsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listEvents: { + (params?: RestEndpointMethodTypes["issues"]["listEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listEventsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listEventsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listEventsForTimeline: { + (params?: RestEndpointMethodTypes["issues"]["listEventsForTimeline"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["issues"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["issues"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues in a repository. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + listForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listLabelsForMilestone: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsForMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listLabelsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listLabelsOnIssue: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsOnIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listMilestones: { + (params?: RestEndpointMethodTypes["issues"]["listMilestones"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + lock: { + (params?: RestEndpointMethodTypes["issues"]["lock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + removeAllLabels: { + (params?: RestEndpointMethodTypes["issues"]["removeAllLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes one or more assignees from an issue. + */ + removeAssignees: { + (params?: RestEndpointMethodTypes["issues"]["removeAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + removeLabel: { + (params?: RestEndpointMethodTypes["issues"]["removeLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any previous labels and sets the new labels for an issue. + */ + setLabels: { + (params?: RestEndpointMethodTypes["issues"]["setLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access can unlock an issue's conversation. + */ + unlock: { + (params?: RestEndpointMethodTypes["issues"]["unlock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Issue owners and users with push access can edit an issue. + */ + update: { + (params?: RestEndpointMethodTypes["issues"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateComment: { + (params?: RestEndpointMethodTypes["issues"]["updateComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateLabel: { + (params?: RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateMilestone: { + (params?: RestEndpointMethodTypes["issues"]["updateMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + licenses: { + get: { + (params?: RestEndpointMethodTypes["licenses"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getAllCommonlyUsed: { + (params?: RestEndpointMethodTypes["licenses"]["getAllCommonlyUsed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + getForRepo: { + (params?: RestEndpointMethodTypes["licenses"]["getForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + markdown: { + render: { + (params?: RestEndpointMethodTypes["markdown"]["render"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + renderRaw: { + (params?: RestEndpointMethodTypes["markdown"]["renderRaw"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + meta: { + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/)." + * + * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. + */ + get: { + (params?: RestEndpointMethodTypes["meta"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the octocat as ASCII art + */ + getOctocat: { + (params?: RestEndpointMethodTypes["meta"]["getOctocat"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a random sentence from the Zen of GitHub + */ + getZen: { + (params?: RestEndpointMethodTypes["meta"]["getZen"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get Hypermedia links to resources accessible in GitHub's REST API + */ + root: { + (params?: RestEndpointMethodTypes["meta"]["root"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + migrations: { + /** + * Stop an import for a repository. + */ + cancelImport: { + (params?: RestEndpointMethodTypes["migrations"]["cancelImport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + deleteArchiveForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["deleteArchiveForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + deleteArchiveForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["deleteArchiveForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the URL to a migration archive. + */ + downloadArchiveForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["downloadArchiveForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + getArchiveForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["getArchiveForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. + */ + getCommitAuthors: { + (params?: RestEndpointMethodTypes["migrations"]["getCommitAuthors"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View the progress of an import. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + getImportStatus: { + (params?: RestEndpointMethodTypes["migrations"]["getImportStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List files larger than 100MB found during the import + */ + getLargeFiles: { + (params?: RestEndpointMethodTypes["migrations"]["getLargeFiles"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + */ + getStatusForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["getStatusForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + getStatusForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["getStatusForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all migrations a user has started. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the most recent migrations. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all the repositories for this user migration. + */ + listReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all the repositories for this organization migration. + */ + listReposForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all the repositories for this user migration. + * @deprecated octokit.rest.migrations.listReposForUser() has been renamed to octokit.rest.migrations.listReposForAuthenticatedUser() (2021-10-05) + */ + listReposForUser: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. + */ + mapCommitAuthor: { + (params?: RestEndpointMethodTypes["migrations"]["mapCommitAuthor"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/). + */ + setLfsPreference: { + (params?: RestEndpointMethodTypes["migrations"]["setLfsPreference"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Initiates the generation of a user migration archive. + */ + startForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["startForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Initiates the generation of a migration archive. + */ + startForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["startForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Start a source import to a GitHub repository using GitHub Importer. + */ + startImport: { + (params?: RestEndpointMethodTypes["migrations"]["startImport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + unlockRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["unlockRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + unlockRepoForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["unlockRepoForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + */ + updateImport: { + (params?: RestEndpointMethodTypes["migrations"]["updateImport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + orgs: { + blockUser: { + (params?: RestEndpointMethodTypes["orgs"]["blockUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + cancelInvitation: { + (params?: RestEndpointMethodTypes["orgs"]["cancelInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkBlockedUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkBlockedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Check if a user is, publicly or privately, a member of the organization. + */ + checkMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkPublicMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkPublicMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". + */ + convertMemberToOutsideCollaborator: { + (params?: RestEndpointMethodTypes["orgs"]["convertMemberToOutsideCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + createInvitation: { + (params?: RestEndpointMethodTypes["orgs"]["createInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Here's how you can create a hook that posts payloads in JSON format: + */ + createWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["createWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["deleteWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + get: { + (params?: RestEndpointMethodTypes["orgs"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["getMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. + */ + getMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["getMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." + */ + getWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + getWebhookConfigForOrg: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhookConfigForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a delivery for a webhook configured in an organization. + */ + getWebhookDelivery: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + list: { + (params?: RestEndpointMethodTypes["orgs"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + */ + listAppInstallations: { + (params?: RestEndpointMethodTypes["orgs"]["listAppInstallations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users blocked by an organization. + */ + listBlockedUsers: { + (params?: RestEndpointMethodTypes["orgs"]["listBlockedUsers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + */ + listFailedInvitations: { + (params?: RestEndpointMethodTypes["orgs"]["listFailedInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + listForUser: { + (params?: RestEndpointMethodTypes["orgs"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + listInvitationTeams: { + (params?: RestEndpointMethodTypes["orgs"]["listInvitationTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + listMembers: { + (params?: RestEndpointMethodTypes["orgs"]["listMembers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listMembershipsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["listMembershipsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all users who are outside collaborators of an organization. + */ + listOutsideCollaborators: { + (params?: RestEndpointMethodTypes["orgs"]["listOutsideCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + listPendingInvitations: { + (params?: RestEndpointMethodTypes["orgs"]["listPendingInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Members of an organization can choose to have their membership publicized or not. + */ + listPublicMembers: { + (params?: RestEndpointMethodTypes["orgs"]["listPublicMembers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a list of webhook deliveries for a webhook configured in an organization. + */ + listWebhookDeliveries: { + (params?: RestEndpointMethodTypes["orgs"]["listWebhookDeliveries"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listWebhooks: { + (params?: RestEndpointMethodTypes["orgs"]["listWebhooks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["pingWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Redeliver a delivery for a webhook configured in an organization. + */ + redeliverWebhookDelivery: { + (params?: RestEndpointMethodTypes["orgs"]["redeliverWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + removeMember: { + (params?: RestEndpointMethodTypes["orgs"]["removeMember"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + removeMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["removeMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removing a user from this list will remove them from all the organization's repositories. + */ + removeOutsideCollaborator: { + (params?: RestEndpointMethodTypes["orgs"]["removeOutsideCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + removePublicMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["removePublicMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + setMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["setMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + setPublicMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["setPublicMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + unblockUser: { + (params?: RestEndpointMethodTypes["orgs"]["unblockUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + update: { + (params?: RestEndpointMethodTypes["orgs"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["updateMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." + */ + updateWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["updateWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + updateWebhookConfigForOrg: { + (params?: RestEndpointMethodTypes["orgs"]["updateWebhookConfigForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + packages: { + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + deletePackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + deletePackageForOrg: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + deletePackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + deletePackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + deletePackageVersionForOrg: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + deletePackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByAnOrg() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByOrg() (2021-03-24) + */ + getAllPackageVersionsForAPackageOwnedByAnOrg: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByAnOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByAuthenticatedUser() (2021-03-24) + */ + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getAllPackageVersionsForPackageOwnedByOrg: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getAllPackageVersionsForPackageOwnedByUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageVersionForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + listPackagesForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["listPackagesForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all packages in an organization readable by the user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + listPackagesForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["listPackagesForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + listPackagesForUser: { + (params?: RestEndpointMethodTypes["packages"]["listPackagesForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + restorePackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + restorePackageForOrg: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + restorePackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + restorePackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + restorePackageVersionForOrg: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + restorePackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + projects: { + /** + * Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + */ + addCollaborator: { + (params?: RestEndpointMethodTypes["projects"]["addCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createCard: { + (params?: RestEndpointMethodTypes["projects"]["createCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createColumn: { + (params?: RestEndpointMethodTypes["projects"]["createColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["projects"]["createForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForOrg: { + (params?: RestEndpointMethodTypes["projects"]["createForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForRepo: { + (params?: RestEndpointMethodTypes["projects"]["createForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + delete: { + (params?: RestEndpointMethodTypes["projects"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteCard: { + (params?: RestEndpointMethodTypes["projects"]["deleteCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteColumn: { + (params?: RestEndpointMethodTypes["projects"]["deleteColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: { + (params?: RestEndpointMethodTypes["projects"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getCard: { + (params?: RestEndpointMethodTypes["projects"]["getCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getColumn: { + (params?: RestEndpointMethodTypes["projects"]["getColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. + */ + getPermissionForUser: { + (params?: RestEndpointMethodTypes["projects"]["getPermissionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listCards: { + (params?: RestEndpointMethodTypes["projects"]["listCards"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. + */ + listCollaborators: { + (params?: RestEndpointMethodTypes["projects"]["listCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listColumns: { + (params?: RestEndpointMethodTypes["projects"]["listColumns"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["projects"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + listForRepo: { + (params?: RestEndpointMethodTypes["projects"]["listForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listForUser: { + (params?: RestEndpointMethodTypes["projects"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + moveCard: { + (params?: RestEndpointMethodTypes["projects"]["moveCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + moveColumn: { + (params?: RestEndpointMethodTypes["projects"]["moveColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + removeCollaborator: { + (params?: RestEndpointMethodTypes["projects"]["removeCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + update: { + (params?: RestEndpointMethodTypes["projects"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateCard: { + (params?: RestEndpointMethodTypes["projects"]["updateCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateColumn: { + (params?: RestEndpointMethodTypes["projects"]["updateColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + pulls: { + checkIfMerged: { + (params?: RestEndpointMethodTypes["pulls"]["checkIfMerged"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + create: { + (params?: RestEndpointMethodTypes["pulls"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + createReplyForReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["createReplyForReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + createReview: { + (params?: RestEndpointMethodTypes["pulls"]["createReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see the [`comfort-fade` preview notice](https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request-preview-notices). + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + createReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["createReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deletePendingReview: { + (params?: RestEndpointMethodTypes["pulls"]["deletePendingReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a review comment. + */ + deleteReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["deleteReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + */ + dismissReview: { + (params?: RestEndpointMethodTypes["pulls"]["dismissReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + get: { + (params?: RestEndpointMethodTypes["pulls"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getReview: { + (params?: RestEndpointMethodTypes["pulls"]["getReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Provides details for a review comment. + */ + getReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["getReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + list: { + (params?: RestEndpointMethodTypes["pulls"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List comments for a specific pull request review. + */ + listCommentsForReview: { + (params?: RestEndpointMethodTypes["pulls"]["listCommentsForReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. + */ + listCommits: { + (params?: RestEndpointMethodTypes["pulls"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + */ + listFiles: { + (params?: RestEndpointMethodTypes["pulls"]["listFiles"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listRequestedReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["listRequestedReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all review comments for a pull request. By default, review comments are in ascending order by ID. + */ + listReviewComments: { + (params?: RestEndpointMethodTypes["pulls"]["listReviewComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. + */ + listReviewCommentsForRepo: { + (params?: RestEndpointMethodTypes["pulls"]["listReviewCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The list of reviews returns in chronological order. + */ + listReviews: { + (params?: RestEndpointMethodTypes["pulls"]["listReviews"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + merge: { + (params?: RestEndpointMethodTypes["pulls"]["merge"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + removeRequestedReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["removeRequestedReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + requestReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["requestReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + submitReview: { + (params?: RestEndpointMethodTypes["pulls"]["submitReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + update: { + (params?: RestEndpointMethodTypes["pulls"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + updateBranch: { + (params?: RestEndpointMethodTypes["pulls"]["updateBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update the review summary comment with new text. + */ + updateReview: { + (params?: RestEndpointMethodTypes["pulls"]["updateReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables you to edit a review comment. + */ + updateReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["updateReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + rateLimit: { + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: { + (params?: RestEndpointMethodTypes["rateLimit"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + reactions: { + /** + * Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. + */ + createForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + createForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["createForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. + */ + createForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. + */ + createForPullRequestReviewComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForPullRequestReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + createForRelease: { + (params?: RestEndpointMethodTypes["reactions"]["createForRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + createForTeamDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["createForTeamDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + createForTeamDiscussionInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["createForTeamDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + deleteForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + */ + deleteForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + deleteForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + deleteForPullRequestComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForPullRequestComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteForTeamDiscussion: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForTeamDiscussion"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteForTeamDiscussionComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForTeamDiscussionComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + listForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to an [issue](https://docs.github.com/rest/reference/issues). + */ + listForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["listForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + listForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + listForPullRequestReviewComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForPullRequestReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + listForTeamDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["listForTeamDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + listForTeamDiscussionInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["listForTeamDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + repos: { + /** + * @deprecated octokit.rest.repos.acceptInvitation() has been renamed to octokit.rest.repos.acceptInvitationForAuthenticatedUser() (2021-10-05) + */ + acceptInvitation: { + (params?: RestEndpointMethodTypes["repos"]["acceptInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + acceptInvitationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["acceptInvitationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * For more information the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + addCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["addCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + addStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["addStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + checkCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["checkCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + checkVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["checkVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + compareCommits: { + (params?: RestEndpointMethodTypes["repos"]["compareCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The `basehead` param is comprised of two parts: `base` and `head`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + compareCommitsWithBasehead: { + (params?: RestEndpointMethodTypes["repos"]["compareCommitsWithBasehead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with admin access to the repository can create an autolink. + */ + createAutolink: { + (params?: RestEndpointMethodTypes["repos"]["createAutolink"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + createCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["createCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + createCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["createCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + createCommitStatus: { + (params?: RestEndpointMethodTypes["repos"]["createCommitStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can create a read-only deploy key. + */ + createDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["createDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + createDeployment: { + (params?: RestEndpointMethodTypes["repos"]["createDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + createDeploymentStatus: { + (params?: RestEndpointMethodTypes["repos"]["createDeploymentStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + createDispatchEvent: { + (params?: RestEndpointMethodTypes["repos"]["createDispatchEvent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + createForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["createForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + */ + createFork: { + (params?: RestEndpointMethodTypes["repos"]["createFork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + createInOrg: { + (params?: RestEndpointMethodTypes["repos"]["createInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + createOrUpdateEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new file or replaces an existing file in a repository. + */ + createOrUpdateFileContents: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateFileContents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + */ + createPagesSite: { + (params?: RestEndpointMethodTypes["repos"]["createPagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + createRelease: { + (params?: RestEndpointMethodTypes["repos"]["createRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + createUsingTemplate: { + (params?: RestEndpointMethodTypes["repos"]["createUsingTemplate"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + createWebhook: { + (params?: RestEndpointMethodTypes["repos"]["createWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * @deprecated octokit.rest.repos.declineInvitation() has been renamed to octokit.rest.repos.declineInvitationForAuthenticatedUser() (2021-10-05) + */ + declineInvitation: { + (params?: RestEndpointMethodTypes["repos"]["declineInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + declineInvitationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["declineInvitationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + delete: { + (params?: RestEndpointMethodTypes["repos"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + deleteAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["deleteAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + deleteAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + deleteAnEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["deleteAnEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + deleteAutolink: { + (params?: RestEndpointMethodTypes["repos"]["deleteAutolink"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + deleteBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["deleteCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + deleteCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + deleteDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["deleteDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." + */ + deleteDeployment: { + (params?: RestEndpointMethodTypes["repos"]["deleteDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + */ + deleteFile: { + (params?: RestEndpointMethodTypes["repos"]["deleteFile"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteInvitation: { + (params?: RestEndpointMethodTypes["repos"]["deleteInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deletePagesSite: { + (params?: RestEndpointMethodTypes["repos"]["deletePagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + deletePullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["deletePullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can delete a release. + */ + deleteRelease: { + (params?: RestEndpointMethodTypes["repos"]["deleteRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["deleteReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteWebhook: { + (params?: RestEndpointMethodTypes["repos"]["deleteWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". + */ + disableAutomatedSecurityFixes: { + (params?: RestEndpointMethodTypes["repos"]["disableAutomatedSecurityFixes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Git LFS API endpoints are currently in beta and are subject to change. + */ + disableLfsForRepo: { + (params?: RestEndpointMethodTypes["repos"]["disableLfsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + disableVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["disableVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + * @deprecated octokit.rest.repos.downloadArchive() has been renamed to octokit.rest.repos.downloadZipballArchive() (2020-09-17) + */ + downloadArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + downloadTarballArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadTarballArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + downloadZipballArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadZipballArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". + */ + enableAutomatedSecurityFixes: { + (params?: RestEndpointMethodTypes["repos"]["enableAutomatedSecurityFixes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Git LFS API endpoints are currently in beta and are subject to change. + */ + enableLfsForRepo: { + (params?: RestEndpointMethodTypes["repos"]["enableLfsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + enableVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["enableVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. + */ + generateReleaseNotes: { + (params?: RestEndpointMethodTypes["repos"]["generateReleaseNotes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + */ + get: { + (params?: RestEndpointMethodTypes["repos"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + getAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["getAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["getAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getAllEnvironments: { + (params?: RestEndpointMethodTypes["repos"]["getAllEnvironments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getAllStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["getAllStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getAllTopics: { + (params?: RestEndpointMethodTypes["repos"]["getAllTopics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + getAppsWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getAppsWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + getAutolink: { + (params?: RestEndpointMethodTypes["repos"]["getAutolink"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getBranch: { + (params?: RestEndpointMethodTypes["repos"]["getBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["getBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getClones: { + (params?: RestEndpointMethodTypes["repos"]["getClones"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + */ + getCodeFrequencyStats: { + (params?: RestEndpointMethodTypes["repos"]["getCodeFrequencyStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. + */ + getCollaboratorPermissionLevel: { + (params?: RestEndpointMethodTypes["repos"]["getCollaboratorPermissionLevel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * The most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts. + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + getCombinedStatusForRef: { + (params?: RestEndpointMethodTypes["repos"]["getCombinedStatusForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: RestEndpointMethodTypes["repos"]["getCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + getCommitActivityStats: { + (params?: RestEndpointMethodTypes["repos"]["getCommitActivityStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["getCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + getCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["getCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint will return all community profile metrics, including an + * overall health score, repository description, the presence of documentation, detected + * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * these four documents are present: README, CONTRIBUTING, LICENSE, and + * CODE_OF_CONDUCT. For example, if all four documents are present, then + * the `health_percentage` is `100`. If only one is present, then the + * `health_percentage` is `25`. + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + getCommunityProfileMetrics: { + (params?: RestEndpointMethodTypes["repos"]["getCommunityProfileMetrics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent + * object format. + * + * **Note**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/reference/git#get-a-tree). + * * This API supports files up to 1 megabyte in size. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + getContent: { + (params?: RestEndpointMethodTypes["repos"]["getContent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + getContributorsStats: { + (params?: RestEndpointMethodTypes["repos"]["getContributorsStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["getDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getDeployment: { + (params?: RestEndpointMethodTypes["repos"]["getDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access can view a deployment status for a deployment: + */ + getDeploymentStatus: { + (params?: RestEndpointMethodTypes["repos"]["getDeploymentStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["getEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getLatestPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["getLatestPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + getLatestRelease: { + (params?: RestEndpointMethodTypes["repos"]["getLatestRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getPages: { + (params?: RestEndpointMethodTypes["repos"]["getPages"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["getPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. + */ + getPagesHealthCheck: { + (params?: RestEndpointMethodTypes["repos"]["getPagesHealthCheck"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + */ + getParticipationStats: { + (params?: RestEndpointMethodTypes["repos"]["getParticipationStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getPullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["getPullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + getPunchCardStats: { + (params?: RestEndpointMethodTypes["repos"]["getPunchCardStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + getReadme: { + (params?: RestEndpointMethodTypes["repos"]["getReadme"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + getReadmeInDirectory: { + (params?: RestEndpointMethodTypes["repos"]["getReadmeInDirectory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). + */ + getRelease: { + (params?: RestEndpointMethodTypes["repos"]["getRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + */ + getReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["getReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a published release with the specified tag. + */ + getReleaseByTag: { + (params?: RestEndpointMethodTypes["repos"]["getReleaseByTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getStatusChecksProtection: { + (params?: RestEndpointMethodTypes["repos"]["getStatusChecksProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + getTeamsWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getTeamsWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the top 10 popular contents over the last 14 days. + */ + getTopPaths: { + (params?: RestEndpointMethodTypes["repos"]["getTopPaths"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the top 10 referrers over the last 14 days. + */ + getTopReferrers: { + (params?: RestEndpointMethodTypes["repos"]["getTopReferrers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + getUsersWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getUsersWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getViews: { + (params?: RestEndpointMethodTypes["repos"]["getViews"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." + */ + getWebhook: { + (params?: RestEndpointMethodTypes["repos"]["getWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + getWebhookConfigForRepo: { + (params?: RestEndpointMethodTypes["repos"]["getWebhookConfigForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a delivery for a webhook configured in a repository. + */ + getWebhookDelivery: { + (params?: RestEndpointMethodTypes["repos"]["getWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + listAutolinks: { + (params?: RestEndpointMethodTypes["repos"]["listAutolinks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listBranches: { + (params?: RestEndpointMethodTypes["repos"]["listBranches"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + listBranchesForHeadCommit: { + (params?: RestEndpointMethodTypes["repos"]["listBranchesForHeadCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + listCollaborators: { + (params?: RestEndpointMethodTypes["repos"]["listCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Use the `:commit_sha` to specify the commit that will have its comments listed. + */ + listCommentsForCommit: { + (params?: RestEndpointMethodTypes["repos"]["listCommentsForCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + listCommitCommentsForRepo: { + (params?: RestEndpointMethodTypes["repos"]["listCommitCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + listCommitStatusesForRef: { + (params?: RestEndpointMethodTypes["repos"]["listCommitStatusesForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + listCommits: { + (params?: RestEndpointMethodTypes["repos"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + listContributors: { + (params?: RestEndpointMethodTypes["repos"]["listContributors"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listDeployKeys: { + (params?: RestEndpointMethodTypes["repos"]["listDeployKeys"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access can view deployment statuses for a deployment: + */ + listDeploymentStatuses: { + (params?: RestEndpointMethodTypes["repos"]["listDeploymentStatuses"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Simple filtering of deployments is available via query parameters: + */ + listDeployments: { + (params?: RestEndpointMethodTypes["repos"]["listDeployments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories for the specified organization. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["repos"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. + */ + listForUser: { + (params?: RestEndpointMethodTypes["repos"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listForks: { + (params?: RestEndpointMethodTypes["repos"]["listForks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + listInvitations: { + (params?: RestEndpointMethodTypes["repos"]["listInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + listInvitationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["listInvitationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + listLanguages: { + (params?: RestEndpointMethodTypes["repos"]["listLanguages"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPagesBuilds: { + (params?: RestEndpointMethodTypes["repos"]["listPagesBuilds"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ + listPublic: { + (params?: RestEndpointMethodTypes["repos"]["listPublic"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint. + */ + listPullRequestsAssociatedWithCommit: { + (params?: RestEndpointMethodTypes["repos"]["listPullRequestsAssociatedWithCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listReleaseAssets: { + (params?: RestEndpointMethodTypes["repos"]["listReleaseAssets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + listReleases: { + (params?: RestEndpointMethodTypes["repos"]["listReleases"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listTags: { + (params?: RestEndpointMethodTypes["repos"]["listTags"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listTeams: { + (params?: RestEndpointMethodTypes["repos"]["listTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a list of webhook deliveries for a webhook configured in a repository. + */ + listWebhookDeliveries: { + (params?: RestEndpointMethodTypes["repos"]["listWebhookDeliveries"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listWebhooks: { + (params?: RestEndpointMethodTypes["repos"]["listWebhooks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + merge: { + (params?: RestEndpointMethodTypes["repos"]["merge"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** This endpoint is currently in beta and subject to change. + * + * Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + mergeUpstream: { + (params?: RestEndpointMethodTypes["repos"]["mergeUpstream"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingWebhook: { + (params?: RestEndpointMethodTypes["repos"]["pingWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Redeliver a webhook delivery for a webhook configured in a repository. + */ + redeliverWebhookDelivery: { + (params?: RestEndpointMethodTypes["repos"]["redeliverWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + removeCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["removeCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["removeStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeStatusCheckProtection: { + (params?: RestEndpointMethodTypes["repos"]["removeStatusCheckProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + renameBranch: { + (params?: RestEndpointMethodTypes["repos"]["renameBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + replaceAllTopics: { + (params?: RestEndpointMethodTypes["repos"]["replaceAllTopics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + requestPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["requestPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + setAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["setAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + setAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + setStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["setStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + setTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + setUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + testPushWebhook: { + (params?: RestEndpointMethodTypes["repos"]["testPushWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/). + */ + transfer: { + (params?: RestEndpointMethodTypes["repos"]["transfer"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. + */ + update: { + (params?: RestEndpointMethodTypes["repos"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + updateBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["updateBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["updateCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + */ + updateInformationAboutPagesSite: { + (params?: RestEndpointMethodTypes["repos"]["updateInformationAboutPagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateInvitation: { + (params?: RestEndpointMethodTypes["repos"]["updateInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + updatePullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["updatePullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can edit a release. + */ + updateRelease: { + (params?: RestEndpointMethodTypes["repos"]["updateRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can edit a release asset. + */ + updateReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["updateReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + * @deprecated octokit.rest.repos.updateStatusCheckPotection() has been renamed to octokit.rest.repos.updateStatusCheckProtection() (2020-09-17) + */ + updateStatusCheckPotection: { + (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckPotection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + updateStatusCheckProtection: { + (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." + */ + updateWebhook: { + (params?: RestEndpointMethodTypes["repos"]["updateWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + updateWebhookConfigForRepo: { + (params?: RestEndpointMethodTypes["repos"]["updateWebhookConfigForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + uploadReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["uploadReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + search: { + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + */ + code: { + (params?: RestEndpointMethodTypes["search"]["code"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + commits: { + (params?: RestEndpointMethodTypes["search"]["commits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + issuesAndPullRequests: { + (params?: RestEndpointMethodTypes["search"]["issuesAndPullRequests"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + labels: { + (params?: RestEndpointMethodTypes["search"]["labels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + * + * When you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this: + * + * `q=topic:ruby+topic:rails` + */ + repos: { + (params?: RestEndpointMethodTypes["search"]["repos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://help.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + topics: { + (params?: RestEndpointMethodTypes["search"]["topics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + */ + users: { + (params?: RestEndpointMethodTypes["search"]["users"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + secretScanning: { + /** + * Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + getAlert: { + (params?: RestEndpointMethodTypes["secretScanning"]["getAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secret scanning alerts for all eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + listAlertsForOrg: { + (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + listAlertsForRepo: { + (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + updateAlert: { + (params?: RestEndpointMethodTypes["secretScanning"]["updateAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + teams: { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + addOrUpdateMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + addOrUpdateProjectPermissionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateProjectPermissionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + addOrUpdateRepoPermissionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateRepoPermissionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + checkPermissionsForProjectInOrg: { + (params?: RestEndpointMethodTypes["teams"]["checkPermissionsForProjectInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + checkPermissionsForRepoInOrg: { + (params?: RestEndpointMethodTypes["teams"]["checkPermissionsForRepoInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + create: { + (params?: RestEndpointMethodTypes["teams"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + createDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["createDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ + createDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["createDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + deleteDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + deleteDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + deleteInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + getByName: { + (params?: RestEndpointMethodTypes["teams"]["getByName"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + getDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + getDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + getMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all teams in an organization that are visible to the authenticated user. + */ + list: { + (params?: RestEndpointMethodTypes["teams"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + listChildInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listChildInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + listDiscussionCommentsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listDiscussionCommentsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + listDiscussionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listDiscussionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["teams"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + listMembersInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listMembersInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + listPendingInvitationsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listPendingInvitationsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + listProjectsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listProjectsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + listReposInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listReposInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + removeMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + removeProjectInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeProjectInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + removeRepoInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeRepoInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + updateDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + updateDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + updateInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + users: { + /** + * This endpoint is accessible with the `user` scope. + * @deprecated octokit.rest.users.addEmailForAuthenticated() has been renamed to octokit.rest.users.addEmailForAuthenticatedUser() (2021-10-05) + */ + addEmailForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["addEmailForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint is accessible with the `user` scope. + */ + addEmailForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["addEmailForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + block: { + (params?: RestEndpointMethodTypes["users"]["block"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkBlocked: { + (params?: RestEndpointMethodTypes["users"]["checkBlocked"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkFollowingForUser: { + (params?: RestEndpointMethodTypes["users"]["checkFollowingForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkPersonIsFollowedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["checkPersonIsFollowedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.rest.users.createGpgKeyForAuthenticated() has been renamed to octokit.rest.users.createGpgKeyForAuthenticatedUser() (2021-10-05) + */ + createGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["createGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + createGpgKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["createGpgKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.rest.users.createPublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.createPublicSshKeyForAuthenticatedUser() (2021-10-05) + */ + createPublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["createPublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + createPublicSshKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["createPublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint is accessible with the `user` scope. + * @deprecated octokit.rest.users.deleteEmailForAuthenticated() has been renamed to octokit.rest.users.deleteEmailForAuthenticatedUser() (2021-10-05) + */ + deleteEmailForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deleteEmailForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint is accessible with the `user` scope. + */ + deleteEmailForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deleteEmailForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.rest.users.deleteGpgKeyForAuthenticated() has been renamed to octokit.rest.users.deleteGpgKeyForAuthenticatedUser() (2021-10-05) + */ + deleteGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deleteGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteGpgKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deleteGpgKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.rest.users.deletePublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.deletePublicSshKeyForAuthenticatedUser() (2021-10-05) + */ + deletePublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deletePublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deletePublicSshKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deletePublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + follow: { + (params?: RestEndpointMethodTypes["users"]["follow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + getAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + */ + getByUsername: { + (params?: RestEndpointMethodTypes["users"]["getByUsername"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + getContextForUser: { + (params?: RestEndpointMethodTypes["users"]["getContextForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.rest.users.getGpgKeyForAuthenticated() has been renamed to octokit.rest.users.getGpgKeyForAuthenticatedUser() (2021-10-05) + */ + getGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getGpgKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["getGpgKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.rest.users.getPublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.getPublicSshKeyForAuthenticatedUser() (2021-10-05) + */ + getPublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getPublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getPublicSshKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["getPublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + */ + list: { + (params?: RestEndpointMethodTypes["users"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users you've blocked on your personal account. + * @deprecated octokit.rest.users.listBlockedByAuthenticated() has been renamed to octokit.rest.users.listBlockedByAuthenticatedUser() (2021-10-05) + */ + listBlockedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listBlockedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users you've blocked on your personal account. + */ + listBlockedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listBlockedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + * @deprecated octokit.rest.users.listEmailsForAuthenticated() has been renamed to octokit.rest.users.listEmailsForAuthenticatedUser() (2021-10-05) + */ + listEmailsForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listEmailsForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + */ + listEmailsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listEmailsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the authenticated user follows. + * @deprecated octokit.rest.users.listFollowedByAuthenticated() has been renamed to octokit.rest.users.listFollowedByAuthenticatedUser() (2021-10-05) + */ + listFollowedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listFollowedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the authenticated user follows. + */ + listFollowedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people following the authenticated user. + */ + listFollowersForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowersForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people following the specified user. + */ + listFollowersForUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowersForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the specified user follows. + */ + listFollowingForUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowingForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.rest.users.listGpgKeysForAuthenticated() has been renamed to octokit.rest.users.listGpgKeysForAuthenticatedUser() (2021-10-05) + */ + listGpgKeysForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listGpgKeysForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the GPG keys for a user. This information is accessible by anyone. + */ + listGpgKeysForUser: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. + * @deprecated octokit.rest.users.listPublicEmailsForAuthenticated() has been renamed to octokit.rest.users.listPublicEmailsForAuthenticatedUser() (2021-10-05) + */ + listPublicEmailsForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listPublicEmailsForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. + */ + listPublicEmailsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listPublicEmailsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + listPublicKeysForUser: { + (params?: RestEndpointMethodTypes["users"]["listPublicKeysForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.rest.users.listPublicSshKeysForAuthenticated() has been renamed to octokit.rest.users.listPublicSshKeysForAuthenticatedUser() (2021-10-05) + */ + listPublicSshKeysForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listPublicSshKeysForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listPublicSshKeysForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listPublicSshKeysForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the visibility for your primary email addresses. + * @deprecated octokit.rest.users.setPrimaryEmailVisibilityForAuthenticated() has been renamed to octokit.rest.users.setPrimaryEmailVisibilityForAuthenticatedUser() (2021-10-05) + */ + setPrimaryEmailVisibilityForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["setPrimaryEmailVisibilityForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the visibility for your primary email addresses. + */ + setPrimaryEmailVisibilityForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["setPrimaryEmailVisibilityForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + unblock: { + (params?: RestEndpointMethodTypes["users"]["unblock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + unfollow: { + (params?: RestEndpointMethodTypes["users"]["unfollow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + updateAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["updateAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts new file mode 100644 index 00000000..eda21680 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts @@ -0,0 +1,2837 @@ +import { Endpoints, RequestParameters } from "@octokit/types"; +export declare type RestEndpointMethodTypes = { + actions: { + addSelectedRepoToOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + approveWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"]["response"]; + }; + cancelWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"]["response"]; + }; + createOrUpdateEnvironmentSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + createOrUpdateOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + createOrUpdateRepoSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + createRegistrationTokenForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/actions/runners/registration-token"]["response"]; + }; + createRegistrationTokenForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/registration-token"]["response"]; + }; + createRemoveTokenForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/actions/runners/remove-token"]["response"]; + }; + createRemoveTokenForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/remove-token"]["response"]; + }; + createWorkflowDispatch: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"]["response"]; + }; + deleteArtifact: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; + }; + deleteEnvironmentSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + deleteOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + deleteRepoSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + deleteSelfHostedRunnerFromOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}"]["response"]; + }; + deleteSelfHostedRunnerFromRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"]["response"]; + }; + deleteWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"]["response"]; + }; + deleteWorkflowRunLogs: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["response"]; + }; + disableSelectedRepositoryGithubActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"]["response"]; + }; + disableWorkflow: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"]["response"]; + }; + downloadArtifact: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"]["response"]; + }; + downloadJobLogsForWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"]["response"]; + }; + downloadWorkflowRunAttemptLogs: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"]["response"]; + }; + downloadWorkflowRunLogs: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["response"]; + }; + enableSelectedRepositoryGithubActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"]["response"]; + }; + enableWorkflow: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"]["response"]; + }; + getAllowedActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/permissions/selected-actions"]["response"]; + }; + getAllowedActionsRepository: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"]["response"]; + }; + getArtifact: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; + }; + getEnvironmentPublicKey: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"]["response"]; + }; + getEnvironmentSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + getGithubActionsPermissionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/permissions"]["response"]; + }; + getGithubActionsPermissionsRepository: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + getJobForWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"]["response"]; + }; + getOrgPublicKey: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/secrets/public-key"]["response"]; + }; + getOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + getPendingDeploymentsForRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; + }; + getRepoPermissions: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + getRepoPublicKey: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/public-key"]["response"]; + }; + getRepoSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + getReviewsForRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"]["response"]; + }; + getSelfHostedRunnerForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/runners/{runner_id}"]["response"]; + }; + getSelfHostedRunnerForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"]["response"]; + }; + getWorkflow: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"]["response"]; + }; + getWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}"]["response"]; + }; + getWorkflowRunAttempt: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"]["response"]; + }; + getWorkflowRunUsage: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"]["response"]; + }; + getWorkflowUsage: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"]["response"]; + }; + listArtifactsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]; + }; + listEnvironmentSecrets: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"]; + }; + listJobsForWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]; + }; + listJobsForWorkflowRunAttempt: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"]; + }; + listOrgSecrets: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/secrets"]["response"]; + }; + listRepoSecrets: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"]; + }; + listRepoWorkflows: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"]; + }; + listRunnerApplicationsForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/runners/downloads"]["response"]; + }; + listRunnerApplicationsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["response"]; + }; + listSelectedReposForOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]; + }; + listSelectedRepositoriesEnabledGithubActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"]; + }; + listSelfHostedRunnersForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/runners"]["response"]; + }; + listSelfHostedRunnersForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]; + }; + listWorkflowRunArtifacts: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]; + }; + listWorkflowRuns: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"]; + }; + listWorkflowRunsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"]; + }; + removeSelectedRepoFromOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + reviewPendingDeploymentsForRun: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; + }; + setAllowedActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/permissions/selected-actions"]["response"]; + }; + setAllowedActionsRepository: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"]["response"]; + }; + setGithubActionsPermissionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/permissions"]["response"]; + }; + setGithubActionsPermissionsRepository: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + setSelectedReposForOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]; + }; + setSelectedRepositoriesEnabledGithubActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/permissions/repositories"]["response"]; + }; + }; + activity: { + checkRepoIsStarredByAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/starred/{owner}/{repo}"]["response"]; + }; + deleteRepoSubscription: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/subscription"]["response"]; + }; + deleteThreadSubscription: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /notifications/threads/{thread_id}/subscription"]["response"]; + }; + getFeeds: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /feeds"]["response"]; + }; + getRepoSubscription: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/subscription"]["response"]; + }; + getThread: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /notifications/threads/{thread_id}"]["response"]; + }; + getThreadSubscriptionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /notifications/threads/{thread_id}/subscription"]["response"]; + }; + listEventsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/events"]["response"]; + }; + listNotificationsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /notifications"]["response"]; + }; + listOrgEventsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/events/orgs/{org}"]["response"]; + }; + listPublicEvents: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /events"]["response"]; + }; + listPublicEventsForRepoNetwork: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /networks/{owner}/{repo}/events"]["response"]; + }; + listPublicEventsForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/events/public"]["response"]; + }; + listPublicOrgEvents: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/events"]["response"]; + }; + listReceivedEventsForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/received_events"]["response"]; + }; + listReceivedPublicEventsForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/received_events/public"]["response"]; + }; + listRepoEvents: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/events"]["response"]; + }; + listRepoNotificationsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/notifications"]["response"]; + }; + listReposStarredByAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/starred"]["response"]; + }; + listReposStarredByUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/starred"]["response"]; + }; + listReposWatchedByUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/subscriptions"]["response"]; + }; + listStargazersForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["response"]; + }; + listWatchedReposForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/subscriptions"]["response"]; + }; + listWatchersForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; + }; + markNotificationsAsRead: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /notifications"]["response"]; + }; + markRepoNotificationsAsRead: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/notifications"]["response"]; + }; + markThreadAsRead: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /notifications/threads/{thread_id}"]["response"]; + }; + setRepoSubscription: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/subscription"]["response"]; + }; + setThreadSubscription: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /notifications/threads/{thread_id}/subscription"]["response"]; + }; + starRepoForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/starred/{owner}/{repo}"]["response"]; + }; + unstarRepoForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/starred/{owner}/{repo}"]["response"]; + }; + }; + apps: { + addRepoToInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + addRepoToInstallationForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + checkToken: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /applications/{client_id}/token"]["response"]; + }; + createContentAttachment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /content_references/{content_reference_id}/attachments"]["response"]; + }; + createContentAttachmentForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments"]["response"]; + }; + createFromManifest: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /app-manifests/{code}/conversions"]["response"]; + }; + createInstallationAccessToken: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /app/installations/{installation_id}/access_tokens"]["response"]; + }; + deleteAuthorization: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /applications/{client_id}/grant"]["response"]; + }; + deleteInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /app/installations/{installation_id}"]["response"]; + }; + deleteToken: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /applications/{client_id}/token"]["response"]; + }; + getAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /app"]["response"]; + }; + getBySlug: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /apps/{app_slug}"]["response"]; + }; + getInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /app/installations/{installation_id}"]["response"]; + }; + getOrgInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/installation"]["response"]; + }; + getRepoInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/installation"]["response"]; + }; + getSubscriptionPlanForAccount: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/accounts/{account_id}"]["response"]; + }; + getSubscriptionPlanForAccountStubbed: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/stubbed/accounts/{account_id}"]["response"]; + }; + getUserInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/installation"]["response"]; + }; + getWebhookConfigForApp: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /app/hook/config"]["response"]; + }; + getWebhookDelivery: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /app/hook/deliveries/{delivery_id}"]["response"]; + }; + listAccountsForPlan: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["response"]; + }; + listAccountsForPlanStubbed: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["response"]; + }; + listInstallationReposForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"]; + }; + listInstallations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /app/installations"]["response"]; + }; + listInstallationsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/installations"]["response"]; + }; + listPlans: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/plans"]["response"]; + }; + listPlansStubbed: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/stubbed/plans"]["response"]; + }; + listReposAccessibleToInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /installation/repositories"]["response"]; + }; + listSubscriptionsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/marketplace_purchases"]["response"]; + }; + listSubscriptionsForAuthenticatedUserStubbed: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/marketplace_purchases/stubbed"]["response"]; + }; + listWebhookDeliveries: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /app/hook/deliveries"]["response"]; + }; + redeliverWebhookDelivery: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /app/hook/deliveries/{delivery_id}/attempts"]["response"]; + }; + removeRepoFromInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + removeRepoFromInstallationForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + resetToken: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /applications/{client_id}/token"]["response"]; + }; + revokeInstallationAccessToken: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /installation/token"]["response"]; + }; + scopeToken: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /applications/{client_id}/token/scoped"]["response"]; + }; + suspendInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /app/installations/{installation_id}/suspended"]["response"]; + }; + unsuspendInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /app/installations/{installation_id}/suspended"]["response"]; + }; + updateWebhookConfigForApp: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /app/hook/config"]["response"]; + }; + }; + billing: { + getGithubActionsBillingOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/settings/billing/actions"]["response"]; + }; + getGithubActionsBillingUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/settings/billing/actions"]["response"]; + }; + getGithubPackagesBillingOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/settings/billing/packages"]["response"]; + }; + getGithubPackagesBillingUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/settings/billing/packages"]["response"]; + }; + getSharedStorageBillingOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/settings/billing/shared-storage"]["response"]; + }; + getSharedStorageBillingUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/settings/billing/shared-storage"]["response"]; + }; + }; + checks: { + create: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/check-runs"]["response"]; + }; + createSuite: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/check-suites"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"]["response"]; + }; + getSuite: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"]["response"]; + }; + listAnnotations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["response"]; + }; + listForRef: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"]; + }; + listForSuite: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"]; + }; + listSuitesForRef: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]; + }; + rerequestRun: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"]["response"]; + }; + rerequestSuite: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"]["response"]; + }; + setSuitesPreferences: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/check-suites/preferences"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]["response"]; + }; + }; + codeScanning: { + deleteAnalysis: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"]["response"]; + }; + getAlert: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; + }; + getAnalysis: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"]["response"]; + }; + getSarif: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"]["response"]; + }; + listAlertInstances: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + listAlertsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; + }; + listAlertsInstances: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + listRecentAnalyses: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; + }; + updateAlert: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; + }; + uploadSarif: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/code-scanning/sarifs"]["response"]; + }; + }; + codesOfConduct: { + getAllCodesOfConduct: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /codes_of_conduct"]["response"]; + }; + getConductCode: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /codes_of_conduct/{key}"]["response"]; + }; + }; + emojis: { + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /emojis"]["response"]; + }; + }; + enterpriseAdmin: { + disableSelectedOrganizationGithubActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"]["response"]; + }; + enableSelectedOrganizationGithubActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"]["response"]; + }; + getAllowedActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /enterprises/{enterprise}/actions/permissions/selected-actions"]["response"]; + }; + getGithubActionsPermissionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /enterprises/{enterprise}/actions/permissions"]["response"]; + }; + listSelectedOrganizationsEnabledGithubActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /enterprises/{enterprise}/actions/permissions/organizations"]["response"]; + }; + setAllowedActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"]["response"]; + }; + setGithubActionsPermissionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /enterprises/{enterprise}/actions/permissions"]["response"]; + }; + setSelectedOrganizationsEnabledGithubActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /enterprises/{enterprise}/actions/permissions/organizations"]["response"]; + }; + }; + gists: { + checkIsStarred: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/star"]["response"]; + }; + create: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /gists"]["response"]; + }; + createComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /gists/{gist_id}/comments"]["response"]; + }; + delete: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /gists/{gist_id}"]["response"]; + }; + deleteComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + fork: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /gists/{gist_id}/forks"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}"]["response"]; + }; + getComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + getRevision: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/{sha}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists"]["response"]; + }; + listComments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/gists"]["response"]; + }; + listForks: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/forks"]["response"]; + }; + listPublic: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/public"]["response"]; + }; + listStarred: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/starred"]["response"]; + }; + star: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /gists/{gist_id}/star"]["response"]; + }; + unstar: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /gists/{gist_id}/star"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /gists/{gist_id}"]["response"]; + }; + updateComment: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + }; + git: { + createBlob: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/git/blobs"]["response"]; + }; + createCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/git/commits"]["response"]; + }; + createRef: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/git/refs"]["response"]; + }; + createTag: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/git/tags"]["response"]; + }; + createTree: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/git/trees"]["response"]; + }; + deleteRef: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/git/refs/{ref}"]["response"]; + }; + getBlob: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"]["response"]; + }; + getCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"]["response"]; + }; + getRef: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/ref/{ref}"]["response"]; + }; + getTag: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"]["response"]; + }; + getTree: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"]["response"]; + }; + listMatchingRefs: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["response"]; + }; + updateRef: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]["response"]; + }; + }; + gitignore: { + getAllTemplates: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gitignore/templates"]["response"]; + }; + getTemplate: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gitignore/templates/{name}"]["response"]; + }; + }; + interactions: { + getRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/interaction-limits"]["response"]; + }; + getRestrictionsForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/interaction-limits"]["response"]; + }; + getRestrictionsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + getRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/interaction-limits"]["response"]; + }; + removeRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/interaction-limits"]["response"]; + }; + removeRestrictionsForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/interaction-limits"]["response"]; + }; + removeRestrictionsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + removeRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/interaction-limits"]["response"]; + }; + setRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/interaction-limits"]["response"]; + }; + setRestrictionsForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/interaction-limits"]["response"]; + }; + setRestrictionsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + setRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/interaction-limits"]["response"]; + }; + }; + issues: { + addAssignees: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["response"]; + }; + addLabels: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + checkUserCanBeAssigned: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/assignees/{assignee}"]["response"]; + }; + create: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues"]["response"]; + }; + createComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + createLabel: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/labels"]["response"]; + }; + createMilestone: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/milestones"]["response"]; + }; + deleteComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + deleteLabel: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + deleteMilestone: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}"]["response"]; + }; + getComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + getEvent: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events/{event_id}"]["response"]; + }; + getLabel: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + getMilestone: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /issues"]["response"]; + }; + listAssignees: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/assignees"]["response"]; + }; + listComments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + listCommentsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; + }; + listEvents: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["response"]; + }; + listEventsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["response"]; + }; + listEventsForTimeline: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/issues"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/issues"]["response"]; + }; + listForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues"]["response"]; + }; + listLabelsForMilestone: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["response"]; + }; + listLabelsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/labels"]["response"]; + }; + listLabelsOnIssue: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + listMilestones: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/milestones"]["response"]; + }; + lock: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"]["response"]; + }; + removeAllLabels: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + removeAssignees: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["response"]; + }; + removeLabel: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"]["response"]; + }; + setLabels: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + unlock: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/issues/{issue_number}"]["response"]; + }; + updateComment: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + updateLabel: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + updateMilestone: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + }; + licenses: { + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /licenses/{license}"]["response"]; + }; + getAllCommonlyUsed: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /licenses"]["response"]; + }; + getForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/license"]["response"]; + }; + }; + markdown: { + render: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /markdown"]["response"]; + }; + renderRaw: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /markdown/raw"]["response"]; + }; + }; + meta: { + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /meta"]["response"]; + }; + getOctocat: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /octocat"]["response"]; + }; + getZen: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /zen"]["response"]; + }; + root: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /"]["response"]; + }; + }; + migrations: { + cancelImport: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/import"]["response"]; + }; + deleteArchiveForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/migrations/{migration_id}/archive"]["response"]; + }; + deleteArchiveForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/archive"]["response"]; + }; + downloadArchiveForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/archive"]["response"]; + }; + getArchiveForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/migrations/{migration_id}/archive"]["response"]; + }; + getCommitAuthors: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/import/authors"]["response"]; + }; + getImportStatus: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/import"]["response"]; + }; + getLargeFiles: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/import/large_files"]["response"]; + }; + getStatusForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/migrations/{migration_id}"]["response"]; + }; + getStatusForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/migrations"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/migrations"]["response"]; + }; + listReposForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + listReposForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["response"]; + }; + listReposForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + mapCommitAuthor: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"]["response"]; + }; + setLfsPreference: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/import/lfs"]["response"]; + }; + startForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/migrations"]["response"]; + }; + startForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/migrations"]["response"]; + }; + startImport: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/import"]["response"]; + }; + unlockRepoForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"]["response"]; + }; + unlockRepoForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]["response"]; + }; + updateImport: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/import"]["response"]; + }; + }; + orgs: { + blockUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/blocks/{username}"]["response"]; + }; + cancelInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/invitations/{invitation_id}"]["response"]; + }; + checkBlockedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/blocks/{username}"]["response"]; + }; + checkMembershipForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/members/{username}"]["response"]; + }; + checkPublicMembershipForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/public_members/{username}"]["response"]; + }; + convertMemberToOutsideCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/outside_collaborators/{username}"]["response"]; + }; + createInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/invitations"]["response"]; + }; + createWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/hooks"]["response"]; + }; + deleteWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}"]["response"]; + }; + getMembershipForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/memberships/orgs/{org}"]["response"]; + }; + getMembershipForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/memberships/{username}"]["response"]; + }; + getWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + getWebhookConfigForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/config"]["response"]; + }; + getWebhookDelivery: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /organizations"]["response"]; + }; + listAppInstallations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/installations"]["response"]; + }; + listBlockedUsers: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/blocks"]["response"]; + }; + listFailedInvitations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/failed_invitations"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/orgs"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/orgs"]["response"]; + }; + listInvitationTeams: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; + }; + listMembers: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/members"]["response"]; + }; + listMembershipsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/memberships/orgs"]["response"]; + }; + listOutsideCollaborators: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; + }; + listPendingInvitations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/invitations"]["response"]; + }; + listPublicMembers: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/public_members"]["response"]; + }; + listWebhookDeliveries: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["response"]; + }; + listWebhooks: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/hooks"]["response"]; + }; + pingWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/hooks/{hook_id}/pings"]["response"]; + }; + redeliverWebhookDelivery: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["response"]; + }; + removeMember: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/members/{username}"]["response"]; + }; + removeMembershipForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/memberships/{username}"]["response"]; + }; + removeOutsideCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/outside_collaborators/{username}"]["response"]; + }; + removePublicMembershipForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/public_members/{username}"]["response"]; + }; + setMembershipForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/memberships/{username}"]["response"]; + }; + setPublicMembershipForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/public_members/{username}"]["response"]; + }; + unblockUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/blocks/{username}"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}"]["response"]; + }; + updateMembershipForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /user/memberships/orgs/{org}"]["response"]; + }; + updateWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + updateWebhookConfigForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}/config"]["response"]; + }; + }; + packages: { + deletePackageForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + deletePackageVersionForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + deletePackageVersionForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getAllPackageVersionsForAPackageOwnedByAnOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getPackageForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageForOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getPackageVersionForOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getPackageVersionForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + listPackagesForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages"]["response"]; + }; + listPackagesForOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages"]["response"]; + }; + listPackagesForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/packages"]["response"]; + }; + restorePackageForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + restorePackageVersionForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + restorePackageVersionForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + }; + projects: { + addCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /projects/{project_id}/collaborators/{username}"]["response"]; + }; + createCard: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /projects/columns/{column_id}/cards"]["response"]; + }; + createColumn: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /projects/{project_id}/columns"]["response"]; + }; + createForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/projects"]["response"]; + }; + createForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/projects"]["response"]; + }; + createForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/projects"]["response"]; + }; + delete: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /projects/{project_id}"]["response"]; + }; + deleteCard: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /projects/columns/cards/{card_id}"]["response"]; + }; + deleteColumn: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /projects/columns/{column_id}"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/{project_id}"]["response"]; + }; + getCard: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/columns/cards/{card_id}"]["response"]; + }; + getColumn: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/columns/{column_id}"]["response"]; + }; + getPermissionForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/{project_id}/collaborators/{username}/permission"]["response"]; + }; + listCards: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/columns/{column_id}/cards"]["response"]; + }; + listCollaborators: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/{project_id}/collaborators"]["response"]; + }; + listColumns: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/{project_id}/columns"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/projects"]["response"]; + }; + listForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/projects"]["response"]; + }; + moveCard: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /projects/columns/cards/{card_id}/moves"]["response"]; + }; + moveColumn: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /projects/columns/{column_id}/moves"]["response"]; + }; + removeCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /projects/{project_id}/collaborators/{username}"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /projects/{project_id}"]["response"]; + }; + updateCard: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /projects/columns/cards/{card_id}"]["response"]; + }; + updateColumn: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /projects/columns/{column_id}"]["response"]; + }; + }; + pulls: { + checkIfMerged: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["response"]; + }; + create: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls"]["response"]; + }; + createReplyForReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"]["response"]; + }; + createReview: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + createReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + deletePendingReview: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + deleteReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + dismissReview: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}"]["response"]; + }; + getReview: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + getReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls"]["response"]; + }; + listCommentsForReview: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; + }; + listFiles: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["response"]; + }; + listRequestedReviewers: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + listReviewComments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + listReviewCommentsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; + }; + listReviews: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + merge: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["response"]; + }; + removeRequestedReviewers: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + requestReviewers: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + submitReview: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"]["response"]; + }; + updateBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"]["response"]; + }; + updateReview: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + updateReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + }; + rateLimit: { + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /rate_limit"]["response"]; + }; + }; + reactions: { + createForCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + createForIssue: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + createForIssueComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + createForPullRequestReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + createForRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; + }; + createForTeamDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + createForTeamDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + deleteForCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForIssue: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"]["response"]; + }; + deleteForIssueComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForPullRequestComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForTeamDiscussion: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"]["response"]; + }; + deleteForTeamDiscussionComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"]["response"]; + }; + listForCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + listForIssue: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + listForIssueComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + listForPullRequestReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + listForTeamDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + listForTeamDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + }; + repos: { + acceptInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["response"]; + }; + acceptInvitationForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["response"]; + }; + addAppAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + addCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + addStatusCheckContexts: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + addTeamAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + addUserAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + checkCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + checkVulnerabilityAlerts: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + compareCommits: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/compare/{base}...{head}"]["response"]; + }; + compareCommitsWithBasehead: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/compare/{basehead}"]["response"]; + }; + createAutolink: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/autolinks"]["response"]; + }; + createCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + createCommitSignatureProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + createCommitStatus: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/statuses/{sha}"]["response"]; + }; + createDeployKey: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/keys"]["response"]; + }; + createDeployment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/deployments"]["response"]; + }; + createDeploymentStatus: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + createDispatchEvent: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/dispatches"]["response"]; + }; + createForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/repos"]["response"]; + }; + createFork: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/forks"]["response"]; + }; + createInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/repos"]["response"]; + }; + createOrUpdateEnvironment: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + createOrUpdateFileContents: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + createPagesSite: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pages"]["response"]; + }; + createRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/releases"]["response"]; + }; + createUsingTemplate: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{template_owner}/{template_repo}/generate"]["response"]; + }; + createWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/hooks"]["response"]; + }; + declineInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["response"]; + }; + declineInvitationForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["response"]; + }; + delete: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}"]["response"]; + }; + deleteAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["response"]; + }; + deleteAdminBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + deleteAnEnvironment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + deleteAutolink: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"]["response"]; + }; + deleteBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + deleteCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + deleteCommitSignatureProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + deleteDeployKey: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/keys/{key_id}"]["response"]; + }; + deleteDeployment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"]["response"]; + }; + deleteFile: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + deleteInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"]["response"]; + }; + deletePagesSite: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/pages"]["response"]; + }; + deletePullRequestReviewProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + deleteRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + deleteReleaseAsset: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + deleteWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + disableAutomatedSecurityFixes: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/automated-security-fixes"]["response"]; + }; + disableLfsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/lfs"]["response"]; + }; + disableVulnerabilityAlerts: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + downloadArchive: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["response"]; + }; + downloadTarballArchive: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/tarball/{ref}"]["response"]; + }; + downloadZipballArchive: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["response"]; + }; + enableAutomatedSecurityFixes: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/automated-security-fixes"]["response"]; + }; + enableLfsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/lfs"]["response"]; + }; + enableVulnerabilityAlerts: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + generateReleaseNotes: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/releases/generate-notes"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}"]["response"]; + }; + getAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["response"]; + }; + getAdminBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + getAllEnvironments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]; + }; + getAllStatusCheckContexts: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + getAllTopics: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"]; + }; + getAppsWithAccessToProtectedBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + getAutolink: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"]["response"]; + }; + getBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}"]["response"]; + }; + getBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + getClones: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/clones"]["response"]; + }; + getCodeFrequencyStats: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stats/code_frequency"]["response"]; + }; + getCollaboratorPermissionLevel: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}/permission"]["response"]; + }; + getCombinedStatusForRef: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"]; + }; + getCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}"]["response"]; + }; + getCommitActivityStats: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stats/commit_activity"]["response"]; + }; + getCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + getCommitSignatureProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + getCommunityProfileMetrics: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/community/profile"]["response"]; + }; + getContent: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + getContributorsStats: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stats/contributors"]["response"]; + }; + getDeployKey: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/keys/{key_id}"]["response"]; + }; + getDeployment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}"]["response"]; + }; + getDeploymentStatus: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"]["response"]; + }; + getEnvironment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + getLatestPagesBuild: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/latest"]["response"]; + }; + getLatestRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases/latest"]["response"]; + }; + getPages: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pages"]["response"]; + }; + getPagesBuild: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/{build_id}"]["response"]; + }; + getPagesHealthCheck: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pages/health"]["response"]; + }; + getParticipationStats: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stats/participation"]["response"]; + }; + getPullRequestReviewProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + getPunchCardStats: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stats/punch_card"]["response"]; + }; + getReadme: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/readme"]["response"]; + }; + getReadmeInDirectory: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/readme/{dir}"]["response"]; + }; + getRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + getReleaseAsset: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + getReleaseByTag: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases/tags/{tag}"]["response"]; + }; + getStatusChecksProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + getTeamsWithAccessToProtectedBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + getTopPaths: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/popular/paths"]["response"]; + }; + getTopReferrers: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/popular/referrers"]["response"]; + }; + getUsersWithAccessToProtectedBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + getViews: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/views"]["response"]; + }; + getWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + getWebhookConfigForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"]["response"]; + }; + getWebhookDelivery: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"]["response"]; + }; + listAutolinks: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/autolinks"]["response"]; + }; + listBranches: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches"]["response"]; + }; + listBranchesForHeadCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["response"]; + }; + listCollaborators: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["response"]; + }; + listCommentsForCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + listCommitCommentsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; + }; + listCommitStatusesForRef: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; + }; + listContributors: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; + }; + listDeployKeys: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/keys"]["response"]; + }; + listDeploymentStatuses: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + listDeployments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/deployments"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/repos"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/repos"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/repos"]["response"]; + }; + listForks: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/forks"]["response"]; + }; + listInvitations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; + }; + listInvitationsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/repository_invitations"]["response"]; + }; + listLanguages: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/languages"]["response"]; + }; + listPagesBuilds: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + listPublic: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories"]["response"]; + }; + listPullRequestsAssociatedWithCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["response"]; + }; + listReleaseAssets: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; + }; + listReleases: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases"]["response"]; + }; + listTags: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; + }; + listTeams: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; + }; + listWebhookDeliveries: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["response"]; + }; + listWebhooks: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; + }; + merge: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/merges"]["response"]; + }; + mergeUpstream: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/merge-upstream"]["response"]; + }; + pingWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"]["response"]; + }; + redeliverWebhookDelivery: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["response"]; + }; + removeAppAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + removeCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + removeStatusCheckContexts: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + removeStatusCheckProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + removeTeamAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + removeUserAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + renameBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/rename"]["response"]; + }; + replaceAllTopics: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/topics"]["response"]; + }; + requestPagesBuild: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + setAdminBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + setAppAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + setStatusCheckContexts: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + setTeamAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + setUserAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + testPushWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"]["response"]; + }; + transfer: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/transfer"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}"]["response"]; + }; + updateBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + updateCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + updateInformationAboutPagesSite: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/pages"]["response"]; + }; + updateInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"]["response"]; + }; + updatePullRequestReviewProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + updateRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + updateReleaseAsset: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + updateStatusCheckPotection: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + updateStatusCheckProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + updateWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + updateWebhookConfigForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"]["response"]; + }; + uploadReleaseAsset: { + parameters: RequestParameters & Omit; + response: Endpoints["POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]["response"]; + }; + }; + search: { + code: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/code"]["response"]; + }; + commits: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/commits"]["response"]; + }; + issuesAndPullRequests: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/issues"]["response"]; + }; + labels: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/labels"]["response"]; + }; + repos: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/repositories"]["response"]; + }; + topics: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/topics"]["response"]; + }; + users: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/users"]["response"]; + }; + }; + secretScanning: { + getAlert: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["response"]; + }; + listAlertsForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["response"]; + }; + listAlertsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; + }; + updateAlert: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["response"]; + }; + }; + teams: { + addOrUpdateMembershipForUserInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + addOrUpdateProjectPermissionsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + addOrUpdateRepoPermissionsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + checkPermissionsForProjectInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + checkPermissionsForRepoInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + create: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/teams"]["response"]; + }; + createDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + createDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + deleteDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + deleteDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + deleteInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}"]["response"]; + }; + getByName: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}"]["response"]; + }; + getDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + getDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + getMembershipForUserInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams"]["response"]; + }; + listChildInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["response"]; + }; + listDiscussionCommentsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + listDiscussionsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/teams"]["response"]; + }; + listMembersInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; + }; + listPendingInvitationsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["response"]; + }; + listProjectsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; + }; + listReposInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; + }; + removeMembershipForUserInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + removeProjectInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + removeRepoInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + updateDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + updateDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + updateInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}"]["response"]; + }; + }; + users: { + addEmailForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/emails"]["response"]; + }; + addEmailForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/emails"]["response"]; + }; + block: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/blocks/{username}"]["response"]; + }; + checkBlocked: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/blocks/{username}"]["response"]; + }; + checkFollowingForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/following/{target_user}"]["response"]; + }; + checkPersonIsFollowedByAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/following/{username}"]["response"]; + }; + createGpgKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/gpg_keys"]["response"]; + }; + createGpgKeyForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/gpg_keys"]["response"]; + }; + createPublicSshKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/keys"]["response"]; + }; + createPublicSshKeyForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/keys"]["response"]; + }; + deleteEmailForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/emails"]["response"]; + }; + deleteEmailForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/emails"]["response"]; + }; + deleteGpgKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + deleteGpgKeyForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + deletePublicSshKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/keys/{key_id}"]["response"]; + }; + deletePublicSshKeyForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/keys/{key_id}"]["response"]; + }; + follow: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/following/{username}"]["response"]; + }; + getAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user"]["response"]; + }; + getByUsername: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}"]["response"]; + }; + getContextForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/hovercard"]["response"]; + }; + getGpgKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + getGpgKeyForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + getPublicSshKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/keys/{key_id}"]["response"]; + }; + getPublicSshKeyForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/keys/{key_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users"]["response"]; + }; + listBlockedByAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/blocks"]["response"]; + }; + listBlockedByAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/blocks"]["response"]; + }; + listEmailsForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/emails"]["response"]; + }; + listEmailsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/emails"]["response"]; + }; + listFollowedByAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/following"]["response"]; + }; + listFollowedByAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/following"]["response"]; + }; + listFollowersForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/followers"]["response"]; + }; + listFollowersForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/followers"]["response"]; + }; + listFollowingForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/following"]["response"]; + }; + listGpgKeysForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + listGpgKeysForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + listGpgKeysForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/gpg_keys"]["response"]; + }; + listPublicEmailsForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + listPublicEmailsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + listPublicKeysForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/keys"]["response"]; + }; + listPublicSshKeysForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/keys"]["response"]; + }; + listPublicSshKeysForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/keys"]["response"]; + }; + setPrimaryEmailVisibilityForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /user/email/visibility"]["response"]; + }; + setPrimaryEmailVisibilityForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /user/email/visibility"]["response"]; + }; + unblock: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/blocks/{username}"]["response"]; + }; + unfollow: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/following/{username}"]["response"]; + }; + updateAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /user"]["response"]; + }; + }; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts new file mode 100644 index 00000000..a81f3b07 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts @@ -0,0 +1,11 @@ +import { Octokit } from "@octokit/core"; +export { RestEndpointMethodTypes } from "./generated/parameters-and-response-types"; +import { Api } from "./types"; +export declare function restEndpointMethods(octokit: Octokit): Api; +export declare namespace restEndpointMethods { + var VERSION: string; +} +export declare function legacyRestEndpointMethods(octokit: Octokit): Api["rest"] & Api; +export declare namespace legacyRestEndpointMethods { + var VERSION: string; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts new file mode 100644 index 00000000..3628f021 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts @@ -0,0 +1,18 @@ +import { Route, RequestParameters } from "@octokit/types"; +import { RestEndpointMethods } from "./generated/method-types"; +export declare type Api = { + rest: RestEndpointMethods; +}; +export declare type EndpointDecorations = { + mapToData?: string; + deprecated?: string; + renamed?: [string, string]; + renamedParameters?: { + [name: string]: string; + }; +}; +export declare type EndpointsDefaultsAndDecorations = { + [scope: string]: { + [methodName: string]: [Route, RequestParameters?, EndpointDecorations?]; + }; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts new file mode 100644 index 00000000..1fc03256 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "5.13.0"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js new file mode 100644 index 00000000..d0501ff7 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js @@ -0,0 +1,1515 @@ +const Endpoints = { + actions: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", + ], + approveWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve", + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel", + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}", + ], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token", + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token", + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token", + ], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}", + ], + deleteEnvironmentSecret: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}", + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}", + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}", + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs", + ], + disableSelectedRepositoryGithubActionsOrganization: [ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}", + ], + disableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs", + ], + downloadWorkflowRunAttemptLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs", + ], + enableSelectedRepositoryGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}", + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", + ], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions", + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions", + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key", + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions", + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions", + ], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], + getRepoPermissions: [ + "GET /repos/{owner}/{repo}/actions/permissions", + {}, + { renamed: ["actions", "getGithubActionsPermissionsRepository"] }, + ], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals", + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}", + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", + ], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing", + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + ], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + ], + listJobsForWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads", + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories", + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions", + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions", + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions", + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions", + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories", + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories", + ], + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription", + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription", + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "GET /users/{username}/events/orgs/{org}", + ], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public", + ], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/notifications", + ], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription", + ], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"], + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }, + ], + addRepoToInstallationForAuthenticatedUser: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + ], + checkToken: ["POST /applications/{client_id}/token"], + createContentAttachment: [ + "POST /content_references/{content_reference_id}/attachments", + { mediaType: { previews: ["corsair"] } }, + ], + createContentAttachmentForRepo: [ + "POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments", + { mediaType: { previews: ["corsair"] } }, + ], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: [ + "POST /app/installations/{installation_id}/access_tokens", + ], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}", + ], + getSubscriptionPlanForAccountStubbed: [ + "GET /marketplace_listing/stubbed/accounts/{account_id}", + ], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + ], + listInstallationReposForAuthenticatedUser: [ + "GET /user/installations/{installation_id}/repositories", + ], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed", + ], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: [ + "POST /app/hook/deliveries/{delivery_id}/attempts", + ], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }, + ], + removeRepoFromInstallationForAuthenticatedUser: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + ], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended", + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"], + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions", + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages", + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage", + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage", + ], + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: [ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest", + ], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences", + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"], + }, + codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}", + ], + getAlert: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + {}, + { renamedParameters: { alert_id: "alert_number" } }, + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", + ], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + ], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + {}, + { renamed: ["codeScanning", "listAlertInstances"] }, + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"], + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"], + }, + emojis: { get: ["GET /emojis"] }, + enterpriseAdmin: { + disableSelectedOrganizationGithubActionsEnterprise: [ + "DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}", + ], + enableSelectedOrganizationGithubActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}", + ], + getAllowedActionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions/selected-actions", + ], + getGithubActionsPermissionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions", + ], + listSelectedOrganizationsEnabledGithubActionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions/organizations", + ], + setAllowedActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/selected-actions", + ], + setGithubActionsPermissionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions", + ], + setSelectedOrganizationsEnabledGithubActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/organizations", + ], + }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"], + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"], + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"], + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: [ + "GET /user/interaction-limits", + {}, + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }, + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits", + ], + removeRestrictionsForYourPublicRepos: [ + "DELETE /user/interaction-limits", + {}, + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }, + ], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: [ + "PUT /user/interaction-limits", + {}, + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }, + ], + }, + issues: { + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees", + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments", + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}", + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}", + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels", + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees", + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}", + ], + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"], + }, + markdown: { + render: ["POST /markdown"], + renderRaw: [ + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } }, + ], + }, + meta: { + get: ["GET /meta"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"], + }, + migrations: { + cancelImport: ["DELETE /repos/{owner}/{repo}/import"], + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive", + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive", + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive", + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive", + ], + getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], + getImportStatus: ["GET /repos/{owner}/{repo}/import"], + getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/repositories", + ], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: [ + "GET /user/migrations/{migration_id}/repositories", + {}, + { renamed: ["migrations", "listReposForAuthenticatedUser"] }, + ], + mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], + setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: ["PUT /repos/{owner}/{repo}/import"], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock", + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", + ], + updateImport: ["PATCH /repos/{owner}/{repo}/import"], + }, + orgs: { + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}", + ], + createInvitation: ["POST /orgs/{org}/invitations"], + createWebhook: ["POST /orgs/{org}/hooks"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + get: ["GET /orgs/{org}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: [ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", + ], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", + ], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}", + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}", + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}", + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}", + ], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"], + }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}", + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}", + ], + deletePackageForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}", + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + deletePackageVersionForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }, + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser", + ], + }, + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions", + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}", + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}", + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}", + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + restorePackageVersionForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission", + ], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}", + ], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"], + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments", + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}", + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch", + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}", + ], + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions", + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions", + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + ], + createForRelease: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions", + ], + createForTeamDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", + ], + deleteForTeamDiscussion: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", + ], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + ], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + ], + listForTeamDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + ], + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + ], + }, + repos: { + acceptInvitation: [ + "PATCH /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] }, + ], + acceptInvitationForAuthenticatedUser: [ + "PATCH /user/repository_invitations/{invitation_id}", + ], + addAppAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + addTeamAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + addUserAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts", + ], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: [ + "GET /repos/{owner}/{repo}/compare/{basehead}", + ], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments", + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}", + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate", + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: [ + "DELETE /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "declineInvitationForAuthenticatedUser"] }, + ], + declineInvitationForAuthenticatedUser: [ + "DELETE /user/repository_invitations/{invitation_id}", + ], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions", + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}", + ], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection", + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}", + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}", + ], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}", + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes", + ], + disableLfsForRepo: ["DELETE /repos/{owner}/{repo}/lfs"], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts", + ], + downloadArchive: [ + "GET /repos/{owner}/{repo}/zipball/{ref}", + {}, + { renamed: ["repos", "downloadZipballArchive"] }, + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes", + ], + enableLfsForRepo: ["PUT /repos/{owner}/{repo}/lfs"], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts", + ], + generateReleaseNotes: [ + "POST /repos/{owner}/{repo}/releases/generate-notes", + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions", + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + ], + getAllTopics: [ + "GET /repos/{owner}/{repo}/topics", + { mediaType: { previews: ["mercy"] } }, + ], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + ], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection", + ], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission", + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}", + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config", + ], + getWebhookDelivery: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", + ], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + ], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", + ], + removeAppAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}", + ], + removeStatusCheckContexts: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + removeTeamAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + removeUserAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: [ + "PUT /repos/{owner}/{repo}/topics", + { mediaType: { previews: ["mercy"] } }, + ], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + setAppAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + setStatusCheckContexts: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + setTeamAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + setUserAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection", + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}", + ], + updatePullRequestReviewProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}", + ], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] }, + ], + updateStatusCheckProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config", + ], + uploadReleaseAsset: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", + { baseUrl: "https://uploads.github.com" }, + ], + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics", { mediaType: { previews: ["mercy"] } }], + users: ["GET /search/users"], + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", + ], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", + ], + }, + teams: { + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}", + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}", + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + ], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + ], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations", + ], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}", + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + updateDiscussionCommentInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"], + }, + users: { + addEmailForAuthenticated: [ + "POST /user/emails", + {}, + { renamed: ["users", "addEmailForAuthenticatedUser"] }, + ], + addEmailForAuthenticatedUser: ["POST /user/emails"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: [ + "POST /user/gpg_keys", + {}, + { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }, + ], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: [ + "POST /user/keys", + {}, + { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }, + ], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + deleteEmailForAuthenticated: [ + "DELETE /user/emails", + {}, + { renamed: ["users", "deleteEmailForAuthenticatedUser"] }, + ], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: [ + "DELETE /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }, + ], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: [ + "DELETE /user/keys/{key_id}", + {}, + { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }, + ], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: [ + "GET /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }, + ], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: [ + "GET /user/keys/{key_id}", + {}, + { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }, + ], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: [ + "GET /user/blocks", + {}, + { renamed: ["users", "listBlockedByAuthenticatedUser"] }, + ], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: [ + "GET /user/emails", + {}, + { renamed: ["users", "listEmailsForAuthenticatedUser"] }, + ], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: [ + "GET /user/following", + {}, + { renamed: ["users", "listFollowedByAuthenticatedUser"] }, + ], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: [ + "GET /user/gpg_keys", + {}, + { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }, + ], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: [ + "GET /user/public_emails", + {}, + { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }, + ], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: [ + "GET /user/keys", + {}, + { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }, + ], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + setPrimaryEmailVisibilityForAuthenticated: [ + "PATCH /user/email/visibility", + {}, + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }, + ], + setPrimaryEmailVisibilityForAuthenticatedUser: [ + "PATCH /user/email/visibility", + ], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"], + }, +}; + +const VERSION = "5.13.0"; + +function endpointsToMethods(octokit, endpointsMap) { + const newMethods = {}; + for (const [scope, endpoints] of Object.entries(endpointsMap)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign({ method, url }, defaults); + if (!newMethods[scope]) { + newMethods[scope] = {}; + } + const scopeMethods = newMethods[scope]; + if (decorations) { + scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); + continue; + } + scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); + } + } + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + /* istanbul ignore next */ + function withDecorations(...args) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + let options = requestWithDefaults.endpoint.merge(...args); + // There are currently no other decorations than `.mapToData` + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: undefined, + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + const options = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + if (name in options) { + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + if (!(alias in options)) { + options[alias] = options[name]; + } + delete options[name]; + } + } + return requestWithDefaults(options); + } + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} + +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return { + rest: api, + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return { + ...api, + rest: api, + }; +} +legacyRestEndpointMethods.VERSION = VERSION; + +export { legacyRestEndpointMethods, restEndpointMethods }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map new file mode 100644 index 00000000..61f89a35 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/endpoints-to-methods.js","../dist-src/index.js"],"sourcesContent":["const Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\",\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\",\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\",\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\",\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\",\n ],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\",\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\",\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\",\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\",\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\",\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\",\n ],\n downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\",\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\",\n ],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\",\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\",\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\",\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] },\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\",\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\",\n ],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\",\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\",\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n ],\n listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\",\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\",\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\",\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\",\n ],\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\",\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\",\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\",\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\",\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\",\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\",\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"],\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] },\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\n \"POST /content_references/{content_reference_id}/attachments\",\n { mediaType: { previews: [\"corsair\"] } },\n ],\n createContentAttachmentForRepo: [\n \"POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments\",\n { mediaType: { previews: [\"corsair\"] } },\n ],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\",\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\",\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\",\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\",\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\",\n ],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] },\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\",\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"],\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\",\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\",\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\",\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\",\n ],\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\",\n ],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\",\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\",\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } },\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\",\n ],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] },\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"],\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n disableSelectedOrganizationGithubActionsEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n enableSelectedOrganizationGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n getAllowedActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n getGithubActionsPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions\",\n ],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"],\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"],\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"],\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] },\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\",\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] },\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] },\n ],\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\",\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\",\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } },\n ],\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"],\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\",\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\n ],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] },\n ],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\",\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\",\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\",\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n ],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\",\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\",\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\",\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\",\n ],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"],\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\",\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n deletePackageForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}\",\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n deletePackageVersionForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] },\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\",\n ],\n },\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\",\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\",\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\",\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"],\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\",\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\",\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n ],\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] },\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n ],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\",\n ],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] },\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n ],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n ],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] },\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\",\n ],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\",\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n ],\n getAllTopics: [\n \"GET /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\",\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\",\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\",\n ],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n ],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\",\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\n \"PUT /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] },\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" },\n ],\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\", { mediaType: { previews: [\"mercy\"] } }],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n ],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"],\n },\n users: {\n addEmailForAuthenticated: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] },\n ],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] },\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] },\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] },\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] },\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] },\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] },\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] },\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] },\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] },\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] },\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] },\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] },\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] },\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] },\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\",\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\nexport default Endpoints;\n","export const VERSION = \"5.13.0\";\n","export function endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({ method, url }, defaults);\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n const scopeMethods = newMethods[scope];\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args);\n // There are currently no other decorations than `.mapToData`\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined,\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n delete options[name];\n }\n }\n return requestWithDefaults(options);\n }\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\n","import ENDPOINTS from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\nexport function restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, ENDPOINTS);\n return {\n rest: api,\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nexport function legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, ENDPOINTS);\n return {\n ...api,\n rest: api,\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n"],"names":["ENDPOINTS"],"mappings":"AAAA,MAAM,SAAS,GAAG;AAClB,IAAI,OAAO,EAAE;AACb,QAAQ,0BAA0B,EAAE;AACpC,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,+BAA+B,EAAE;AACzC,YAAY,yFAAyF;AACrG,SAAS;AACT,QAAQ,uBAAuB,EAAE,CAAC,+CAA+C,CAAC;AAClF,QAAQ,wBAAwB,EAAE;AAClC,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,+DAA+D;AAC3E,SAAS;AACT,QAAQ,uBAAuB,EAAE,CAAC,+CAA+C,CAAC;AAClF,QAAQ,wBAAwB,EAAE;AAClC,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,sBAAsB,EAAE;AAChC,YAAY,uEAAuE;AACnF,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,8DAA8D;AAC1E,SAAS;AACT,QAAQ,uBAAuB,EAAE;AACjC,YAAY,4FAA4F;AACxG,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,kDAAkD,CAAC;AAC7E,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,gDAAgD;AAC5D,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,oDAAoD,CAAC;AACjF,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,kDAAkD,EAAE;AAC5D,YAAY,qEAAqE;AACjF,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,gFAAgF;AAC5F,SAAS;AACT,QAAQ,uBAAuB,EAAE;AACjC,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,iDAAiD,EAAE;AAC3D,YAAY,kEAAkE;AAC9E,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,kEAAkE;AAC9E,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,2DAA2D,CAAC;AAClF,QAAQ,uBAAuB,EAAE;AACjC,YAAY,sFAAsF;AAClG,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,yFAAyF;AACrG,SAAS;AACT,QAAQ,uCAAuC,EAAE;AACjD,YAAY,qCAAqC;AACjD,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,+CAA+C;AAC3D,SAAS;AACT,QAAQ,oBAAoB,EAAE,CAAC,iDAAiD,CAAC;AACjF,QAAQ,eAAe,EAAE,CAAC,4CAA4C,CAAC;AACvE,QAAQ,YAAY,EAAE,CAAC,+CAA+C,CAAC;AACvE,QAAQ,2BAA2B,EAAE;AACrC,YAAY,qEAAqE;AACjF,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,+CAA+C;AAC3D,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,uCAAuC,CAAC,EAAE;AAC7E,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,sDAAsD,CAAC;AAClF,QAAQ,aAAa,EAAE,CAAC,yDAAyD,CAAC;AAClF,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,yBAAyB,EAAE,CAAC,6CAA6C,CAAC;AAClF,QAAQ,0BAA0B,EAAE;AACpC,YAAY,uDAAuD;AACnE,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,2DAA2D,CAAC;AAClF,QAAQ,cAAc,EAAE,CAAC,iDAAiD,CAAC;AAC3E,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,kEAAkE;AAC9E,SAAS;AACT,QAAQ,oBAAoB,EAAE,CAAC,6CAA6C,CAAC;AAC7E,QAAQ,sBAAsB,EAAE;AAChC,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,sBAAsB,EAAE;AAChC,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,gFAAgF;AAC5F,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,iCAAiC,CAAC;AAC3D,QAAQ,eAAe,EAAE,CAAC,2CAA2C,CAAC;AACtE,QAAQ,iBAAiB,EAAE,CAAC,6CAA6C,CAAC;AAC1E,QAAQ,4BAA4B,EAAE,CAAC,2CAA2C,CAAC;AACnF,QAAQ,6BAA6B,EAAE;AACvC,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,wDAAwD,EAAE;AAClE,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,2BAA2B,EAAE,CAAC,iCAAiC,CAAC;AACxE,QAAQ,4BAA4B,EAAE,CAAC,2CAA2C,CAAC;AACnF,QAAQ,wBAAwB,EAAE;AAClC,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,uBAAuB,EAAE,CAAC,wCAAwC,CAAC;AAC3E,QAAQ,+BAA+B,EAAE;AACzC,YAAY,+EAA+E;AAC3F,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,sEAAsE;AAClF,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,uCAAuC,EAAE;AACjD,YAAY,qCAAqC;AACjD,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,+CAA+C;AAC3D,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,uDAAuD,EAAE;AACjE,YAAY,kDAAkD;AAC9D,SAAS;AACT,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,qCAAqC,EAAE,CAAC,kCAAkC,CAAC;AACnF,QAAQ,sBAAsB,EAAE,CAAC,2CAA2C,CAAC;AAC7E,QAAQ,wBAAwB,EAAE;AAClC,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,QAAQ,EAAE,CAAC,YAAY,CAAC;AAChC,QAAQ,mBAAmB,EAAE,CAAC,wCAAwC,CAAC;AACvE,QAAQ,SAAS,EAAE,CAAC,wCAAwC,CAAC;AAC7D,QAAQ,yCAAyC,EAAE;AACnD,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,8BAA8B,EAAE,CAAC,8BAA8B,CAAC;AACxE,QAAQ,qCAAqC,EAAE,CAAC,oBAAoB,CAAC;AACrE,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,yCAAyC;AACrD,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,aAAa,CAAC;AACzC,QAAQ,8BAA8B,EAAE,CAAC,qCAAqC,CAAC;AAC/E,QAAQ,uBAAuB,EAAE,CAAC,qCAAqC,CAAC;AACxE,QAAQ,mBAAmB,EAAE,CAAC,wBAAwB,CAAC;AACvD,QAAQ,yBAAyB,EAAE,CAAC,uCAAuC,CAAC;AAC5E,QAAQ,+BAA+B,EAAE;AACzC,YAAY,8CAA8C;AAC1D,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,kCAAkC,CAAC;AAC5D,QAAQ,yCAAyC,EAAE;AACnD,YAAY,yCAAyC;AACrD,SAAS;AACT,QAAQ,mCAAmC,EAAE,CAAC,mBAAmB,CAAC;AAClE,QAAQ,sBAAsB,EAAE,CAAC,+BAA+B,CAAC;AACjE,QAAQ,sBAAsB,EAAE,CAAC,qCAAqC,CAAC;AACvE,QAAQ,qBAAqB,EAAE,CAAC,sCAAsC,CAAC;AACvE,QAAQ,oCAAoC,EAAE,CAAC,yBAAyB,CAAC;AACzE,QAAQ,mBAAmB,EAAE,CAAC,uCAAuC,CAAC;AACtE,QAAQ,uBAAuB,EAAE,CAAC,oBAAoB,CAAC;AACvD,QAAQ,2BAA2B,EAAE,CAAC,yCAAyC,CAAC;AAChF,QAAQ,gBAAgB,EAAE,CAAC,0CAA0C,CAAC;AACtE,QAAQ,mBAAmB,EAAE,CAAC,wCAAwC,CAAC;AACvE,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,4BAA4B,EAAE,CAAC,kCAAkC,CAAC;AAC1E,QAAQ,8BAA8B,EAAE,CAAC,qCAAqC,CAAC;AAC/E,KAAK;AACL,IAAI,IAAI,EAAE;AACV,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,wEAAwE;AACpF,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,2CAA2C,CAAC,EAAE;AAC9E,SAAS;AACT,QAAQ,yCAAyC,EAAE;AACnD,YAAY,wEAAwE;AACpF,SAAS;AACT,QAAQ,UAAU,EAAE,CAAC,sCAAsC,CAAC;AAC5D,QAAQ,uBAAuB,EAAE;AACjC,YAAY,6DAA6D;AACzE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,kFAAkF;AAC9F,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,kBAAkB,EAAE,CAAC,wCAAwC,CAAC;AACtE,QAAQ,6BAA6B,EAAE;AACvC,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,wCAAwC,CAAC;AACvE,QAAQ,kBAAkB,EAAE,CAAC,6CAA6C,CAAC;AAC3E,QAAQ,WAAW,EAAE,CAAC,wCAAwC,CAAC;AAC/D,QAAQ,gBAAgB,EAAE,CAAC,UAAU,CAAC;AACtC,QAAQ,SAAS,EAAE,CAAC,sBAAsB,CAAC;AAC3C,QAAQ,eAAe,EAAE,CAAC,0CAA0C,CAAC;AACrE,QAAQ,kBAAkB,EAAE,CAAC,8BAA8B,CAAC;AAC5D,QAAQ,mBAAmB,EAAE,CAAC,wCAAwC,CAAC;AACvE,QAAQ,6BAA6B,EAAE;AACvC,YAAY,gDAAgD;AAC5D,SAAS;AACT,QAAQ,oCAAoC,EAAE;AAC9C,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,oCAAoC,CAAC;AACnE,QAAQ,sBAAsB,EAAE,CAAC,sBAAsB,CAAC;AACxD,QAAQ,kBAAkB,EAAE,CAAC,wCAAwC,CAAC;AACtE,QAAQ,mBAAmB,EAAE,CAAC,mDAAmD,CAAC;AAClF,QAAQ,0BAA0B,EAAE;AACpC,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,yCAAyC,EAAE;AACnD,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,wBAAwB,CAAC;AACrD,QAAQ,qCAAqC,EAAE,CAAC,yBAAyB,CAAC;AAC1E,QAAQ,SAAS,EAAE,CAAC,gCAAgC,CAAC;AACrD,QAAQ,gBAAgB,EAAE,CAAC,wCAAwC,CAAC;AACpE,QAAQ,iCAAiC,EAAE,CAAC,gCAAgC,CAAC;AAC7E,QAAQ,qCAAqC,EAAE,CAAC,iCAAiC,CAAC;AAClF,QAAQ,4CAA4C,EAAE;AACtD,YAAY,yCAAyC;AACrD,SAAS;AACT,QAAQ,qBAAqB,EAAE,CAAC,0BAA0B,CAAC;AAC3D,QAAQ,wBAAwB,EAAE;AAClC,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,2EAA2E;AACvF,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,gDAAgD,CAAC,EAAE;AACnF,SAAS;AACT,QAAQ,8CAA8C,EAAE;AACxD,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,UAAU,EAAE,CAAC,uCAAuC,CAAC;AAC7D,QAAQ,6BAA6B,EAAE,CAAC,4BAA4B,CAAC;AACrE,QAAQ,UAAU,EAAE,CAAC,6CAA6C,CAAC;AACnE,QAAQ,mBAAmB,EAAE,CAAC,oDAAoD,CAAC;AACnF,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,uDAAuD;AACnE,SAAS;AACT,QAAQ,yBAAyB,EAAE,CAAC,wBAAwB,CAAC;AAC7D,KAAK;AACL,IAAI,OAAO,EAAE;AACb,QAAQ,0BAA0B,EAAE,CAAC,0CAA0C,CAAC;AAChF,QAAQ,2BAA2B,EAAE;AACrC,YAAY,gDAAgD;AAC5D,SAAS;AACT,QAAQ,2BAA2B,EAAE,CAAC,2CAA2C,CAAC;AAClF,QAAQ,4BAA4B,EAAE;AACtC,YAAY,iDAAiD;AAC7D,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,iDAAiD;AAC7D,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,uDAAuD;AACnE,SAAS;AACT,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,QAAQ,MAAM,EAAE,CAAC,uCAAuC,CAAC;AACzD,QAAQ,WAAW,EAAE,CAAC,yCAAyC,CAAC;AAChE,QAAQ,GAAG,EAAE,CAAC,qDAAqD,CAAC;AACpE,QAAQ,QAAQ,EAAE,CAAC,yDAAyD,CAAC;AAC7E,QAAQ,eAAe,EAAE;AACzB,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,UAAU,EAAE,CAAC,oDAAoD,CAAC;AAC1E,QAAQ,YAAY,EAAE;AACtB,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,sDAAsD,CAAC;AAClF,QAAQ,YAAY,EAAE;AACtB,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,MAAM,EAAE,CAAC,uDAAuD,CAAC;AACzE,KAAK;AACL,IAAI,YAAY,EAAE;AAClB,QAAQ,cAAc,EAAE;AACxB,YAAY,oFAAoF;AAChG,SAAS;AACT,QAAQ,QAAQ,EAAE;AAClB,YAAY,+DAA+D;AAC3E,YAAY,EAAE;AACd,YAAY,EAAE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE;AAC/D,SAAS;AACT,QAAQ,WAAW,EAAE;AACrB,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,QAAQ,EAAE,CAAC,2DAA2D,CAAC;AAC/E,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,yEAAyE;AACrF,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,gDAAgD,CAAC;AAC7E,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,yEAAyE;AACrF,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC,EAAE;AAC/D,SAAS;AACT,QAAQ,kBAAkB,EAAE,CAAC,kDAAkD,CAAC;AAChF,QAAQ,WAAW,EAAE;AACrB,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,iDAAiD,CAAC;AACxE,KAAK;AACL,IAAI,cAAc,EAAE;AACpB,QAAQ,oBAAoB,EAAE,CAAC,uBAAuB,CAAC;AACvD,QAAQ,cAAc,EAAE,CAAC,6BAA6B,CAAC;AACvD,KAAK;AACL,IAAI,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE;AACpC,IAAI,eAAe,EAAE;AACrB,QAAQ,kDAAkD,EAAE;AAC5D,YAAY,6EAA6E;AACzF,SAAS;AACT,QAAQ,iDAAiD,EAAE;AAC3D,YAAY,0EAA0E;AACtF,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,mDAAmD;AAC/D,SAAS;AACT,QAAQ,uDAAuD,EAAE;AACjE,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,mDAAmD;AAC/D,SAAS;AACT,QAAQ,sDAAsD,EAAE;AAChE,YAAY,iEAAiE;AAC7E,SAAS;AACT,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,cAAc,EAAE,CAAC,2BAA2B,CAAC;AACrD,QAAQ,MAAM,EAAE,CAAC,aAAa,CAAC;AAC/B,QAAQ,aAAa,EAAE,CAAC,gCAAgC,CAAC;AACzD,QAAQ,MAAM,EAAE,CAAC,yBAAyB,CAAC;AAC3C,QAAQ,aAAa,EAAE,CAAC,+CAA+C,CAAC;AACxE,QAAQ,IAAI,EAAE,CAAC,6BAA6B,CAAC;AAC7C,QAAQ,GAAG,EAAE,CAAC,sBAAsB,CAAC;AACrC,QAAQ,UAAU,EAAE,CAAC,4CAA4C,CAAC;AAClE,QAAQ,WAAW,EAAE,CAAC,4BAA4B,CAAC;AACnD,QAAQ,IAAI,EAAE,CAAC,YAAY,CAAC;AAC5B,QAAQ,YAAY,EAAE,CAAC,+BAA+B,CAAC;AACvD,QAAQ,WAAW,EAAE,CAAC,8BAA8B,CAAC;AACrD,QAAQ,WAAW,EAAE,CAAC,6BAA6B,CAAC;AACpD,QAAQ,SAAS,EAAE,CAAC,4BAA4B,CAAC;AACjD,QAAQ,UAAU,EAAE,CAAC,mBAAmB,CAAC;AACzC,QAAQ,WAAW,EAAE,CAAC,oBAAoB,CAAC;AAC3C,QAAQ,IAAI,EAAE,CAAC,2BAA2B,CAAC;AAC3C,QAAQ,MAAM,EAAE,CAAC,8BAA8B,CAAC;AAChD,QAAQ,MAAM,EAAE,CAAC,wBAAwB,CAAC;AAC1C,QAAQ,aAAa,EAAE,CAAC,8CAA8C,CAAC;AACvE,KAAK;AACL,IAAI,GAAG,EAAE;AACT,QAAQ,UAAU,EAAE,CAAC,sCAAsC,CAAC;AAC5D,QAAQ,YAAY,EAAE,CAAC,wCAAwC,CAAC;AAChE,QAAQ,SAAS,EAAE,CAAC,qCAAqC,CAAC;AAC1D,QAAQ,SAAS,EAAE,CAAC,qCAAqC,CAAC;AAC1D,QAAQ,UAAU,EAAE,CAAC,sCAAsC,CAAC;AAC5D,QAAQ,SAAS,EAAE,CAAC,6CAA6C,CAAC;AAClE,QAAQ,OAAO,EAAE,CAAC,gDAAgD,CAAC;AACnE,QAAQ,SAAS,EAAE,CAAC,oDAAoD,CAAC;AACzE,QAAQ,MAAM,EAAE,CAAC,yCAAyC,CAAC;AAC3D,QAAQ,MAAM,EAAE,CAAC,8CAA8C,CAAC;AAChE,QAAQ,OAAO,EAAE,CAAC,gDAAgD,CAAC;AACnE,QAAQ,gBAAgB,EAAE,CAAC,mDAAmD,CAAC;AAC/E,QAAQ,SAAS,EAAE,CAAC,4CAA4C,CAAC;AACjE,KAAK;AACL,IAAI,SAAS,EAAE;AACf,QAAQ,eAAe,EAAE,CAAC,0BAA0B,CAAC;AACrD,QAAQ,WAAW,EAAE,CAAC,iCAAiC,CAAC;AACxD,KAAK;AACL,IAAI,YAAY,EAAE;AAClB,QAAQ,mCAAmC,EAAE,CAAC,8BAA8B,CAAC;AAC7E,QAAQ,qBAAqB,EAAE,CAAC,oCAAoC,CAAC;AACrE,QAAQ,sBAAsB,EAAE,CAAC,8CAA8C,CAAC;AAChF,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,8BAA8B;AAC1C,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,qCAAqC,CAAC,EAAE;AAChF,SAAS;AACT,QAAQ,sCAAsC,EAAE,CAAC,iCAAiC,CAAC;AACnF,QAAQ,wBAAwB,EAAE,CAAC,uCAAuC,CAAC;AAC3E,QAAQ,yBAAyB,EAAE;AACnC,YAAY,iDAAiD;AAC7D,SAAS;AACT,QAAQ,oCAAoC,EAAE;AAC9C,YAAY,iCAAiC;AAC7C,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,wCAAwC,CAAC,EAAE;AACnF,SAAS;AACT,QAAQ,mCAAmC,EAAE,CAAC,8BAA8B,CAAC;AAC7E,QAAQ,qBAAqB,EAAE,CAAC,oCAAoC,CAAC;AACrE,QAAQ,sBAAsB,EAAE,CAAC,8CAA8C,CAAC;AAChF,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,8BAA8B;AAC1C,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,qCAAqC,CAAC,EAAE;AAChF,SAAS;AACT,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,QAAQ,YAAY,EAAE;AACtB,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,SAAS,EAAE,CAAC,yDAAyD,CAAC;AAC9E,QAAQ,sBAAsB,EAAE,CAAC,gDAAgD,CAAC;AAClF,QAAQ,MAAM,EAAE,CAAC,mCAAmC,CAAC;AACrD,QAAQ,aAAa,EAAE;AACvB,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,mCAAmC,CAAC;AAC1D,QAAQ,eAAe,EAAE,CAAC,uCAAuC,CAAC;AAClE,QAAQ,aAAa,EAAE;AACvB,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,4CAA4C,CAAC;AACnE,QAAQ,eAAe,EAAE;AACzB,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,GAAG,EAAE,CAAC,iDAAiD,CAAC;AAChE,QAAQ,UAAU,EAAE,CAAC,wDAAwD,CAAC;AAC9E,QAAQ,QAAQ,EAAE,CAAC,oDAAoD,CAAC;AACxE,QAAQ,QAAQ,EAAE,CAAC,yCAAyC,CAAC;AAC7D,QAAQ,YAAY,EAAE,CAAC,yDAAyD,CAAC;AACjF,QAAQ,IAAI,EAAE,CAAC,aAAa,CAAC;AAC7B,QAAQ,aAAa,EAAE,CAAC,qCAAqC,CAAC;AAC9D,QAAQ,YAAY,EAAE,CAAC,0DAA0D,CAAC;AAClF,QAAQ,mBAAmB,EAAE,CAAC,2CAA2C,CAAC;AAC1E,QAAQ,UAAU,EAAE,CAAC,wDAAwD,CAAC;AAC9E,QAAQ,iBAAiB,EAAE,CAAC,yCAAyC,CAAC;AACtE,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,wBAAwB,EAAE,CAAC,kBAAkB,CAAC;AACtD,QAAQ,UAAU,EAAE,CAAC,wBAAwB,CAAC;AAC9C,QAAQ,WAAW,EAAE,CAAC,kCAAkC,CAAC;AACzD,QAAQ,sBAAsB,EAAE;AAChC,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,kCAAkC,CAAC;AAC/D,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,sCAAsC,CAAC;AAChE,QAAQ,IAAI,EAAE,CAAC,sDAAsD,CAAC;AACtE,QAAQ,eAAe,EAAE;AACzB,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,8DAA8D;AAC1E,SAAS;AACT,QAAQ,WAAW,EAAE;AACrB,YAAY,kEAAkE;AAC9E,SAAS;AACT,QAAQ,SAAS,EAAE,CAAC,wDAAwD,CAAC;AAC7E,QAAQ,MAAM,EAAE,CAAC,yDAAyD,CAAC;AAC3E,QAAQ,MAAM,EAAE,CAAC,mDAAmD,CAAC;AACrE,QAAQ,aAAa,EAAE,CAAC,0DAA0D,CAAC;AACnF,QAAQ,WAAW,EAAE,CAAC,2CAA2C,CAAC;AAClE,QAAQ,eAAe,EAAE;AACzB,YAAY,2DAA2D;AACvE,SAAS;AACT,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,GAAG,EAAE,CAAC,yBAAyB,CAAC;AACxC,QAAQ,kBAAkB,EAAE,CAAC,eAAe,CAAC;AAC7C,QAAQ,UAAU,EAAE,CAAC,mCAAmC,CAAC;AACzD,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,MAAM,EAAE,CAAC,gBAAgB,CAAC;AAClC,QAAQ,SAAS,EAAE;AACnB,YAAY,oBAAoB;AAChC,YAAY,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,EAAE;AACxE,SAAS;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC;AAC1B,QAAQ,UAAU,EAAE,CAAC,cAAc,CAAC;AACpC,QAAQ,MAAM,EAAE,CAAC,UAAU,CAAC;AAC5B,QAAQ,IAAI,EAAE,CAAC,OAAO,CAAC;AACvB,KAAK;AACL,IAAI,UAAU,EAAE;AAChB,QAAQ,YAAY,EAAE,CAAC,qCAAqC,CAAC;AAC7D,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,gDAAgD;AAC5D,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,mDAAmD;AAC/D,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,6CAA6C;AACzD,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,0CAA0C,CAAC;AACtE,QAAQ,eAAe,EAAE,CAAC,kCAAkC,CAAC;AAC7D,QAAQ,aAAa,EAAE,CAAC,8CAA8C,CAAC;AACvE,QAAQ,6BAA6B,EAAE,CAAC,qCAAqC,CAAC;AAC9E,QAAQ,eAAe,EAAE,CAAC,2CAA2C,CAAC;AACtE,QAAQ,wBAAwB,EAAE,CAAC,sBAAsB,CAAC;AAC1D,QAAQ,UAAU,EAAE,CAAC,4BAA4B,CAAC;AAClD,QAAQ,6BAA6B,EAAE;AACvC,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,wDAAwD,CAAC;AACnF,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,kDAAkD;AAC9D,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,+BAA+B,CAAC,EAAE;AACxE,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,wDAAwD,CAAC;AACnF,QAAQ,gBAAgB,EAAE,CAAC,wCAAwC,CAAC;AACpE,QAAQ,yBAAyB,EAAE,CAAC,uBAAuB,CAAC;AAC5D,QAAQ,WAAW,EAAE,CAAC,6BAA6B,CAAC;AACpD,QAAQ,WAAW,EAAE,CAAC,kCAAkC,CAAC;AACzD,QAAQ,8BAA8B,EAAE;AACxC,YAAY,+DAA+D;AAC3E,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,qEAAqE;AACjF,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,oCAAoC,CAAC;AAC5D,KAAK;AACL,IAAI,IAAI,EAAE;AACV,QAAQ,SAAS,EAAE,CAAC,mCAAmC,CAAC;AACxD,QAAQ,gBAAgB,EAAE,CAAC,gDAAgD,CAAC;AAC5E,QAAQ,gBAAgB,EAAE,CAAC,mCAAmC,CAAC;AAC/D,QAAQ,sBAAsB,EAAE,CAAC,oCAAoC,CAAC;AACtE,QAAQ,4BAA4B,EAAE,CAAC,2CAA2C,CAAC;AACnF,QAAQ,kCAAkC,EAAE;AAC5C,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,8BAA8B,CAAC;AAC1D,QAAQ,aAAa,EAAE,CAAC,wBAAwB,CAAC;AACjD,QAAQ,aAAa,EAAE,CAAC,oCAAoC,CAAC;AAC7D,QAAQ,GAAG,EAAE,CAAC,iBAAiB,CAAC;AAChC,QAAQ,iCAAiC,EAAE,CAAC,kCAAkC,CAAC;AAC/E,QAAQ,oBAAoB,EAAE,CAAC,wCAAwC,CAAC;AACxE,QAAQ,UAAU,EAAE,CAAC,iCAAiC,CAAC;AACvD,QAAQ,sBAAsB,EAAE,CAAC,wCAAwC,CAAC;AAC1E,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,IAAI,EAAE,CAAC,oBAAoB,CAAC;AACpC,QAAQ,oBAAoB,EAAE,CAAC,+BAA+B,CAAC;AAC/D,QAAQ,gBAAgB,EAAE,CAAC,wBAAwB,CAAC;AACpD,QAAQ,qBAAqB,EAAE,CAAC,oCAAoC,CAAC;AACrE,QAAQ,wBAAwB,EAAE,CAAC,gBAAgB,CAAC;AACpD,QAAQ,WAAW,EAAE,CAAC,4BAA4B,CAAC;AACnD,QAAQ,mBAAmB,EAAE,CAAC,mDAAmD,CAAC;AAClF,QAAQ,WAAW,EAAE,CAAC,yBAAyB,CAAC;AAChD,QAAQ,mCAAmC,EAAE,CAAC,4BAA4B,CAAC;AAC3E,QAAQ,wBAAwB,EAAE,CAAC,uCAAuC,CAAC;AAC3E,QAAQ,sBAAsB,EAAE,CAAC,6BAA6B,CAAC;AAC/D,QAAQ,iBAAiB,EAAE,CAAC,gCAAgC,CAAC;AAC7D,QAAQ,qBAAqB,EAAE,CAAC,4CAA4C,CAAC;AAC7E,QAAQ,YAAY,EAAE,CAAC,uBAAuB,CAAC;AAC/C,QAAQ,WAAW,EAAE,CAAC,wCAAwC,CAAC;AAC/D,QAAQ,wBAAwB,EAAE;AAClC,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,uCAAuC,CAAC;AAC/D,QAAQ,uBAAuB,EAAE,CAAC,2CAA2C,CAAC;AAC9E,QAAQ,yBAAyB,EAAE;AACnC,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,0CAA0C,EAAE;AACpD,YAAY,8CAA8C;AAC1D,SAAS;AACT,QAAQ,oBAAoB,EAAE,CAAC,wCAAwC,CAAC;AACxE,QAAQ,uCAAuC,EAAE;AACjD,YAAY,2CAA2C;AACvD,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,sCAAsC,CAAC;AAC7D,QAAQ,MAAM,EAAE,CAAC,mBAAmB,CAAC;AACrC,QAAQ,oCAAoC,EAAE;AAC9C,YAAY,oCAAoC;AAChD,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,mCAAmC,CAAC;AAC5D,QAAQ,yBAAyB,EAAE,CAAC,0CAA0C,CAAC;AAC/E,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,wCAAwC,EAAE;AAClD,YAAY,mFAAmF;AAC/F,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,yFAAyF;AACrG,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,+FAA+F;AAC3G,SAAS;AACT,QAAQ,4CAA4C,EAAE;AACtD,YAAY,iEAAiE;AAC7E,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,2CAA2C,CAAC,EAAE;AAClF,SAAS;AACT,QAAQ,2DAA2D,EAAE;AACrE,YAAY,2DAA2D;AACvE,YAAY,EAAE;AACd,YAAY;AACZ,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,UAAU;AAC9B,oBAAoB,yDAAyD;AAC7E,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,uDAAuD,EAAE;AACjE,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,yCAAyC,EAAE;AACnD,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,0CAA0C,EAAE;AACpD,YAAY,uEAAuE;AACnF,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,8DAA8D;AAC1E,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,gFAAgF;AAC5F,SAAS;AACT,QAAQ,gCAAgC,EAAE;AAC1C,YAAY,sFAAsF;AAClG,SAAS;AACT,QAAQ,wBAAwB,EAAE;AAClC,YAAY,4FAA4F;AACxG,SAAS;AACT,QAAQ,gCAAgC,EAAE,CAAC,oBAAoB,CAAC;AAChE,QAAQ,2BAA2B,EAAE,CAAC,0BAA0B,CAAC;AACjE,QAAQ,mBAAmB,EAAE,CAAC,gCAAgC,CAAC;AAC/D,QAAQ,kCAAkC,EAAE;AAC5C,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,yEAAyE;AACrF,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,+EAA+E;AAC3F,SAAS;AACT,QAAQ,yCAAyC,EAAE;AACnD,YAAY,yFAAyF;AACrG,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,+FAA+F;AAC3G,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,qGAAqG;AACjH,SAAS;AACT,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,eAAe,EAAE,CAAC,qDAAqD,CAAC;AAChF,QAAQ,UAAU,EAAE,CAAC,0CAA0C,CAAC;AAChE,QAAQ,YAAY,EAAE,CAAC,qCAAqC,CAAC;AAC7D,QAAQ,0BAA0B,EAAE,CAAC,qBAAqB,CAAC;AAC3D,QAAQ,YAAY,EAAE,CAAC,2BAA2B,CAAC;AACnD,QAAQ,aAAa,EAAE,CAAC,qCAAqC,CAAC;AAC9D,QAAQ,MAAM,EAAE,CAAC,+BAA+B,CAAC;AACjD,QAAQ,UAAU,EAAE,CAAC,0CAA0C,CAAC;AAChE,QAAQ,YAAY,EAAE,CAAC,sCAAsC,CAAC;AAC9D,QAAQ,GAAG,EAAE,CAAC,4BAA4B,CAAC;AAC3C,QAAQ,OAAO,EAAE,CAAC,uCAAuC,CAAC;AAC1D,QAAQ,SAAS,EAAE,CAAC,mCAAmC,CAAC;AACxD,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,SAAS,EAAE,CAAC,yCAAyC,CAAC;AAC9D,QAAQ,iBAAiB,EAAE,CAAC,0CAA0C,CAAC;AACvE,QAAQ,WAAW,EAAE,CAAC,oCAAoC,CAAC;AAC3D,QAAQ,UAAU,EAAE,CAAC,0BAA0B,CAAC;AAChD,QAAQ,WAAW,EAAE,CAAC,oCAAoC,CAAC;AAC3D,QAAQ,WAAW,EAAE,CAAC,gCAAgC,CAAC;AACvD,QAAQ,QAAQ,EAAE,CAAC,8CAA8C,CAAC;AAClE,QAAQ,UAAU,EAAE,CAAC,0CAA0C,CAAC;AAChE,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,MAAM,EAAE,CAAC,8BAA8B,CAAC;AAChD,QAAQ,UAAU,EAAE,CAAC,yCAAyC,CAAC;AAC/D,QAAQ,YAAY,EAAE,CAAC,qCAAqC,CAAC;AAC7D,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,aAAa,EAAE,CAAC,qDAAqD,CAAC;AAC9E,QAAQ,MAAM,EAAE,CAAC,kCAAkC,CAAC;AACpD,QAAQ,2BAA2B,EAAE;AACrC,YAAY,8EAA8E;AAC1F,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,wDAAwD,CAAC;AAChF,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,sEAAsE;AAClF,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,aAAa,EAAE;AACvB,YAAY,8EAA8E;AAC1F,SAAS;AACT,QAAQ,GAAG,EAAE,CAAC,+CAA+C,CAAC;AAC9D,QAAQ,SAAS,EAAE;AACnB,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,uDAAuD,CAAC;AACnF,QAAQ,IAAI,EAAE,CAAC,iCAAiC,CAAC;AACjD,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,uDAAuD,CAAC;AAC9E,QAAQ,SAAS,EAAE,CAAC,qDAAqD,CAAC;AAC1E,QAAQ,sBAAsB,EAAE;AAChC,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,yBAAyB,EAAE,CAAC,0CAA0C,CAAC;AAC/E,QAAQ,WAAW,EAAE,CAAC,uDAAuD,CAAC;AAC9E,QAAQ,KAAK,EAAE,CAAC,qDAAqD,CAAC;AACtE,QAAQ,wBAAwB,EAAE;AAClC,YAAY,sEAAsE;AAClF,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,MAAM,EAAE,CAAC,iDAAiD,CAAC;AACnE,QAAQ,YAAY,EAAE;AACtB,YAAY,6DAA6D;AACzE,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,yDAAyD;AACrE,SAAS;AACT,KAAK;AACL,IAAI,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE;AAC3C,IAAI,SAAS,EAAE;AACf,QAAQ,sBAAsB,EAAE;AAChC,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,kEAAkE;AAC9E,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,mCAAmC,EAAE;AAC7C,YAAY,wGAAwG;AACpH,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,8EAA8E;AAC1F,SAAS;AACT,QAAQ,sBAAsB,EAAE;AAChC,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,mFAAmF;AAC/F,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,kFAAkF;AAC9F,SAAS;AACT,QAAQ,uBAAuB,EAAE;AACjC,YAAY,8FAA8F;AAC1G,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,wHAAwH;AACpI,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,2DAA2D,CAAC;AACnF,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,kEAAkE;AAC9E,SAAS;AACT,QAAQ,+BAA+B,EAAE;AACzC,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,uGAAuG;AACnH,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,6EAA6E;AACzF,SAAS;AACT,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,oDAAoD;AAChE,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,sCAAsC,CAAC,EAAE;AAC1E,SAAS;AACT,QAAQ,oCAAoC,EAAE;AAC9C,YAAY,oDAAoD;AAChE,SAAS;AACT,QAAQ,wBAAwB,EAAE;AAClC,YAAY,2EAA2E;AACvF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE;AACjC,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,oDAAoD,CAAC;AAC/E,QAAQ,sBAAsB,EAAE;AAChC,YAAY,yFAAyF;AACrG,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE;AACrC,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,4EAA4E;AACxF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,4EAA4E;AACxF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,oDAAoD,CAAC;AACjF,QAAQ,wBAAwB,EAAE;AAClC,YAAY,gDAAgD;AAC5D,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,mDAAmD,CAAC;AAC7E,QAAQ,0BAA0B,EAAE;AACpC,YAAY,8CAA8C;AAC1D,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,sCAAsC,CAAC;AAChE,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,+BAA+B,EAAE;AACzC,YAAY,6EAA6E;AACzF,SAAS;AACT,QAAQ,kBAAkB,EAAE,CAAC,2CAA2C,CAAC;AACzE,QAAQ,eAAe,EAAE,CAAC,iCAAiC,CAAC;AAC5D,QAAQ,gBAAgB,EAAE,CAAC,wCAAwC,CAAC;AACpE,QAAQ,sBAAsB,EAAE;AAChC,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,uCAAuC,CAAC;AACtE,QAAQ,0BAA0B,EAAE,CAAC,kBAAkB,CAAC;AACxD,QAAQ,UAAU,EAAE,CAAC,kCAAkC,CAAC;AACxD,QAAQ,WAAW,EAAE,CAAC,wBAAwB,CAAC;AAC/C,QAAQ,yBAAyB,EAAE;AACnC,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,0BAA0B,EAAE,CAAC,2CAA2C,CAAC;AACjF,QAAQ,eAAe,EAAE,CAAC,kCAAkC,CAAC;AAC7D,QAAQ,aAAa,EAAE,CAAC,qCAAqC,CAAC;AAC9D,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,uDAAuD;AACnE,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,kCAAkC,CAAC;AAC3D,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,qDAAqD;AACjE,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,uCAAuC,CAAC,EAAE;AAC3E,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,MAAM,EAAE,CAAC,8BAA8B,CAAC;AAChD,QAAQ,wBAAwB,EAAE;AAClC,YAAY,wEAAwE;AACpF,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,0EAA0E;AACtF,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,8DAA8D;AAC1E,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,sDAAsD,CAAC;AAChF,QAAQ,sBAAsB,EAAE;AAChC,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,oDAAoD,CAAC;AACnF,QAAQ,+BAA+B,EAAE;AACzC,YAAY,+EAA+E;AAC3F,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,4CAA4C,CAAC;AACvE,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,UAAU,EAAE,CAAC,8CAA8C,CAAC;AACpE,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,oCAAoC,CAAC;AAC/D,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,yFAAyF;AACrG,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,oDAAoD,CAAC;AAC7E,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,8CAA8C,CAAC;AACvE,QAAQ,6BAA6B,EAAE;AACvC,YAAY,uDAAuD;AACnE,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,kCAAkC,CAAC;AAC/D,QAAQ,0BAA0B,EAAE;AACpC,YAAY,mDAAmD;AAC/D,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,yCAAyC;AACrD,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAE;AAC5D,SAAS;AACT,QAAQ,sBAAsB,EAAE,CAAC,yCAAyC,CAAC;AAC3E,QAAQ,sBAAsB,EAAE,CAAC,yCAAyC,CAAC;AAC3E,QAAQ,4BAA4B,EAAE;AACtC,YAAY,oDAAoD;AAChE,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,+BAA+B,CAAC;AAC3D,QAAQ,yBAAyB,EAAE;AACnC,YAAY,gDAAgD;AAC5D,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,oDAAoD;AAChE,SAAS;AACT,QAAQ,GAAG,EAAE,CAAC,2BAA2B,CAAC;AAC1C,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,qEAAqE;AACjF,SAAS;AACT,QAAQ,wBAAwB,EAAE;AAClC,YAAY,uEAAuE;AACnF,SAAS;AACT,QAAQ,kBAAkB,EAAE,CAAC,wCAAwC,CAAC;AACtE,QAAQ,yBAAyB,EAAE;AACnC,YAAY,wFAAwF;AACpG,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,kCAAkC;AAC9C,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;AAClD,SAAS;AACT,QAAQ,kCAAkC,EAAE;AAC5C,YAAY,0EAA0E;AACtF,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,mDAAmD,CAAC;AAC1E,QAAQ,SAAS,EAAE,CAAC,6CAA6C,CAAC;AAClE,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,SAAS,EAAE,CAAC,0CAA0C,CAAC;AAC/D,QAAQ,qBAAqB,EAAE,CAAC,gDAAgD,CAAC;AACjF,QAAQ,8BAA8B,EAAE;AACxC,YAAY,+DAA+D;AAC3E,SAAS;AACT,QAAQ,uBAAuB,EAAE,CAAC,gDAAgD,CAAC;AACnF,QAAQ,SAAS,EAAE,CAAC,yCAAyC,CAAC;AAC9D,QAAQ,sBAAsB,EAAE,CAAC,iDAAiD,CAAC;AACnF,QAAQ,gBAAgB,EAAE,CAAC,iDAAiD,CAAC;AAC7E,QAAQ,4BAA4B,EAAE;AACtC,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,0BAA0B,EAAE,CAAC,6CAA6C,CAAC;AACnF,QAAQ,UAAU,EAAE,CAAC,2CAA2C,CAAC;AACjE,QAAQ,oBAAoB,EAAE,CAAC,8CAA8C,CAAC;AAC9E,QAAQ,YAAY,EAAE,CAAC,yCAAyC,CAAC;AACjE,QAAQ,aAAa,EAAE,CAAC,uDAAuD,CAAC;AAChF,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,+CAA+C,CAAC;AAC9E,QAAQ,gBAAgB,EAAE,CAAC,2CAA2C,CAAC;AACvE,QAAQ,QAAQ,EAAE,CAAC,iCAAiC,CAAC;AACrD,QAAQ,aAAa,EAAE,CAAC,mDAAmD,CAAC;AAC5E,QAAQ,mBAAmB,EAAE,CAAC,wCAAwC,CAAC;AACvE,QAAQ,qBAAqB,EAAE,CAAC,+CAA+C,CAAC;AAChF,QAAQ,8BAA8B,EAAE;AACxC,YAAY,sFAAsF;AAClG,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,4CAA4C,CAAC;AACzE,QAAQ,SAAS,EAAE,CAAC,kCAAkC,CAAC;AACvD,QAAQ,oBAAoB,EAAE,CAAC,wCAAwC,CAAC;AACxE,QAAQ,UAAU,EAAE,CAAC,iDAAiD,CAAC;AACvE,QAAQ,eAAe,EAAE,CAAC,sDAAsD,CAAC;AACjF,QAAQ,eAAe,EAAE,CAAC,+CAA+C,CAAC;AAC1E,QAAQ,yBAAyB,EAAE;AACnC,YAAY,+EAA+E;AAC3F,SAAS;AACT,QAAQ,mCAAmC,EAAE;AAC7C,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,iDAAiD,CAAC;AACxE,QAAQ,eAAe,EAAE,CAAC,qDAAqD,CAAC;AAChF,QAAQ,mCAAmC,EAAE;AAC7C,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,QAAQ,EAAE,CAAC,yCAAyC,CAAC;AAC7D,QAAQ,UAAU,EAAE,CAAC,2CAA2C,CAAC;AACjE,QAAQ,uBAAuB,EAAE;AACjC,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,qCAAqC,CAAC;AAC9D,QAAQ,YAAY,EAAE,CAAC,oCAAoC,CAAC;AAC5D,QAAQ,yBAAyB,EAAE;AACnC,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,yCAAyC,CAAC;AACtE,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,yBAAyB,EAAE,CAAC,oCAAoC,CAAC;AACzE,QAAQ,wBAAwB,EAAE;AAClC,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,mCAAmC,CAAC;AAC1D,QAAQ,gBAAgB,EAAE,CAAC,wCAAwC,CAAC;AACpE,QAAQ,cAAc,EAAE,CAAC,gCAAgC,CAAC;AAC1D,QAAQ,sBAAsB,EAAE;AAChC,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,uCAAuC,CAAC;AAClE,QAAQ,wBAAwB,EAAE,CAAC,iBAAiB,CAAC;AACrD,QAAQ,UAAU,EAAE,CAAC,uBAAuB,CAAC;AAC7C,QAAQ,WAAW,EAAE,CAAC,6BAA6B,CAAC;AACpD,QAAQ,SAAS,EAAE,CAAC,iCAAiC,CAAC;AACtD,QAAQ,eAAe,EAAE,CAAC,uCAAuC,CAAC;AAClE,QAAQ,mCAAmC,EAAE,CAAC,kCAAkC,CAAC;AACjF,QAAQ,aAAa,EAAE,CAAC,qCAAqC,CAAC;AAC9D,QAAQ,eAAe,EAAE,CAAC,wCAAwC,CAAC;AACnE,QAAQ,UAAU,EAAE,CAAC,mBAAmB,CAAC;AACzC,QAAQ,oCAAoC,EAAE;AAC9C,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,oCAAoC,CAAC;AAC5D,QAAQ,QAAQ,EAAE,CAAC,gCAAgC,CAAC;AACpD,QAAQ,SAAS,EAAE,CAAC,iCAAiC,CAAC;AACtD,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,iCAAiC,CAAC;AACzD,QAAQ,KAAK,EAAE,CAAC,mCAAmC,CAAC;AACpD,QAAQ,aAAa,EAAE,CAAC,2CAA2C,CAAC;AACpE,QAAQ,WAAW,EAAE,CAAC,kDAAkD,CAAC;AACzE,QAAQ,wBAAwB,EAAE;AAClC,YAAY,8EAA8E;AAC1F,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,6EAA6E;AACzF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE;AACjC,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,uDAAuD;AACnE,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,2FAA2F;AACvG,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE;AACrC,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,kFAAkF;AAC9F,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,8EAA8E;AAC1F,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,8EAA8E;AAC1F,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,qDAAqD,CAAC;AAC7E,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,kCAAkC;AAC9C,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;AAClD,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,yCAAyC,CAAC;AACtE,QAAQ,wBAAwB,EAAE;AAClC,YAAY,wEAAwE;AACpF,SAAS;AACT,QAAQ,wBAAwB,EAAE;AAClC,YAAY,0EAA0E;AACtF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE;AACjC,SAAS;AACT,QAAQ,sBAAsB,EAAE;AAChC,YAAY,wFAAwF;AACpG,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE;AACrC,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,2EAA2E;AACvF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,2EAA2E;AACvF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,kDAAkD,CAAC;AAC7E,QAAQ,QAAQ,EAAE,CAAC,qCAAqC,CAAC;AACzD,QAAQ,MAAM,EAAE,CAAC,6BAA6B,CAAC;AAC/C,QAAQ,sBAAsB,EAAE;AAChC,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,mDAAmD,CAAC;AAClF,QAAQ,+BAA+B,EAAE,CAAC,iCAAiC,CAAC;AAC5E,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,wFAAwF;AACpG,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,mDAAmD,CAAC;AAC5E,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,iFAAiF;AAC7F,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,6BAA6B,CAAC,EAAE;AACjE,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,iFAAiF;AAC7F,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,6CAA6C,CAAC;AACtE,QAAQ,0BAA0B,EAAE;AACpC,YAAY,oDAAoD;AAChE,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,sEAAsE;AAClF,YAAY,EAAE,OAAO,EAAE,4BAA4B,EAAE;AACrD,SAAS;AACT,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,QAAQ,IAAI,EAAE,CAAC,kBAAkB,CAAC;AAClC,QAAQ,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACxC,QAAQ,qBAAqB,EAAE,CAAC,oBAAoB,CAAC;AACrD,QAAQ,MAAM,EAAE,CAAC,oBAAoB,CAAC;AACtC,QAAQ,KAAK,EAAE,CAAC,0BAA0B,CAAC;AAC3C,QAAQ,MAAM,EAAE,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC9E,QAAQ,KAAK,EAAE,CAAC,mBAAmB,CAAC;AACpC,KAAK;AACL,IAAI,cAAc,EAAE;AACpB,QAAQ,QAAQ,EAAE;AAClB,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,wCAAwC,CAAC;AACpE,QAAQ,iBAAiB,EAAE,CAAC,kDAAkD,CAAC;AAC/E,QAAQ,WAAW,EAAE;AACrB,YAAY,mEAAmE;AAC/E,SAAS;AACT,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,kCAAkC,EAAE;AAC5C,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,+BAA+B,EAAE;AACzC,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,+BAA+B,EAAE;AACzC,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,MAAM,EAAE,CAAC,wBAAwB,CAAC;AAC1C,QAAQ,4BAA4B,EAAE;AACtC,YAAY,6EAA6E;AACzF,SAAS;AACT,QAAQ,qBAAqB,EAAE,CAAC,gDAAgD,CAAC;AACjF,QAAQ,4BAA4B,EAAE;AACtC,YAAY,gGAAgG;AAC5G,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,sEAAsE;AAClF,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,sCAAsC,CAAC;AAC7D,QAAQ,SAAS,EAAE,CAAC,mCAAmC,CAAC;AACxD,QAAQ,yBAAyB,EAAE;AACnC,YAAY,6FAA6F;AACzG,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,IAAI,EAAE,CAAC,uBAAuB,CAAC;AACvC,QAAQ,cAAc,EAAE,CAAC,yCAAyC,CAAC;AACnE,QAAQ,2BAA2B,EAAE;AACrC,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,oBAAoB,EAAE,CAAC,+CAA+C,CAAC;AAC/E,QAAQ,wBAAwB,EAAE,CAAC,iBAAiB,CAAC;AACrD,QAAQ,gBAAgB,EAAE,CAAC,2CAA2C,CAAC;AACvE,QAAQ,2BAA2B,EAAE;AACrC,YAAY,+CAA+C;AAC3D,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,4CAA4C,CAAC;AACzE,QAAQ,cAAc,EAAE,CAAC,yCAAyC,CAAC;AACnE,QAAQ,4BAA4B,EAAE;AACtC,YAAY,6DAA6D;AACzE,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,+FAA+F;AAC3G,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,qEAAqE;AACjF,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,qCAAqC,CAAC;AAC5D,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,wBAAwB,EAAE;AAClC,YAAY,mBAAmB;AAC/B,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,8BAA8B,CAAC,EAAE;AAClE,SAAS;AACT,QAAQ,4BAA4B,EAAE,CAAC,mBAAmB,CAAC;AAC3D,QAAQ,KAAK,EAAE,CAAC,6BAA6B,CAAC;AAC9C,QAAQ,YAAY,EAAE,CAAC,6BAA6B,CAAC;AACrD,QAAQ,qBAAqB,EAAE,CAAC,+CAA+C,CAAC;AAChF,QAAQ,oCAAoC,EAAE,CAAC,gCAAgC,CAAC;AAChF,QAAQ,4BAA4B,EAAE;AACtC,YAAY,qBAAqB;AACjC,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,kCAAkC,CAAC,EAAE;AACtE,SAAS;AACT,QAAQ,gCAAgC,EAAE,CAAC,qBAAqB,CAAC;AACjE,QAAQ,kCAAkC,EAAE;AAC5C,YAAY,iBAAiB;AAC7B,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,wCAAwC,CAAC,EAAE;AAC5E,SAAS;AACT,QAAQ,sCAAsC,EAAE,CAAC,iBAAiB,CAAC;AACnE,QAAQ,2BAA2B,EAAE;AACrC,YAAY,qBAAqB;AACjC,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,iCAAiC,CAAC,EAAE;AACrE,SAAS;AACT,QAAQ,+BAA+B,EAAE,CAAC,qBAAqB,CAAC;AAChE,QAAQ,4BAA4B,EAAE;AACtC,YAAY,oCAAoC;AAChD,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,kCAAkC,CAAC,EAAE;AACtE,SAAS;AACT,QAAQ,gCAAgC,EAAE,CAAC,oCAAoC,CAAC;AAChF,QAAQ,kCAAkC,EAAE;AAC5C,YAAY,4BAA4B;AACxC,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,wCAAwC,CAAC,EAAE;AAC5E,SAAS;AACT,QAAQ,sCAAsC,EAAE,CAAC,4BAA4B,CAAC;AAC9E,QAAQ,MAAM,EAAE,CAAC,gCAAgC,CAAC;AAClD,QAAQ,gBAAgB,EAAE,CAAC,WAAW,CAAC;AACvC,QAAQ,aAAa,EAAE,CAAC,uBAAuB,CAAC;AAChD,QAAQ,iBAAiB,EAAE,CAAC,iCAAiC,CAAC;AAC9D,QAAQ,yBAAyB,EAAE;AACnC,YAAY,iCAAiC;AAC7C,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,+BAA+B,CAAC,EAAE;AACnE,SAAS;AACT,QAAQ,6BAA6B,EAAE,CAAC,iCAAiC,CAAC;AAC1E,QAAQ,+BAA+B,EAAE;AACzC,YAAY,yBAAyB;AACrC,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,qCAAqC,CAAC,EAAE;AACzE,SAAS;AACT,QAAQ,mCAAmC,EAAE,CAAC,yBAAyB,CAAC;AACxE,QAAQ,IAAI,EAAE,CAAC,YAAY,CAAC;AAC5B,QAAQ,0BAA0B,EAAE;AACpC,YAAY,kBAAkB;AAC9B,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,gCAAgC,CAAC,EAAE;AACpE,SAAS;AACT,QAAQ,8BAA8B,EAAE,CAAC,kBAAkB,CAAC;AAC5D,QAAQ,0BAA0B,EAAE;AACpC,YAAY,kBAAkB;AAC9B,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,gCAAgC,CAAC,EAAE;AACpE,SAAS;AACT,QAAQ,8BAA8B,EAAE,CAAC,kBAAkB,CAAC;AAC5D,QAAQ,2BAA2B,EAAE;AACrC,YAAY,qBAAqB;AACjC,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,iCAAiC,CAAC,EAAE;AACrE,SAAS;AACT,QAAQ,+BAA+B,EAAE,CAAC,qBAAqB,CAAC;AAChE,QAAQ,iCAAiC,EAAE,CAAC,qBAAqB,CAAC;AAClE,QAAQ,oBAAoB,EAAE,CAAC,iCAAiC,CAAC;AACjE,QAAQ,oBAAoB,EAAE,CAAC,iCAAiC,CAAC;AACjE,QAAQ,2BAA2B,EAAE;AACrC,YAAY,oBAAoB;AAChC,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,iCAAiC,CAAC,EAAE;AACrE,SAAS;AACT,QAAQ,+BAA+B,EAAE,CAAC,oBAAoB,CAAC;AAC/D,QAAQ,kBAAkB,EAAE,CAAC,gCAAgC,CAAC;AAC9D,QAAQ,gCAAgC,EAAE;AAC1C,YAAY,yBAAyB;AACrC,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,sCAAsC,CAAC,EAAE;AAC1E,SAAS;AACT,QAAQ,oCAAoC,EAAE,CAAC,yBAAyB,CAAC;AACzE,QAAQ,qBAAqB,EAAE,CAAC,4BAA4B,CAAC;AAC7D,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,gBAAgB;AAC5B,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,uCAAuC,CAAC,EAAE;AAC3E,SAAS;AACT,QAAQ,qCAAqC,EAAE,CAAC,gBAAgB,CAAC;AACjE,QAAQ,yCAAyC,EAAE;AACnD,YAAY,8BAA8B;AAC1C,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,+CAA+C,CAAC,EAAE;AACnF,SAAS;AACT,QAAQ,6CAA6C,EAAE;AACvD,YAAY,8BAA8B;AAC1C,SAAS;AACT,QAAQ,OAAO,EAAE,CAAC,gCAAgC,CAAC;AACnD,QAAQ,QAAQ,EAAE,CAAC,mCAAmC,CAAC;AACvD,QAAQ,mBAAmB,EAAE,CAAC,aAAa,CAAC;AAC5C,KAAK;AACL,CAAC;;ACx5CM,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACApC,SAAS,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE;AAC1D,IAAI,MAAM,UAAU,GAAG,EAAE,CAAC;AAC1B,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACnE,QAAQ,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACxE,YAAY,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC;AAC5D,YAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnD,YAAY,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC9E,YAAY,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;AACpC,gBAAgB,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AACvC,aAAa;AACb,YAAY,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AACnD,YAAY,IAAI,WAAW,EAAE;AAC7B,gBAAgB,YAAY,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;AAC/G,gBAAgB,SAAS;AACzB,aAAa;AACb,YAAY,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAClF,SAAS;AACT,KAAK;AACL,IAAI,OAAO,UAAU,CAAC;AACtB,CAAC;AACD,SAAS,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE;AACrE,IAAI,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnE;AACA,IAAI,SAAS,eAAe,CAAC,GAAG,IAAI,EAAE;AACtC;AACA,QAAQ,IAAI,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAClE;AACA,QAAQ,IAAI,WAAW,CAAC,SAAS,EAAE;AACnC,YAAY,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;AACjD,gBAAgB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;AACpD,gBAAgB,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS;AAClD,aAAa,CAAC,CAAC;AACf,YAAY,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAChD,SAAS;AACT,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;AACjC,YAAY,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;AAClE,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5H,SAAS;AACT,QAAQ,IAAI,WAAW,CAAC,UAAU,EAAE;AACpC,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,WAAW,CAAC,iBAAiB,EAAE;AAC3C;AACA,YAAY,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,YAAY,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;AACvF,gBAAgB,IAAI,IAAI,IAAI,OAAO,EAAE;AACrC,oBAAoB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACzI,oBAAoB,IAAI,EAAE,KAAK,IAAI,OAAO,CAAC,EAAE;AAC7C,wBAAwB,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACvD,qBAAqB;AACrB,oBAAoB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAChD,SAAS;AACT;AACA,QAAQ,OAAO,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5C,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAC/D,CAAC;;ACxDM,SAAS,mBAAmB,CAAC,OAAO,EAAE;AAC7C,IAAI,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAEA,SAAS,CAAC,CAAC;AACvD,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,GAAG;AACjB,KAAK,CAAC;AACN,CAAC;AACD,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC;AACtC,AAAO,SAAS,yBAAyB,CAAC,OAAO,EAAE;AACnD,IAAI,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAEA,SAAS,CAAC,CAAC;AACvD,IAAI,OAAO;AACX,QAAQ,GAAG,GAAG;AACd,QAAQ,IAAI,EAAE,GAAG;AACjB,KAAK,CAAC;AACN,CAAC;AACD,yBAAyB,CAAC,OAAO,GAAG,OAAO,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/package.json b/node_modules/@octokit/plugin-rest-endpoint-methods/package.json new file mode 100644 index 00000000..eb236752 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/package.json @@ -0,0 +1,60 @@ +{ + "name": "@octokit/plugin-rest-endpoint-methods", + "description": "Octokit plugin adding one method for all of api.github.com REST API endpoints", + "version": "5.13.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "repository": "github:octokit/plugin-rest-endpoint-methods.js", + "dependencies": { + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + }, + "devDependencies": { + "@gimenete/type-writer": "^0.1.5", + "@octokit/core": "^3.0.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^27.0.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "fs-extra": "^10.0.0", + "github-openapi-graphql-query": "^1.0.5", + "jest": "^27.0.0", + "lodash.camelcase": "^4.3.0", + "lodash.set": "^4.3.2", + "lodash.upperfirst": "^4.3.1", + "mustache": "^4.0.0", + "npm-run-all": "^4.1.5", + "prettier": "2.4.1", + "semantic-release": "^18.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.2.0", + "string-to-jsdoc-comment": "^1.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/request-error/LICENSE new file mode 100644 index 00000000..ef2c18ee --- /dev/null +++ b/node_modules/@octokit/request-error/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/request-error/README.md new file mode 100644 index 00000000..1bf53843 --- /dev/null +++ b/node_modules/@octokit/request-error/README.md @@ -0,0 +1,67 @@ +# http-error.js + +> Error class for Octokit request errors + +[![@latest](https://img.shields.io/npm/v/@octokit/request-error.svg)](https://www.npmjs.com/package/@octokit/request-error) +[![Build Status](https://github.com/octokit/request-error.js/workflows/Test/badge.svg)](https://github.com/octokit/request-error.js/actions?query=workflow%3ATest) + +## Usage + + + + + + +
+Browsers + +Load @octokit/request-error directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/request-error + +```js +const { RequestError } = require("@octokit/request-error"); +// or: import { RequestError } from "@octokit/request-error"; +``` + +
+ +```js +const error = new RequestError("Oops", 500, { + headers: { + "x-github-request-id": "1:2:3:4", + }, // response headers + request: { + method: "POST", + url: "https://api.github.com/foo", + body: { + bar: "baz", + }, + headers: { + authorization: "token secret123", + }, + }, +}); + +error.message; // Oops +error.status; // 500 +error.request.method; // POST +error.request.url; // https://api.github.com/foo +error.request.body; // { bar: 'baz' } +error.request.headers; // { authorization: 'token [REDACTED]' } +error.response; // { url, status, headers, data } +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@octokit/request-error/dist-node/index.js new file mode 100644 index 00000000..619f462b --- /dev/null +++ b/node_modules/@octokit/request-error/dist-node/index.js @@ -0,0 +1,74 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deprecation = require('deprecation'); +var once = _interopDefault(require('once')); + +const logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = once(deprecation => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ + +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = "HttpError"; + this.status = statusCode; + let headers; + + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } // redact request credentials without mutating original request options + + + const requestCopy = Object.assign({}, options.request); + + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") + }); + } + + requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; // deprecations + + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + + }); + } + +} + +exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request-error/dist-node/index.js.map b/node_modules/@octokit/request-error/dist-node/index.js.map new file mode 100644 index 00000000..9134ddb4 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n // deprecations\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n },\n });\n }\n}\n"],"names":["logOnceCode","once","deprecation","console","warn","logOnceHeaders","RequestError","Error","constructor","message","statusCode","options","captureStackTrace","name","status","headers","response","requestCopy","Object","assign","request","authorization","replace","url","defineProperty","get","Deprecation"],"mappings":";;;;;;;;;AAEA,MAAMA,WAAW,GAAGC,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAAxB;AACA,MAAMG,cAAc,GAAGJ,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAA3B;AACA;AACA;AACA;;AACO,MAAMI,YAAN,SAA2BC,KAA3B,CAAiC;AACpCC,EAAAA,WAAW,CAACC,OAAD,EAAUC,UAAV,EAAsBC,OAAtB,EAA+B;AACtC,UAAMF,OAAN,EADsC;;AAGtC;;AACA,QAAIF,KAAK,CAACK,iBAAV,EAA6B;AACzBL,MAAAA,KAAK,CAACK,iBAAN,CAAwB,IAAxB,EAA8B,KAAKJ,WAAnC;AACH;;AACD,SAAKK,IAAL,GAAY,WAAZ;AACA,SAAKC,MAAL,GAAcJ,UAAd;AACA,QAAIK,OAAJ;;AACA,QAAI,aAAaJ,OAAb,IAAwB,OAAOA,OAAO,CAACI,OAAf,KAA2B,WAAvD,EAAoE;AAChEA,MAAAA,OAAO,GAAGJ,OAAO,CAACI,OAAlB;AACH;;AACD,QAAI,cAAcJ,OAAlB,EAA2B;AACvB,WAAKK,QAAL,GAAgBL,OAAO,CAACK,QAAxB;AACAD,MAAAA,OAAO,GAAGJ,OAAO,CAACK,QAAR,CAAiBD,OAA3B;AACH,KAhBqC;;;AAkBtC,UAAME,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBR,OAAO,CAACS,OAA1B,CAApB;;AACA,QAAIT,OAAO,CAACS,OAAR,CAAgBL,OAAhB,CAAwBM,aAA5B,EAA2C;AACvCJ,MAAAA,WAAW,CAACF,OAAZ,GAAsBG,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBR,OAAO,CAACS,OAAR,CAAgBL,OAAlC,EAA2C;AAC7DM,QAAAA,aAAa,EAAEV,OAAO,CAACS,OAAR,CAAgBL,OAAhB,CAAwBM,aAAxB,CAAsCC,OAAtC,CAA8C,MAA9C,EAAsD,aAAtD;AAD8C,OAA3C,CAAtB;AAGH;;AACDL,IAAAA,WAAW,CAACM,GAAZ,GAAkBN,WAAW,CAACM,GAAZ;AAEd;AAFc,KAGbD,OAHa,CAGL,sBAHK,EAGmB,0BAHnB;AAKd;AALc,KAMbA,OANa,CAML,qBANK,EAMkB,yBANlB,CAAlB;AAOA,SAAKF,OAAL,GAAeH,WAAf,CA/BsC;;AAiCtCC,IAAAA,MAAM,CAACM,cAAP,CAAsB,IAAtB,EAA4B,MAA5B,EAAoC;AAChCC,MAAAA,GAAG,GAAG;AACFzB,QAAAA,WAAW,CAAC,IAAI0B,uBAAJ,CAAgB,0EAAhB,CAAD,CAAX;AACA,eAAOhB,UAAP;AACH;;AAJ+B,KAApC;AAMAQ,IAAAA,MAAM,CAACM,cAAP,CAAsB,IAAtB,EAA4B,SAA5B,EAAuC;AACnCC,MAAAA,GAAG,GAAG;AACFpB,QAAAA,cAAc,CAAC,IAAIqB,uBAAJ,CAAgB,uFAAhB,CAAD,CAAd;AACA,eAAOX,OAAO,IAAI,EAAlB;AACH;;AAJkC,KAAvC;AAMH;;AA9CmC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/request-error/dist-src/index.js new file mode 100644 index 00000000..5eb19276 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-src/index.js @@ -0,0 +1,55 @@ +import { Deprecation } from "deprecation"; +import once from "once"; +const logOnceCode = once((deprecation) => console.warn(deprecation)); +const logOnceHeaders = once((deprecation) => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ +export class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + // redact request credentials without mutating original request options + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]"), + }); + } + requestCopy.url = requestCopy.url + // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") + // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + }, + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + }, + }); + } +} diff --git a/node_modules/@octokit/request-error/dist-src/types.js b/node_modules/@octokit/request-error/dist-src/types.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/request-error/dist-types/index.d.ts b/node_modules/@octokit/request-error/dist-types/index.d.ts new file mode 100644 index 00000000..d6e089c9 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-types/index.d.ts @@ -0,0 +1,33 @@ +import { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; +import { RequestErrorOptions } from "./types"; +/** + * Error with extra properties to help with debugging + */ +export declare class RequestError extends Error { + name: "HttpError"; + /** + * http status code + */ + status: number; + /** + * http status code + * + * @deprecated `error.code` is deprecated in favor of `error.status` + */ + code: number; + /** + * Request options that lead to the error. + */ + request: RequestOptions; + /** + * error response headers + * + * @deprecated `error.headers` is deprecated in favor of `error.response.headers` + */ + headers: ResponseHeaders; + /** + * Response object if a response was received + */ + response?: OctokitResponse; + constructor(message: string, statusCode: number, options: RequestErrorOptions); +} diff --git a/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/request-error/dist-types/types.d.ts new file mode 100644 index 00000000..7785231f --- /dev/null +++ b/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -0,0 +1,9 @@ +import { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; +export declare type RequestErrorOptions = { + /** @deprecated set `response` instead */ + headers?: ResponseHeaders; + request: RequestOptions; +} | { + response: OctokitResponse; + request: RequestOptions; +}; diff --git a/node_modules/@octokit/request-error/dist-web/index.js b/node_modules/@octokit/request-error/dist-web/index.js new file mode 100644 index 00000000..0fb64be8 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-web/index.js @@ -0,0 +1,59 @@ +import { Deprecation } from 'deprecation'; +import once from 'once'; + +const logOnceCode = once((deprecation) => console.warn(deprecation)); +const logOnceHeaders = once((deprecation) => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + // redact request credentials without mutating original request options + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]"), + }); + } + requestCopy.url = requestCopy.url + // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") + // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + }, + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + }, + }); + } +} + +export { RequestError }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request-error/dist-web/index.js.map b/node_modules/@octokit/request-error/dist-web/index.js.map new file mode 100644 index 00000000..78f677f4 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n // deprecations\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n },\n });\n }\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACrE,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACxE;AACA;AACA;AACO,MAAM,YAAY,SAAS,KAAK,CAAC;AACxC,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;AAC9C,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;AAChC,QAAQ,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;AACjC,QAAQ,IAAI,OAAO,CAAC;AACpB,QAAQ,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE;AAC5E,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtC,SAAS;AACT,QAAQ,IAAI,UAAU,IAAI,OAAO,EAAE;AACnC,YAAY,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC7C,YAAY,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/C,SAAS;AACT;AACA,QAAQ,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/D,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;AACnD,YAAY,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;AAC7E,gBAAgB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;AACnG,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;AACzC;AACA;AACA,aAAa,OAAO,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;AACxE;AACA;AACA,aAAa,OAAO,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;AACnC;AACA,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;AAC5C,YAAY,GAAG,GAAG;AAClB,gBAAgB,WAAW,CAAC,IAAI,WAAW,CAAC,0EAA0E,CAAC,CAAC,CAAC;AACzH,gBAAgB,OAAO,UAAU,CAAC;AAClC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;AAC/C,YAAY,GAAG,GAAG;AAClB,gBAAgB,cAAc,CAAC,IAAI,WAAW,CAAC,uFAAuF,CAAC,CAAC,CAAC;AACzI,gBAAgB,OAAO,OAAO,IAAI,EAAE,CAAC;AACrC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/request-error/package.json new file mode 100644 index 00000000..2f5b2394 --- /dev/null +++ b/node_modules/@octokit/request-error/package.json @@ -0,0 +1,47 @@ +{ + "name": "@octokit/request-error", + "description": "Error class for Octokit request errors", + "version": "2.1.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "error" + ], + "repository": "github:octokit/request-error.js", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-bundle-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/jest": "^26.0.0", + "@types/node": "^14.0.4", + "@types/once": "^1.4.0", + "jest": "^27.0.0", + "pika-plugin-unpkg-field": "^1.1.0", + "prettier": "2.3.1", + "semantic-release": "^17.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.0" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/request/LICENSE new file mode 100644 index 00000000..af5366d0 --- /dev/null +++ b/node_modules/@octokit/request/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2018 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/@octokit/request/README.md b/node_modules/@octokit/request/README.md new file mode 100644 index 00000000..747a670c --- /dev/null +++ b/node_modules/@octokit/request/README.md @@ -0,0 +1,551 @@ +# request.js + +> Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node + +[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request) +[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amaster) + +`@octokit/request` is a request library for browsers & node that makes it easier +to interact with [GitHub’s REST API](https://developer.github.com/v3/) and +[GitHub’s GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint). + +It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse +the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) +([node-fetch](https://github.com/bitinn/node-fetch) in Node). + + + + + +- [Features](#features) +- [Usage](#usage) + - [REST API example](#rest-api-example) + - [GraphQL example](#graphql-example) + - [Alternative: pass `method` & `url` as part of options](#alternative-pass-method--url-as-part-of-options) +- [Authentication](#authentication) +- [request()](#request) +- [`request.defaults()`](#requestdefaults) +- [`request.endpoint`](#requestendpoint) +- [Special cases](#special-cases) + - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) + - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) +- [LICENSE](#license) + + + +## Features + +🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes + +```js +request("POST /repos/{owner}/{repo}/issues/{number}/labels", { + mediaType: { + previews: ["symmetra"], + }, + owner: "octokit", + repo: "request.js", + number: 1, + labels: ["🐛 bug"], +}); +``` + +👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) + +😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). + +👍 Sensible defaults + +- `baseUrl`: `https://api.github.com` +- `headers.accept`: `application/vnd.github.v3+json` +- `headers.agent`: `octokit-request.js/ `, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)` + +👌 Simple to test: mock requests by passing a custom fetch method. + +🧐 Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials). + +## Usage + + + + + + +
+Browsers + +Load @octokit/request directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/request + +```js +const { request } = require("@octokit/request"); +// or: import { request } from "@octokit/request"; +``` + +
+ +### REST API example + +```js +// Following GitHub docs formatting: +// https://developer.github.com/v3/repos/#list-organization-repositories +const result = await request("GET /orgs/{org}/repos", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); + +console.log(`${result.data.length} repos found.`); +``` + +### GraphQL example + +For GraphQL request we recommend using [`@octokit/graphql`](https://github.com/octokit/graphql.js#readme) + +```js +const result = await request("POST /graphql", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + query: `query ($login: String!) { + organization(login: $login) { + repositories(privacy: PRIVATE) { + totalCount + } + } + }`, + variables: { + login: "octokit", + }, +}); +``` + +### Alternative: pass `method` & `url` as part of options + +Alternatively, pass in a method and a url + +```js +const result = await request({ + method: "GET", + url: "/orgs/{org}/repos", + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); +``` + +## Authentication + +The simplest way to authenticate a request is to set the `Authorization` header directly, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const requestWithAuth = request.defaults({ + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, +}); +const result = await requestWithAuth("GET /user"); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +const { createAppAuth } = require("@octokit/auth-app"); +const auth = createAppAuth({ + appId: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, + mediaType: { + previews: ["machine-man"], + }, +}); + +const { data: app } = await requestWithAuth("GET /app"); +const { data: app } = await requestWithAuth( + "POST /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + title: "Hello from the engine room", + } +); +``` + +## request() + +`request(route, options)` or `request(options)`. + +**Options** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + **Required**. If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/{org} +
+ options.baseUrl + + String + + The base URL that route or url will be prefixed with, if they use relative paths. Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-rest.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
Use options.mediaType.{format,previews} to request API previews and custom media types. +
+ options.mediaType.format + + String + + Media type param, such as `raw`, `html`, or `full`. See Media Types. +
+ options.mediaType.previews + + Array of strings + + Name of previews, such as `mercy`, `symmetra`, or `scarlet-witch`. See API Previews. +
+ options.method + + String + + Any supported http verb, case insensitive. Defaults to Get. +
+ options.url + + String + + **Required**. A path or full URL which may contain :variable or {variable} placeholders, + e.g. /orgs/{org}/repos. The url is parsed using url-template. +
+ options.data + + Any + + Set request body directly instead of setting it to JSON based on additional parameters. See "The `data` parameter" below. +
+ options.request.agent + + http(s).Agent instance + + Node only. Useful for custom proxy, certificate, or dns lookup. +
+ options.request.fetch + + Function + + Custom replacement for built-in fetch method. Useful for testing or request hooks. +
+ options.request.hook + + Function + + Function with the signature hook(request, endpointOptions), where endpointOptions are the parsed options as returned by endpoint.merge(), and request is request(). This option works great in conjuction with before-after-hook. +
+ options.request.signal + + new AbortController().signal + + Use an AbortController instance to cancel a request. In node you can only cancel streamed requests. +
+ options.request.log + + object + + Used for internal logging. Defaults to console. +
+ options.request.timeout + + Number + + Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). options.request.signal is recommended instead. +
+ +All other options except `options.request.*` will be passed depending on the `method` and `url` options. + +1. If the option key is a placeholder in the `url`, it will be used as replacement. For example, if the passed options are `{url: '/orgs/{org}/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos` +2. If the `method` is `GET` or `HEAD`, the option is passed as query parameter +3. Otherwise the parameter is passed in the request body as JSON key. + +**Result** + +`request` returns a promise and resolves with 4 keys + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
statusIntegerResponse status status
urlStringURL of response. If a request results in redirects, this is the final URL. You can send a HEAD request to retrieve it without loading the full response body.
headersObjectAll response headers
dataAnyThe response body as returned from server. If the response is JSON then it will be parsed into an object
+ +If an error occurs, the `error` instance has additional properties to help with debugging + +- `error.status` The http response status code +- `error.request` The request options such as `method`, `url` and `data` +- `error.response` The http response object with `url`, `headers`, and `data` + +## `request.defaults()` + +Override or set default options. Example: + +```js +const myrequest = require("@octokit/request").defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-project", + per_page: 100, +}); + +myrequest(`GET /orgs/{org}/repos`); +``` + +You can call `.defaults()` again on the returned method, the defaults will cascade. + +```js +const myProjectRequest = request.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +const myProjectRequestWithAuth = myProjectRequest.defaults({ + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, +}); +``` + +`myProjectRequest` now defaults the `baseUrl`, `headers['user-agent']`, +`org` and `headers['authorization']` on top of `headers['accept']` that is set +by the global default. + +## `request.endpoint` + +See https://github.com/octokit/endpoint.js. Example + +```js +const options = request.endpoint("GET /orgs/{org}/repos", { + org: "my-project", + type: "private", +}); + +// { +// method: 'GET', +// url: 'https://api.github.com/orgs/my-project/repos?type=private', +// headers: { +// accept: 'application/vnd.github.v3+json', +// authorization: 'token 0000000000000000000000000000000000000001', +// 'user-agent': 'octokit/endpoint.js v1.2.3' +// } +// } +``` + +All of the [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) API can be used: + +- [`octokitRequest.endpoint()`](#endpoint) +- [`octokitRequest.endpoint.defaults()`](#endpointdefaults) +- [`octokitRequest.endpoint.merge()`](#endpointdefaults) +- [`octokitRequest.endpoint.parse()`](#endpointmerge) + +## Special cases + + + +### The `data` parameter – set request body directly + +Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) don’t have parameters that are sent as request body keys, instead the request body needs to be set directly. In these cases, set the `data` parameter. + +```js +const response = await request("POST /markdown/raw", { + data: "Hello world github/linguist#1 **cool**, and #1!", + headers: { + accept: "text/html;charset=utf-8", + "content-type": "text/plain", + }, +}); + +// Request is sent as +// +// { +// method: 'post', +// url: 'https://api.github.com/markdown/raw', +// headers: { +// accept: 'text/html;charset=utf-8', +// 'content-type': 'text/plain', +// 'user-agent': userAgent +// }, +// body: 'Hello world github/linguist#1 **cool**, and #1!' +// } +// +// not as +// +// { +// ... +// body: '{"data": "Hello world github/linguist#1 **cool**, and #1!"}' +// } +``` + +### Set parameters for both the URL/query and the request body + +There are API endpoints that accept both query parameters as well as a body. In that case you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570). + +Example + +```js +request( + "POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + { + name: "example.zip", + label: "short description", + headers: { + "content-type": "text/plain", + "content-length": 14, + authorization: `token 0000000000000000000000000000000000000001`, + }, + data: "Hello, world!", + } +); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/request/dist-node/index.js b/node_modules/@octokit/request/dist-node/index.js new file mode 100644 index 00000000..685e2f58 --- /dev/null +++ b/node_modules/@octokit/request/dist-node/index.js @@ -0,0 +1,177 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var endpoint = require('@octokit/endpoint'); +var universalUserAgent = require('universal-user-agent'); +var isPlainObject = require('is-plain-object'); +var nodeFetch = _interopDefault(require('node-fetch')); +var requestError = require('@octokit/request-error'); + +const VERSION = "5.6.3"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + + if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + + let headers = {}; + let status; + let url; + const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)).then(async response => { + url = response.url; + status = response.status; + + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + + if (status === 204 || status === 205) { + return; + } // GitHub API returns 200 for HEAD requests + + + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + + throw new requestError.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined + }, + request: requestOptions + }); + } + + if (status === 304) { + throw new requestError.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + + if (status >= 400) { + const data = await getResponseData(response); + const error = new requestError.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + + return getResponseData(response); + }).then(data => { + return { + status, + url, + headers, + data + }; + }).catch(error => { + if (error instanceof requestError.RequestError) throw error; + throw new requestError.RequestError(error.message, 500, { + request: requestOptions + }); + }); +} + +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + + if (/application\/json/.test(contentType)) { + return response.json(); + } + + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + + return getBufferResponse(response); +} + +function toErrorMessage(data) { + if (typeof data === "string") return data; // istanbul ignore else - just in case + + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + + return data.message; + } // istanbul ignore next - just in case + + + return `Unknown error: ${JSON.stringify(data)}`; +} + +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); +} + +const request = withDefaults(endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` + } +}); + +exports.request = request; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/dist-node/index.js.map b/node_modules/@octokit/request/dist-node/index.js.map new file mode 100644 index 00000000..9a51ed14 --- /dev/null +++ b/node_modules/@octokit/request/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.6.3\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log\n ? requestOptions.request.log\n : console;\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, \n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request))\n .then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined,\n },\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response),\n },\n request: requestOptions,\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data,\n },\n request: requestOptions,\n });\n throw error;\n }\n return getResponseData(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError)\n throw error;\n throw new RequestError(error.message, 500, {\n request: requestOptions,\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n // istanbul ignore else - just in case\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n // istanbul ignore next - just in case\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n"],"names":["VERSION","getBufferResponse","response","arrayBuffer","fetchWrapper","requestOptions","log","request","console","isPlainObject","body","Array","isArray","JSON","stringify","headers","status","url","fetch","nodeFetch","Object","assign","method","redirect","then","keyAndValue","matches","link","match","deprecationLink","pop","warn","sunset","RequestError","statusText","data","undefined","getResponseData","error","toErrorMessage","catch","message","contentType","get","test","json","text","getBuffer","errors","map","join","withDefaults","oldEndpoint","newDefaults","endpoint","defaults","newApi","route","parameters","endpointOptions","merge","hook","parse","bind","getUserAgent"],"mappings":";;;;;;;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAQ,SAASC,iBAAT,CAA2BC,QAA3B,EAAqC;AAChD,SAAOA,QAAQ,CAACC,WAAT,EAAP;AACH;;ACEc,SAASC,YAAT,CAAsBC,cAAtB,EAAsC;AACjD,QAAMC,GAAG,GAAGD,cAAc,CAACE,OAAf,IAA0BF,cAAc,CAACE,OAAf,CAAuBD,GAAjD,GACND,cAAc,CAACE,OAAf,CAAuBD,GADjB,GAENE,OAFN;;AAGA,MAAIC,2BAAa,CAACJ,cAAc,CAACK,IAAhB,CAAb,IACAC,KAAK,CAACC,OAAN,CAAcP,cAAc,CAACK,IAA7B,CADJ,EACwC;AACpCL,IAAAA,cAAc,CAACK,IAAf,GAAsBG,IAAI,CAACC,SAAL,CAAeT,cAAc,CAACK,IAA9B,CAAtB;AACH;;AACD,MAAIK,OAAO,GAAG,EAAd;AACA,MAAIC,MAAJ;AACA,MAAIC,GAAJ;AACA,QAAMC,KAAK,GAAIb,cAAc,CAACE,OAAf,IAA0BF,cAAc,CAACE,OAAf,CAAuBW,KAAlD,IAA4DC,SAA1E;AACA,SAAOD,KAAK,CAACb,cAAc,CAACY,GAAhB,EAAqBG,MAAM,CAACC,MAAP,CAAc;AAC3CC,IAAAA,MAAM,EAAEjB,cAAc,CAACiB,MADoB;AAE3CZ,IAAAA,IAAI,EAAEL,cAAc,CAACK,IAFsB;AAG3CK,IAAAA,OAAO,EAAEV,cAAc,CAACU,OAHmB;AAI3CQ,IAAAA,QAAQ,EAAElB,cAAc,CAACkB;AAJkB,GAAd;AAOjC;AACAlB,EAAAA,cAAc,CAACE,OARkB,CAArB,CAAL,CASFiB,IATE,CASG,MAAOtB,QAAP,IAAoB;AAC1Be,IAAAA,GAAG,GAAGf,QAAQ,CAACe,GAAf;AACAD,IAAAA,MAAM,GAAGd,QAAQ,CAACc,MAAlB;;AACA,SAAK,MAAMS,WAAX,IAA0BvB,QAAQ,CAACa,OAAnC,EAA4C;AACxCA,MAAAA,OAAO,CAACU,WAAW,CAAC,CAAD,CAAZ,CAAP,GAA0BA,WAAW,CAAC,CAAD,CAArC;AACH;;AACD,QAAI,iBAAiBV,OAArB,EAA8B;AAC1B,YAAMW,OAAO,GAAGX,OAAO,CAACY,IAAR,IAAgBZ,OAAO,CAACY,IAAR,CAAaC,KAAb,CAAmB,8BAAnB,CAAhC;AACA,YAAMC,eAAe,GAAGH,OAAO,IAAIA,OAAO,CAACI,GAAR,EAAnC;AACAxB,MAAAA,GAAG,CAACyB,IAAJ,CAAU,uBAAsB1B,cAAc,CAACiB,MAAO,IAAGjB,cAAc,CAACY,GAAI,qDAAoDF,OAAO,CAACiB,MAAO,GAAEH,eAAe,GAAI,SAAQA,eAAgB,EAA5B,GAAgC,EAAG,EAAnM;AACH;;AACD,QAAIb,MAAM,KAAK,GAAX,IAAkBA,MAAM,KAAK,GAAjC,EAAsC;AAClC;AACH,KAbyB;;;AAe1B,QAAIX,cAAc,CAACiB,MAAf,KAA0B,MAA9B,EAAsC;AAClC,UAAIN,MAAM,GAAG,GAAb,EAAkB;AACd;AACH;;AACD,YAAM,IAAIiB,yBAAJ,CAAiB/B,QAAQ,CAACgC,UAA1B,EAAsClB,MAAtC,EAA8C;AAChDd,QAAAA,QAAQ,EAAE;AACNe,UAAAA,GADM;AAEND,UAAAA,MAFM;AAGND,UAAAA,OAHM;AAINoB,UAAAA,IAAI,EAAEC;AAJA,SADsC;AAOhD7B,QAAAA,OAAO,EAAEF;AAPuC,OAA9C,CAAN;AASH;;AACD,QAAIW,MAAM,KAAK,GAAf,EAAoB;AAChB,YAAM,IAAIiB,yBAAJ,CAAiB,cAAjB,EAAiCjB,MAAjC,EAAyC;AAC3Cd,QAAAA,QAAQ,EAAE;AACNe,UAAAA,GADM;AAEND,UAAAA,MAFM;AAGND,UAAAA,OAHM;AAINoB,UAAAA,IAAI,EAAE,MAAME,eAAe,CAACnC,QAAD;AAJrB,SADiC;AAO3CK,QAAAA,OAAO,EAAEF;AAPkC,OAAzC,CAAN;AASH;;AACD,QAAIW,MAAM,IAAI,GAAd,EAAmB;AACf,YAAMmB,IAAI,GAAG,MAAME,eAAe,CAACnC,QAAD,CAAlC;AACA,YAAMoC,KAAK,GAAG,IAAIL,yBAAJ,CAAiBM,cAAc,CAACJ,IAAD,CAA/B,EAAuCnB,MAAvC,EAA+C;AACzDd,QAAAA,QAAQ,EAAE;AACNe,UAAAA,GADM;AAEND,UAAAA,MAFM;AAGND,UAAAA,OAHM;AAINoB,UAAAA;AAJM,SAD+C;AAOzD5B,QAAAA,OAAO,EAAEF;AAPgD,OAA/C,CAAd;AASA,YAAMiC,KAAN;AACH;;AACD,WAAOD,eAAe,CAACnC,QAAD,CAAtB;AACH,GA/DM,EAgEFsB,IAhEE,CAgEIW,IAAD,IAAU;AAChB,WAAO;AACHnB,MAAAA,MADG;AAEHC,MAAAA,GAFG;AAGHF,MAAAA,OAHG;AAIHoB,MAAAA;AAJG,KAAP;AAMH,GAvEM,EAwEFK,KAxEE,CAwEKF,KAAD,IAAW;AAClB,QAAIA,KAAK,YAAYL,yBAArB,EACI,MAAMK,KAAN;AACJ,UAAM,IAAIL,yBAAJ,CAAiBK,KAAK,CAACG,OAAvB,EAAgC,GAAhC,EAAqC;AACvClC,MAAAA,OAAO,EAAEF;AAD8B,KAArC,CAAN;AAGH,GA9EM,CAAP;AA+EH;;AACD,eAAegC,eAAf,CAA+BnC,QAA/B,EAAyC;AACrC,QAAMwC,WAAW,GAAGxC,QAAQ,CAACa,OAAT,CAAiB4B,GAAjB,CAAqB,cAArB,CAApB;;AACA,MAAI,oBAAoBC,IAApB,CAAyBF,WAAzB,CAAJ,EAA2C;AACvC,WAAOxC,QAAQ,CAAC2C,IAAT,EAAP;AACH;;AACD,MAAI,CAACH,WAAD,IAAgB,yBAAyBE,IAAzB,CAA8BF,WAA9B,CAApB,EAAgE;AAC5D,WAAOxC,QAAQ,CAAC4C,IAAT,EAAP;AACH;;AACD,SAAOC,iBAAS,CAAC7C,QAAD,CAAhB;AACH;;AACD,SAASqC,cAAT,CAAwBJ,IAAxB,EAA8B;AAC1B,MAAI,OAAOA,IAAP,KAAgB,QAApB,EACI,OAAOA,IAAP,CAFsB;;AAI1B,MAAI,aAAaA,IAAjB,EAAuB;AACnB,QAAIxB,KAAK,CAACC,OAAN,CAAcuB,IAAI,CAACa,MAAnB,CAAJ,EAAgC;AAC5B,aAAQ,GAAEb,IAAI,CAACM,OAAQ,KAAIN,IAAI,CAACa,MAAL,CAAYC,GAAZ,CAAgBpC,IAAI,CAACC,SAArB,EAAgCoC,IAAhC,CAAqC,IAArC,CAA2C,EAAtE;AACH;;AACD,WAAOf,IAAI,CAACM,OAAZ;AACH,GATyB;;;AAW1B,SAAQ,kBAAiB5B,IAAI,CAACC,SAAL,CAAeqB,IAAf,CAAqB,EAA9C;AACH;;ACrHc,SAASgB,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;AAC3D,QAAMC,QAAQ,GAAGF,WAAW,CAACG,QAAZ,CAAqBF,WAArB,CAAjB;;AACA,QAAMG,MAAM,GAAG,UAAUC,KAAV,EAAiBC,UAAjB,EAA6B;AACxC,UAAMC,eAAe,GAAGL,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAxB;;AACA,QAAI,CAACC,eAAe,CAACpD,OAAjB,IAA4B,CAACoD,eAAe,CAACpD,OAAhB,CAAwBsD,IAAzD,EAA+D;AAC3D,aAAOzD,YAAY,CAACkD,QAAQ,CAACQ,KAAT,CAAeH,eAAf,CAAD,CAAnB;AACH;;AACD,UAAMpD,OAAO,GAAG,CAACkD,KAAD,EAAQC,UAAR,KAAuB;AACnC,aAAOtD,YAAY,CAACkD,QAAQ,CAACQ,KAAT,CAAeR,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAf,CAAD,CAAnB;AACH,KAFD;;AAGAtC,IAAAA,MAAM,CAACC,MAAP,CAAcd,OAAd,EAAuB;AACnB+C,MAAAA,QADmB;AAEnBC,MAAAA,QAAQ,EAAEJ,YAAY,CAACY,IAAb,CAAkB,IAAlB,EAAwBT,QAAxB;AAFS,KAAvB;AAIA,WAAOK,eAAe,CAACpD,OAAhB,CAAwBsD,IAAxB,CAA6BtD,OAA7B,EAAsCoD,eAAtC,CAAP;AACH,GAbD;;AAcA,SAAOvC,MAAM,CAACC,MAAP,CAAcmC,MAAd,EAAsB;AACzBF,IAAAA,QADyB;AAEzBC,IAAAA,QAAQ,EAAEJ,YAAY,CAACY,IAAb,CAAkB,IAAlB,EAAwBT,QAAxB;AAFe,GAAtB,CAAP;AAIH;;MCjBY/C,OAAO,GAAG4C,YAAY,CAACG,iBAAD,EAAW;AAC1CvC,EAAAA,OAAO,EAAE;AACL,kBAAe,sBAAqBf,OAAQ,IAAGgE,+BAAY,EAAG;AADzD;AADiC,CAAX,CAA5B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/request/dist-src/fetch-wrapper.js new file mode 100644 index 00000000..79653c42 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -0,0 +1,119 @@ +import { isPlainObject } from "is-plain-object"; +import nodeFetch from "node-fetch"; +import { RequestError } from "@octokit/request-error"; +import getBuffer from "./get-buffer-response"; +export default function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log + ? requestOptions.request.log + : console; + if (isPlainObject(requestOptions.body) || + Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect, + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)) + .then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + if (status === 204 || status === 205) { + return; + } + // GitHub API returns 200 for HEAD requests + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined, + }, + request: requestOptions, + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response), + }, + request: requestOptions, + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data, + }, + request: requestOptions, + }); + throw error; + } + return getResponseData(response); + }) + .then((data) => { + return { + status, + url, + headers, + data, + }; + }) + .catch((error) => { + if (error instanceof RequestError) + throw error; + throw new RequestError(error.message, 500, { + request: requestOptions, + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBuffer(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + // istanbul ignore else - just in case + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + // istanbul ignore next - just in case + return `Unknown error: ${JSON.stringify(data)}`; +} diff --git a/node_modules/@octokit/request/dist-src/get-buffer-response.js b/node_modules/@octokit/request/dist-src/get-buffer-response.js new file mode 100644 index 00000000..845a3947 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/get-buffer-response.js @@ -0,0 +1,3 @@ +export default function getBufferResponse(response) { + return response.arrayBuffer(); +} diff --git a/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/request/dist-src/index.js new file mode 100644 index 00000000..2460e992 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/index.js @@ -0,0 +1,9 @@ +import { endpoint } from "@octokit/endpoint"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +import withDefaults from "./with-defaults"; +export const request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`, + }, +}); diff --git a/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/request/dist-src/version.js new file mode 100644 index 00000000..a068c68c --- /dev/null +++ b/node_modules/@octokit/request/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "5.6.3"; diff --git a/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/request/dist-src/with-defaults.js new file mode 100644 index 00000000..e2064294 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/with-defaults.js @@ -0,0 +1,22 @@ +import fetchWrapper from "./fetch-wrapper"; +export default function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint), + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint), + }); +} diff --git a/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts new file mode 100644 index 00000000..4901c79e --- /dev/null +++ b/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -0,0 +1,11 @@ +import { EndpointInterface } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType & { + redirect?: "error" | "follow" | "manual"; +}): Promise<{ + status: number; + url: string; + headers: { + [header: string]: string; + }; + data: any; +}>; diff --git a/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts b/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts new file mode 100644 index 00000000..915b7057 --- /dev/null +++ b/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts @@ -0,0 +1,2 @@ +import { Response } from "node-fetch"; +export default function getBufferResponse(response: Response): Promise; diff --git a/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/request/dist-types/index.d.ts new file mode 100644 index 00000000..1030809f --- /dev/null +++ b/node_modules/@octokit/request/dist-types/index.d.ts @@ -0,0 +1 @@ +export declare const request: import("@octokit/types").RequestInterface; diff --git a/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/request/dist-types/version.d.ts new file mode 100644 index 00000000..5629807e --- /dev/null +++ b/node_modules/@octokit/request/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "5.6.3"; diff --git a/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/request/dist-types/with-defaults.d.ts new file mode 100644 index 00000000..00804693 --- /dev/null +++ b/node_modules/@octokit/request/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; +export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/node_modules/@octokit/request/dist-web/index.js b/node_modules/@octokit/request/dist-web/index.js new file mode 100644 index 00000000..44359f8b --- /dev/null +++ b/node_modules/@octokit/request/dist-web/index.js @@ -0,0 +1,158 @@ +import { endpoint } from '@octokit/endpoint'; +import { getUserAgent } from 'universal-user-agent'; +import { isPlainObject } from 'is-plain-object'; +import nodeFetch from 'node-fetch'; +import { RequestError } from '@octokit/request-error'; + +const VERSION = "5.6.3"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log + ? requestOptions.request.log + : console; + if (isPlainObject(requestOptions.body) || + Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect, + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)) + .then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + if (status === 204 || status === 205) { + return; + } + // GitHub API returns 200 for HEAD requests + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined, + }, + request: requestOptions, + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response), + }, + request: requestOptions, + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data, + }, + request: requestOptions, + }); + throw error; + } + return getResponseData(response); + }) + .then((data) => { + return { + status, + url, + headers, + data, + }; + }) + .catch((error) => { + if (error instanceof RequestError) + throw error; + throw new RequestError(error.message, 500, { + request: requestOptions, + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + // istanbul ignore else - just in case + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + // istanbul ignore next - just in case + return `Unknown error: ${JSON.stringify(data)}`; +} + +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint), + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint), + }); +} + +const request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`, + }, +}); + +export { request }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/dist-web/index.js.map b/node_modules/@octokit/request/dist-web/index.js.map new file mode 100644 index 00000000..b3cda519 --- /dev/null +++ b/node_modules/@octokit/request/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.6.3\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log\n ? requestOptions.request.log\n : console;\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, \n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request))\n .then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined,\n },\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response),\n },\n request: requestOptions,\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data,\n },\n request: requestOptions,\n });\n throw error;\n }\n return getResponseData(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError)\n throw error;\n throw new RequestError(error.message, 500, {\n request: requestOptions,\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n // istanbul ignore else - just in case\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n // istanbul ignore next - just in case\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n"],"names":["getBuffer"],"mappings":";;;;;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACA3B,SAAS,iBAAiB,CAAC,QAAQ,EAAE;AACpD,IAAI,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;;ACEc,SAAS,YAAY,CAAC,cAAc,EAAE;AACrD,IAAI,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG;AACpE,UAAU,cAAc,CAAC,OAAO,CAAC,GAAG;AACpC,UAAU,OAAO,CAAC;AAClB,IAAI,IAAI,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC;AAC1C,QAAQ,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC5C,QAAQ,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAClE,KAAK;AACL,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC;AACrB,IAAI,IAAI,MAAM,CAAC;AACf,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;AACxF,IAAI,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;AACnD,QAAQ,MAAM,EAAE,cAAc,CAAC,MAAM;AACrC,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,OAAO,EAAE,cAAc,CAAC,OAAO;AACvC,QAAQ,QAAQ,EAAE,cAAc,CAAC,QAAQ;AACzC,KAAK;AACL;AACA;AACA,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AAC5B,SAAS,IAAI,CAAC,OAAO,QAAQ,KAAK;AAClC,QAAQ,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;AAC3B,QAAQ,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACjC,QAAQ,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,OAAO,EAAE;AACpD,YAAY,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,aAAa,IAAI,OAAO,EAAE;AACtC,YAAY,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC/F,YAAY,MAAM,eAAe,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAC7D,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,kDAAkD,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAClN,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;AAC9C,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,EAAE;AAC9C,YAAY,IAAI,MAAM,GAAG,GAAG,EAAE;AAC9B,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE;AAChE,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,GAAG;AACvB,oBAAoB,MAAM;AAC1B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,EAAE,SAAS;AACnC,iBAAiB;AACjB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,GAAG,EAAE;AAC5B,YAAY,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE;AAC3D,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,GAAG;AACvB,oBAAoB,MAAM;AAC1B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,EAAE,MAAM,eAAe,CAAC,QAAQ,CAAC;AACzD,iBAAiB;AACjB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE;AAC3B,YAAY,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;AACzD,YAAY,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE;AACzE,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,GAAG;AACvB,oBAAoB,MAAM;AAC1B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI;AACxB,iBAAiB;AACjB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,YAAY,MAAM,KAAK,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;AACzC,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK;AACxB,QAAQ,OAAO;AACf,YAAY,MAAM;AAClB,YAAY,GAAG;AACf,YAAY,OAAO;AACnB,YAAY,IAAI;AAChB,SAAS,CAAC;AACV,KAAK,CAAC;AACN,SAAS,KAAK,CAAC,CAAC,KAAK,KAAK;AAC1B,QAAQ,IAAI,KAAK,YAAY,YAAY;AACzC,YAAY,MAAM,KAAK,CAAC;AACxB,QAAQ,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE;AACnD,YAAY,OAAO,EAAE,cAAc;AACnC,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;AACD,eAAe,eAAe,CAAC,QAAQ,EAAE;AACzC,IAAI,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7D,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AAC/C,QAAQ,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,KAAK;AACL,IAAI,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACpE,QAAQ,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,KAAK;AACL,IAAI,OAAOA,iBAAS,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AACD,SAAS,cAAc,CAAC,IAAI,EAAE;AAC9B,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;AAChC,QAAQ,OAAO,IAAI,CAAC;AACpB;AACA,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE;AAC3B,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACxC,YAAY,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpF,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC;AAC5B,KAAK;AACL;AACA,IAAI,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;;ACrHc,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;AAC/D,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvD,IAAI,MAAM,MAAM,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE;AAChD,QAAQ,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClE,QAAQ,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE;AACvE,YAAY,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AACjE,SAAS;AACT,QAAQ,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK;AAC/C,YAAY,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACnF,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;AAC/B,YAAY,QAAQ;AACpB,YAAY,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACtE,KAAK,CAAC;AACN,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnD,KAAK,CAAC,CAAC;AACP,CAAC;;ACjBW,MAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE;AAC9C,IAAI,OAAO,EAAE;AACb,QAAQ,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/package.json b/node_modules/@octokit/request/package.json new file mode 100644 index 00000000..e38c9557 --- /dev/null +++ b/node_modules/@octokit/request/package.json @@ -0,0 +1,56 @@ +{ + "name": "@octokit/request", + "description": "Send parameterized requests to GitHub's APIs with sensible defaults in browsers and Node", + "version": "5.6.3", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "request" + ], + "repository": "github:octokit/request.js", + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@octokit/auth-app": "^3.0.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.2.4", + "@types/jest": "^27.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^14.0.0", + "@types/node-fetch": "^2.3.3", + "@types/once": "^1.4.0", + "fetch-mock": "^9.3.1", + "jest": "^27.0.0", + "lolex": "^6.0.0", + "prettier": "2.4.1", + "semantic-release": "^18.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "string-to-arraybuffer": "^1.0.2", + "ts-jest": "^27.0.0", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/types/LICENSE new file mode 100644 index 00000000..57bee5f1 --- /dev/null +++ b/node_modules/@octokit/types/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@octokit/types/README.md b/node_modules/@octokit/types/README.md new file mode 100644 index 00000000..c48ce424 --- /dev/null +++ b/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# types.ts + +> Shared TypeScript definitions for Octokit projects + +[![@latest](https://img.shields.io/npm/v/@octokit/types.svg)](https://www.npmjs.com/package/@octokit/types) +[![Build Status](https://github.com/octokit/types.ts/workflows/Test/badge.svg)](https://github.com/octokit/types.ts/actions?workflow=Test) + + + +- [Usage](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "@octokit/types"; + +type listUserReposParameters = + Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"]; + +async function listRepos( + options: listUserReposParameters +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/types/dist-node/index.js new file mode 100644 index 00000000..30443567 --- /dev/null +++ b/node_modules/@octokit/types/dist-node/index.js @@ -0,0 +1,8 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "6.34.0"; + +exports.VERSION = VERSION; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@octokit/types/dist-node/index.js.map new file mode 100644 index 00000000..2d148d3b --- /dev/null +++ b/node_modules/@octokit/types/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":["VERSION"],"mappings":";;;;MAAaA,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@octokit/types/dist-src/AuthInterface.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/AuthInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@octokit/types/dist-src/EndpointDefaults.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/EndpointDefaults.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@octokit/types/dist-src/EndpointInterface.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/EndpointInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@octokit/types/dist-src/EndpointOptions.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/EndpointOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@octokit/types/dist-src/Fetch.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Fetch.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@octokit/types/dist-src/OctokitResponse.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/OctokitResponse.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestError.js b/node_modules/@octokit/types/dist-src/RequestError.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestError.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@octokit/types/dist-src/RequestHeaders.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestHeaders.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@octokit/types/dist-src/RequestInterface.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@octokit/types/dist-src/RequestMethod.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestMethod.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@octokit/types/dist-src/RequestOptions.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@octokit/types/dist-src/RequestParameters.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestParameters.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@octokit/types/dist-src/RequestRequestOptions.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestRequestOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@octokit/types/dist-src/ResponseHeaders.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/ResponseHeaders.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@octokit/types/dist-src/Route.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Route.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@octokit/types/dist-src/Signal.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Signal.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@octokit/types/dist-src/StrategyInterface.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/StrategyInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@octokit/types/dist-src/Url.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Url.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/types/dist-src/VERSION.js new file mode 100644 index 00000000..f3ae9523 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/VERSION.js @@ -0,0 +1 @@ +export const VERSION = "6.34.0"; diff --git a/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@octokit/types/dist-src/generated/Endpoints.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/generated/Endpoints.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/index.js b/node_modules/@octokit/types/dist-src/index.js new file mode 100644 index 00000000..004ae9b2 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/index.js @@ -0,0 +1,21 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestError"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 00000000..8b39d612 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +import { EndpointOptions } from "./EndpointOptions"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestInterface } from "./RequestInterface"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +/** + * Interface to implement complex authentication strategies for Octokit. + * An object Implementing the AuthInterface can directly be passed as the + * `auth` option in the Octokit constructor. + * + * For the official implementations of the most common authentication + * strategies, see https://github.com/octokit/auth.js + */ +export interface AuthInterface { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 00000000..a2c23078 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestParameters } from "./RequestParameters"; +import { Url } from "./Url"; +/** + * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters + * as well as the method property. + */ +export declare type EndpointDefaults = RequestParameters & { + baseUrl: Url; + method: RequestMethod; + url?: Url; + headers: RequestHeaders & { + accept: string; + "user-agent": string; + }; + mediaType: { + format: string; + previews: string[]; + }; +}; diff --git a/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 00000000..d7b40092 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +import { RequestOptions } from "./RequestOptions"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface EndpointInterface { + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {object} endpoint Must set `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + merge: { + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * + */ + (route: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ +

(options: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * Stateless method to turn endpoint options into request options. + * Calling `endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + * + * @param {object} options `method`, `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + parse: (options: O) => RequestOptions & Pick; +} diff --git a/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 00000000..b1b91f11 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; +export declare type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 00000000..cbbd5e8f --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export declare type Fetch = any; diff --git a/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 00000000..70e1a8d4 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +declare type Unwrap = T extends Promise ? U : T; +declare type AnyFunction = (...args: any[]) => any; +export declare type GetResponseTypeFromEndpointMethod = Unwrap>; +export declare type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 00000000..28fdfb88 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; +export declare type OctokitResponse = { + headers: ResponseHeaders; + /** + * http response code + */ + status: S; + /** + * URL of response after all redirects + */ + url: Url; + /** + * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference + */ + data: T; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@octokit/types/dist-types/RequestError.d.ts new file mode 100644 index 00000000..89174e6e --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestError.d.ts @@ -0,0 +1,11 @@ +export declare type RequestError = { + name: string; + status: number; + documentation_url: string; + errors?: Array<{ + resource: string; + code: string; + field: string; + message?: string; + }>; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 00000000..ac5aae0a --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export declare type RequestHeaders = { + /** + * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option instead. + */ + accept?: string; + /** + * Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678` + */ + authorization?: string; + /** + * `user-agent` is set do a default and can be overwritten as needed. + */ + "user-agent"?: string; + [header: string]: string | number | undefined; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 00000000..851811ff --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface RequestInterface { + /** + * Sends a request based on endpoint options + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 00000000..e999c8d9 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export declare type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 00000000..97e2181c --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { Url } from "./Url"; +/** + * Generic request options as they are returned by the `endpoint()` method + */ +export declare type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 00000000..b056a0e2 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,45 @@ +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { RequestHeaders } from "./RequestHeaders"; +import { Url } from "./Url"; +/** + * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods + */ +export declare type RequestParameters = { + /** + * Base URL to be used when a relative URL is passed, such as `/orgs/{org}`. + * If `baseUrl` is `https://enterprise.acme-inc.com/api/v3`, then the request + * will be sent to `https://enterprise.acme-inc.com/api/v3/orgs/{org}`. + */ + baseUrl?: Url; + /** + * HTTP headers. Use lowercase keys. + */ + headers?: RequestHeaders; + /** + * Media type options, see {@link https://developer.github.com/v3/media/|GitHub Developer Guide} + */ + mediaType?: { + /** + * `json` by default. Can be `raw`, `text`, `html`, `full`, `diff`, `patch`, `sha`, `base64`. Depending on endpoint + */ + format?: string; + /** + * Custom media type names of {@link https://developer.github.com/v3/media/|API Previews} without the `-preview` suffix. + * Example for single preview: `['squirrel-girl']`. + * Example for multiple previews: `['squirrel-girl', 'mister-fantastic']`. + */ + previews?: string[]; + }; + /** + * Pass custom meta information for the request. The `request` object will be returned as is. + */ + request?: RequestRequestOptions; + /** + * Any additional parameter will be passed as follows + * 1. URL parameter if `':parameter'` or `{parameter}` is part of `url` + * 2. Query parameter if `method` is `'GET'` or `'HEAD'` + * 3. Request body if `parameter` is `'data'` + * 4. JSON in the request body in the form of `body[parameter]` unless `parameter` key is `'data'` + */ + [parameter: string]: unknown; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 00000000..8f5c43a9 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,26 @@ +import { Fetch } from "./Fetch"; +import { Signal } from "./Signal"; +/** + * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled + */ +export declare type RequestRequestOptions = { + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + * + * @see https://nodejs.org/api/http.html#http_class_http_agent + */ + agent?: unknown; + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: Fetch; + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: Signal; + /** + * Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). `options.request.signal` is recommended instead. + */ + timeout?: number; + [option: string]: any; +}; diff --git a/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 00000000..c8fbe43f --- /dev/null +++ b/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,20 @@ +export declare type ResponseHeaders = { + "cache-control"?: string; + "content-length"?: number; + "content-type"?: string; + date?: string; + etag?: string; + "last-modified"?: string; + link?: string; + location?: string; + server?: string; + status?: string; + vary?: string; + "x-github-mediatype"?: string; + "x-github-request-id"?: string; + "x-oauth-scopes"?: string; + "x-ratelimit-limit"?: string; + "x-ratelimit-remaining"?: string; + "x-ratelimit-reset"?: string; + [header: string]: string | number | undefined; +}; diff --git a/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 00000000..dcaac75b --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Route.d.ts @@ -0,0 +1,4 @@ +/** + * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/{org}'`, `'PUT /orgs/{org}'`, `GET https://example.com/foo/bar` + */ +export declare type Route = string; diff --git a/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@octokit/types/dist-types/Signal.d.ts new file mode 100644 index 00000000..4ebcf24e --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export declare type Signal = any; diff --git a/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 00000000..405cbd23 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import { AuthInterface } from "./AuthInterface"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 00000000..3e699160 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/{org}'`, `https://example.com/foo/bar` + */ +export declare type Url = string; diff --git a/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 00000000..002fe166 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "6.34.0"; diff --git a/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 00000000..0f9710a5 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,3162 @@ +import { paths } from "@octokit/openapi-types"; +import { OctokitResponse } from "../OctokitResponse"; +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; +declare type ExtractParameters = "parameters" extends keyof T ? UnionToIntersection<{ + [K in keyof T["parameters"]]: T["parameters"][K]; +}[keyof T["parameters"]]> : {}; +declare type ExtractRequestBody = "requestBody" extends keyof T ? "content" extends keyof T["requestBody"] ? "application/json" extends keyof T["requestBody"]["content"] ? T["requestBody"]["content"]["application/json"] : { + data: { + [K in keyof T["requestBody"]["content"]]: T["requestBody"]["content"][K]; + }[keyof T["requestBody"]["content"]]; +} : "application/json" extends keyof T["requestBody"] ? T["requestBody"]["application/json"] : { + data: { + [K in keyof T["requestBody"]]: T["requestBody"][K]; + }[keyof T["requestBody"]]; +} : {}; +declare type ToOctokitParameters = ExtractParameters & ExtractRequestBody; +declare type RequiredPreview = T extends string ? { + mediaType: { + previews: [T, ...string[]]; + }; +} : {}; +declare type Operation = { + parameters: ToOctokitParameters & RequiredPreview; + request: { + method: Method extends keyof MethodsMap ? MethodsMap[Method] : never; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; + }; + response: ExtractOctokitResponse; +}; +declare type MethodsMap = { + delete: "DELETE"; + get: "GET"; + patch: "PATCH"; + post: "POST"; + put: "PUT"; +}; +declare type SuccessStatuses = 200 | 201 | 202 | 204; +declare type RedirectStatuses = 301 | 302; +declare type EmptyResponseStatuses = 201 | 204; +declare type KnownJsonResponseTypes = "application/json" | "application/scim+json" | "text/html"; +declare type SuccessResponseDataType = { + [K in SuccessStatuses & keyof Responses]: GetContentKeyIfPresent extends never ? never : OctokitResponse, K>; +}[SuccessStatuses & keyof Responses]; +declare type RedirectResponseDataType = { + [K in RedirectStatuses & keyof Responses]: OctokitResponse; +}[RedirectStatuses & keyof Responses]; +declare type EmptyResponseDataType = { + [K in EmptyResponseStatuses & keyof Responses]: OctokitResponse; +}[EmptyResponseStatuses & keyof Responses]; +declare type GetContentKeyIfPresent = "content" extends keyof T ? DataType : DataType; +declare type DataType = { + [K in KnownJsonResponseTypes & keyof T]: T[K]; +}[KnownJsonResponseTypes & keyof T]; +declare type ExtractOctokitResponse = "responses" extends keyof R ? SuccessResponseDataType extends never ? RedirectResponseDataType extends never ? EmptyResponseDataType : RedirectResponseDataType : SuccessResponseDataType : unknown; +export interface Endpoints { + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-installation-for-the-authenticated-app + */ + "DELETE /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#unsuspend-an-app-installation + */ + "DELETE /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "delete">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#delete-a-grant + */ + "DELETE /applications/grants/{grant_id}": Operation<"/applications/grants/{grant_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-app-authorization + */ + "DELETE /applications/{client_id}/grant": Operation<"/applications/{client_id}/grant", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-app-token + */ + "DELETE /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "delete">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#delete-an-authorization + */ + "DELETE /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#disable-a-selected-organization-for-github-actions-in-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-self-hosted-runner-group-from-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#remove-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#remove-a-self-hosted-runner-from-a-group-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-self-hosted-runner-from-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#delete-a-gist + */ + "DELETE /gists/{gist_id}": Operation<"/gists/{gist_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#delete-a-gist-comment + */ + "DELETE /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#unstar-a-gist + */ + "DELETE /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#revoke-an-installation-access-token + */ + "DELETE /installation/token": Operation<"/installation/token", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#delete-a-thread-subscription + */ + "DELETE /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#disable-a-selected-repository-for-github-actions-in-an-organization + */ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#unblock-a-user-from-an-organization + */ + "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-a-saml-sso-authorization-for-an-organization + */ + "DELETE /orgs/{org}/credential-authorizations/{credential_id}": Operation<"/orgs/{org}/credential-authorizations/{credential_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#delete-an-organization-webhook + */ + "DELETE /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#cancel-an-organization-invitation + */ + "DELETE /orgs/{org}/invitations/{invitation_id}": Operation<"/orgs/{org}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-an-organization-member + */ + "DELETE /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-organization-membership-for-a-user + */ + "DELETE /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#delete-an-organization-migration-archive + */ + "DELETE /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#unlock-an-organization-repository + */ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-outside-collaborator-from-an-organization + */ + "DELETE /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-public-organization-membership-for-the-authenticated-user + */ + "DELETE /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-comment + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-team-discussion-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user + */ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#remove-a-repository-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project-card + */ + "DELETE /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project-column + */ + "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project + */ + "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#remove-project-collaborator + */ + "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy + */ + "DELETE /reactions/{reaction_id}": Operation<"/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository + */ + "DELETE /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-artifact + */ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-workflow-run + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-workflow-run-logs + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/v3/repos#delete-autolink + */ + "DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-automated-security-fixes + */ + "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-admin-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-pull-request-review-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-commit-signature-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-status-check-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-status-check-contexts + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-app-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-team-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-user-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "delete">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-a-repository-collaborator + */ + "DELETE /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-commit-comment + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-a-commit-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-file + */ + "DELETE /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-deployment + */ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-an-environment + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/git#delete-a-reference + */ + "DELETE /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository-webhook + */ + "DELETE /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#cancel-an-import + */ + "DELETE /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository-invitation + */ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-an-issue-comment + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-an-issue-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-assignees-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-all-labels-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-a-label-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#unlock-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-an-issue-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-deploy-key + */ + "DELETE /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-a-label + */ + "DELETE /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-git-lfs-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/lfs": Operation<"/repos/{owner}/{repo}/lfs", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-a-milestone + */ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-github-pages-site + */ + "DELETE /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "delete">; + /** + * @see https://docs.github.com/rest/reference/pulls#delete-a-review-comment-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/pulls#remove-requested-reviewers-from-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "delete">; + /** + * @see https://docs.github.com/rest/reference/pulls#delete-a-pending-review-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-release-asset + */ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-release + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#delete-a-repository-subscription + */ + "DELETE /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-vulnerability-alerts + */ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-environment-secret + */ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-group-from-an-enterprise + */ + "DELETE /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-user-from-an-enterprise + */ + "DELETE /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/scim#delete-a-scim-user-from-an-organization + */ + "DELETE /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#delete-a-team-legacy + */ + "DELETE /teams/{team_id}": Operation<"/teams/{team_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-comment-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-member-legacy + */ + "DELETE /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user-legacy + */ + "DELETE /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#remove-a-project-from-a-team-legacy + */ + "DELETE /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#remove-a-repository-from-a-team-legacy + */ + "DELETE /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#unblock-a-user + */ + "DELETE /user/blocks/{username}": Operation<"/user/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-an-email-address-for-the-authenticated-user + */ + "DELETE /user/emails": Operation<"/user/emails", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#unfollow-a-user + */ + "DELETE /user/following/{username}": Operation<"/user/following/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-a-gpg-key-for-the-authenticated-user + */ + "DELETE /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#remove-a-repository-from-an-app-installation + */ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-from-your-public-repositories + */ + "DELETE /user/interaction-limits": Operation<"/user/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-a-public-ssh-key-for-the-authenticated-user + */ + "DELETE /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#delete-a-user-migration-archive + */ + "DELETE /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#unlock-a-user-repository + */ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/user/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/overview/resources-in-the-rest-api#root-endpoint + */ + "GET /": Operation<"/", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-the-authenticated-app + */ + "GET /app": Operation<"/app", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-webhook-configuration-for-an-app + */ + "GET /app/hook/config": Operation<"/app/hook/config", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": Operation<"/app/hook/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-delivery-for-an-app-webhook + */ + "GET /app/hook/deliveries/{delivery_id}": Operation<"/app/hook/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app + */ + "GET /app/installations": Operation<"/app/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-an-installation-for-the-authenticated-app + */ + "GET /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-grants + */ + "GET /applications/grants": Operation<"/applications/grants", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-grant + */ + "GET /applications/grants/{grant_id}": Operation<"/applications/grants/{grant_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps/#get-an-app + */ + "GET /apps/{app_slug}": Operation<"/apps/{app_slug}", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations + */ + "GET /authorizations": Operation<"/authorizations", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-authorization + */ + "GET /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/codes-of-conduct#get-all-codes-of-conduct + */ + "GET /codes_of_conduct": Operation<"/codes_of_conduct", "get">; + /** + * @see https://docs.github.com/rest/reference/codes-of-conduct#get-a-code-of-conduct + */ + "GET /codes_of_conduct/{key}": Operation<"/codes_of_conduct/{key}", "get">; + /** + * @see https://docs.github.com/rest/reference/emojis#get-emojis + */ + "GET /emojis": Operation<"/emojis", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-github-actions-permissions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-selected-organizations-enabled-for-github-actions-in-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/organizations": Operation<"/enterprises/{enterprise}/actions/permissions/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-allowed-actions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/selected-actions": Operation<"/enterprises/{enterprise}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-a-self-hosted-runner-group-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-in-a-group-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners": Operation<"/enterprises/{enterprise}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-runner-applications-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/downloads": Operation<"/enterprises/{enterprise}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-a-self-hosted-runner-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise + */ + "GET /enterprises/{enterprise}/audit-log": Operation<"/enterprises/{enterprise}/audit-log", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/actions": Operation<"/enterprises/{enterprise}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/packages": Operation<"/enterprises/{enterprise}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/shared-storage": Operation<"/enterprises/{enterprise}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events + */ + "GET /events": Operation<"/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-feeds + */ + "GET /feeds": Operation<"/feeds", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gists-for-the-authenticated-user + */ + "GET /gists": Operation<"/gists", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-public-gists + */ + "GET /gists/public": Operation<"/gists/public", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-starred-gists + */ + "GET /gists/starred": Operation<"/gists/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#get-a-gist + */ + "GET /gists/{gist_id}": Operation<"/gists/{gist_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-comments + */ + "GET /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#get-a-gist-comment + */ + "GET /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-commits + */ + "GET /gists/{gist_id}/commits": Operation<"/gists/{gist_id}/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-forks + */ + "GET /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#check-if-a-gist-is-starred + */ + "GET /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#get-a-gist-revision + */ + "GET /gists/{gist_id}/{sha}": Operation<"/gists/{gist_id}/{sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/gitignore#get-all-gitignore-templates + */ + "GET /gitignore/templates": Operation<"/gitignore/templates", "get">; + /** + * @see https://docs.github.com/rest/reference/gitignore#get-a-gitignore-template + */ + "GET /gitignore/templates/{name}": Operation<"/gitignore/templates/{name}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-app-installation + */ + "GET /installation/repositories": Operation<"/installation/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": Operation<"/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/licenses#get-all-commonly-used-licenses + */ + "GET /licenses": Operation<"/licenses", "get">; + /** + * @see https://docs.github.com/rest/reference/licenses#get-a-license + */ + "GET /licenses/{license}": Operation<"/licenses/{license}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/{account_id}": Operation<"/marketplace_listing/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans + */ + "GET /marketplace_listing/plans": Operation<"/marketplace_listing/plans", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/{plan_id}/accounts": Operation<"/marketplace_listing/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/{account_id}": Operation<"/marketplace_listing/stubbed/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": Operation<"/marketplace_listing/stubbed/plans", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": Operation<"/marketplace_listing/stubbed/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/reference/meta#get-github-meta-information + */ + "GET /meta": Operation<"/meta", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-network-of-repositories + */ + "GET /networks/{owner}/{repo}/events": Operation<"/networks/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user + */ + "GET /notifications": Operation<"/notifications", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-thread + */ + "GET /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "get">; + /** + * @see https://docs.github.com/rest/reference/meta#get-octocat + */ + "GET /octocat": Operation<"/octocat", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations + */ + "GET /organizations": Operation<"/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization + */ + "GET /orgs/{org}": Operation<"/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/runners": Operation<"/orgs/{org}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-organization + */ + "GET /orgs/{org}/actions/runners/downloads": Operation<"/orgs/{org}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-organization-secrets + */ + "GET /orgs/{org}/actions/secrets": Operation<"/orgs/{org}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-organization-public-key + */ + "GET /orgs/{org}/actions/secrets/public-key": Operation<"/orgs/{org}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-audit-log + */ + "GET /orgs/{org}/audit-log": Operation<"/orgs/{org}/audit-log", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks": Operation<"/orgs/{org}/blocks", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-saml-sso-authorizations-for-an-organization + */ + "GET /orgs/{org}/credential-authorizations": Operation<"/orgs/{org}/credential-authorizations", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-organization-events + */ + "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations + */ + "GET /orgs/{org}/failed_invitations": Operation<"/orgs/{org}/failed_invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-webhooks + */ + "GET /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-configuration-for-an-organization + */ + "GET /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-delivery-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-an-organization-installation-for-the-authenticated-app + */ + "GET /orgs/{org}/installation": Operation<"/orgs/{org}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-app-installations-for-an-organization + */ + "GET /orgs/{org}/installations": Operation<"/orgs/{org}/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-pending-organization-invitations + */ + "GET /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-invitation-teams + */ + "GET /orgs/{org}/invitations/{invitation_id}/teams": Operation<"/orgs/{org}/invitations/{invitation_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/{org}/issues": Operation<"/orgs/{org}/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-members + */ + "GET /orgs/{org}/members": Operation<"/orgs/{org}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-organization-membership-for-a-user + */ + "GET /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user + */ + "GET /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-organization-migrations + */ + "GET /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-an-organization-migration-status + */ + "GET /orgs/{org}/migrations/{migration_id}": Operation<"/orgs/{org}/migrations/{migration_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#download-an-organization-migration-archive + */ + "GET /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-in-an-organization-migration + */ + "GET /orgs/{org}/migrations/{migration_id}/repositories": Operation<"/orgs/{org}/migrations/{migration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-outside-collaborators-for-an-organization + */ + "GET /orgs/{org}/outside_collaborators": Operation<"/orgs/{org}/outside_collaborators", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-an-organization + */ + "GET /orgs/{org}/packages": Operation<"/orgs/{org}/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-organization-projects + */ + "GET /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-public-organization-members + */ + "GET /orgs/{org}/public_members": Operation<"/orgs/{org}/public_members", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-public-organization-membership-for-a-user + */ + "GET /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-organization-repositories + */ + "GET /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-by-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": Operation<"/orgs/{org}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/actions": Operation<"/orgs/{org}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/packages": Operation<"/orgs/{org}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization + */ + "GET /orgs/{org}/team-sync/groups": Operation<"/orgs/{org}/team-sync/groups", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-teams + */ + "GET /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-team-by-name + */ + "GET /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions + */ + "GET /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations + */ + "GET /orgs/{org}/teams/{team_slug}/invitations": Operation<"/orgs/{org}/teams/{team_slug}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members + */ + "GET /orgs/{org}/teams/{team_slug}/members": Operation<"/orgs/{org}/teams/{team_slug}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user + */ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-projects + */ + "GET /orgs/{org}/teams/{team_slug}/projects": Operation<"/orgs/{org}/teams/{team_slug}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project + */ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-repositories + */ + "GET /orgs/{org}/teams/{team_slug}/repos": Operation<"/orgs/{org}/teams/{team_slug}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository + */ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team + */ + "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-child-teams + */ + "GET /orgs/{org}/teams/{team_slug}/teams": Operation<"/orgs/{org}/teams/{team_slug}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project-card + */ + "GET /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project-column + */ + "GET /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-cards + */ + "GET /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project + */ + "GET /projects/{project_id}": Operation<"/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-collaborators + */ + "GET /projects/{project_id}/collaborators": Operation<"/projects/{project_id}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-project-permission-for-a-user + */ + "GET /projects/{project_id}/collaborators/{username}/permission": Operation<"/projects/{project_id}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-columns + */ + "GET /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "get">; + /** + * @see https://docs.github.com/rest/reference/rate-limit#get-rate-limit-status-for-the-authenticated-user + */ + "GET /rate_limit": Operation<"/rate_limit", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository + */ + "GET /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-artifacts-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/artifacts": Operation<"/repos/{owner}/{repo}/actions/artifacts", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-job-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-job-logs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners": Operation<"/repos/{owner}/{repo}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/downloads": Operation<"/repos/{owner}/{repo}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runs": Operation<"/repos/{owner}/{repo}/actions/runs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-the-review-history-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-workflow-run-attempt-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-workflow-run-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-pending-deployments-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-run-usage + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/actions/secrets": Operation<"/repos/{owner}/{repo}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/actions/secrets/public-key": Operation<"/repos/{owner}/{repo}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-workflows + */ + "GET /repos/{owner}/{repo}/actions/workflows": Operation<"/repos/{owner}/{repo}/actions/workflows", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-usage + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-assignees + */ + "GET /repos/{owner}/{repo}/assignees": Operation<"/repos/{owner}/{repo}/assignees", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#check-if-a-user-can-be-assigned + */ + "GET /repos/{owner}/{repo}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/assignees/{assignee}", "get">; + /** + * @see https://docs.github.com/v3/repos#list-autolinks + */ + "GET /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "get">; + /** + * @see https://docs.github.com/v3/repos#get-autolink + */ + "GET /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches + */ + "GET /repos/{owner}/{repo}/branches": Operation<"/repos/{owner}/{repo}/branches", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}": Operation<"/repos/{owner}/{repo}/branches/{branch}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-admin-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-pull-request-review-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-commit-signature-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-status-checks-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-status-check-contexts + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-access-restrictions + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-apps-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-teams-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-users-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#get-a-check-run + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-run-annotations + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#get-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts": Operation<"/repos/{owner}/{repo}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert + * @deprecated "alert_id" is now "alert_number" + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses": Operation<"/repos/{owner}/{repo}/code-scanning/analyses", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-recent-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-collaborators + */ + "GET /repos/{owner}/{repo}/collaborators": Operation<"/repos/{owner}/{repo}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#check-if-a-user-is-a-repository-collaborator + */ + "GET /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-permissions-for-a-user + */ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission": Operation<"/repos/{owner}/{repo}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/comments": Operation<"/repos/{owner}/{repo}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commits + */ + "GET /repos/{owner}/{repo}/commits": Operation<"/repos/{owner}/{repo}/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches-for-head-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-pull-requests-associated-with-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{ref}": Operation<"/repos/{owner}/{repo}/commits/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-suites", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-combined-status-for-a-specific-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/status": Operation<"/repos/{owner}/{repo}/commits/{ref}/status", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses": Operation<"/repos/{owner}/{repo}/commits/{ref}/statuses", "get">; + /** + * @see https://docs.github.com/rest/reference/codes-of-conduct#get-the-code-of-conduct-for-a-repository + */ + "GET /repos/{owner}/{repo}/community/code_of_conduct": Operation<"/repos/{owner}/{repo}/community/code_of_conduct", "get", "scarlet-witch">; + /** + * @see https://docs.github.com/rest/reference/repos#get-community-profile-metrics + */ + "GET /repos/{owner}/{repo}/community/profile": Operation<"/repos/{owner}/{repo}/community/profile", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{basehead}": Operation<"/repos/{owner}/{repo}/compare/{basehead}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{base}...{head}": Operation<"/repos/{owner}/{repo}/compare/{base}...{head}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-content + */ + "GET /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-contributors + */ + "GET /repos/{owner}/{repo}/contributors": Operation<"/repos/{owner}/{repo}/contributors", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployments + */ + "GET /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deployment + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployment-statuses + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deployment-status + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-environments + */ + "GET /repos/{owner}/{repo}/environments": Operation<"/repos/{owner}/{repo}/environments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-events + */ + "GET /repos/{owner}/{repo}/events": Operation<"/repos/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-forks + */ + "GET /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-blob + */ + "GET /repos/{owner}/{repo}/git/blobs/{file_sha}": Operation<"/repos/{owner}/{repo}/git/blobs/{file_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-commit + */ + "GET /repos/{owner}/{repo}/git/commits/{commit_sha}": Operation<"/repos/{owner}/{repo}/git/commits/{commit_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#list-matching-references + */ + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": Operation<"/repos/{owner}/{repo}/git/matching-refs/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-reference + */ + "GET /repos/{owner}/{repo}/git/ref/{ref}": Operation<"/repos/{owner}/{repo}/git/ref/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-tag + */ + "GET /repos/{owner}/{repo}/git/tags/{tag_sha}": Operation<"/repos/{owner}/{repo}/git/tags/{tag_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-tree + */ + "GET /repos/{owner}/{repo}/git/trees/{tree_sha}": Operation<"/repos/{owner}/{repo}/git/trees/{tree_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-webhooks + */ + "GET /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-webhook-configuration-for-a-repository + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-delivery-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-an-import-status + */ + "GET /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-commit-authors + */ + "GET /repos/{owner}/{repo}/import/authors": Operation<"/repos/{owner}/{repo}/import/authors", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-large-files + */ + "GET /repos/{owner}/{repo}/import/large_files": Operation<"/repos/{owner}/{repo}/import/large_files", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-repository-installation-for-the-authenticated-app + */ + "GET /repos/{owner}/{repo}/installation": Operation<"/repos/{owner}/{repo}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-a-repository + */ + "GET /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations + */ + "GET /repos/{owner}/{repo}/invitations": Operation<"/repos/{owner}/{repo}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-repository-issues + */ + "GET /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/comments": Operation<"/repos/{owner}/{repo}/issues/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/events": Operation<"/repos/{owner}/{repo}/issues/events", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue-event + */ + "GET /repos/{owner}/{repo}/issues/events/{event_id}": Operation<"/repos/{owner}/{repo}/issues/events/{event_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/events": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deploy-keys + */ + "GET /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deploy-key + */ + "GET /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-a-repository + */ + "GET /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-a-label + */ + "GET /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-languages + */ + "GET /repos/{owner}/{repo}/languages": Operation<"/repos/{owner}/{repo}/languages", "get">; + /** + * @see https://docs.github.com/rest/reference/licenses/#get-the-license-for-a-repository + */ + "GET /repos/{owner}/{repo}/license": Operation<"/repos/{owner}/{repo}/license", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-milestones + */ + "GET /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-issues-in-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-github-pages-site + */ + "GET /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-github-pages-builds + */ + "GET /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-latest-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/latest": Operation<"/repos/{owner}/{repo}/pages/builds/latest", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-github-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/{build_id}": Operation<"/repos/{owner}/{repo}/pages/builds/{build_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-dns-health-check-for-github-pages + */ + "GET /repos/{owner}/{repo}/pages/health": Operation<"/repos/{owner}/{repo}/pages/health", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests + */ + "GET /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-in-a-repository + */ + "GET /repos/{owner}/{repo}/pulls/comments": Operation<"/repos/{owner}/{repo}/pulls/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-review-comment-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-commits-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests-files + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/files", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#check-if-a-pull-request-has-been-merged + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-requested-reviewers-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-reviews-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-review-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-comments-for-a-pull-request-review + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-readme + */ + "GET /repos/{owner}/{repo}/readme": Operation<"/repos/{owner}/{repo}/readme", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-directory-readme + */ + "GET /repos/{owner}/{repo}/readme/{dir}": Operation<"/repos/{owner}/{repo}/readme/{dir}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-releases + */ + "GET /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release-asset + */ + "GET /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-latest-release + */ + "GET /repos/{owner}/{repo}/releases/latest": Operation<"/repos/{owner}/{repo}/releases/latest", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release-by-tag-name + */ + "GET /repos/{owner}/{repo}/releases/tags/{tag}": Operation<"/repos/{owner}/{repo}/releases/tags/{tag}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-release-assets + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#get-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-stargazers + */ + "GET /repos/{owner}/{repo}/stargazers": Operation<"/repos/{owner}/{repo}/stargazers", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-weekly-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/code_frequency": Operation<"/repos/{owner}/{repo}/stats/code_frequency", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-last-year-of-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/commit_activity": Operation<"/repos/{owner}/{repo}/stats/commit_activity", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-contributor-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/contributors": Operation<"/repos/{owner}/{repo}/stats/contributors", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-weekly-commit-count + */ + "GET /repos/{owner}/{repo}/stats/participation": Operation<"/repos/{owner}/{repo}/stats/participation", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-hourly-commit-count-for-each-day + */ + "GET /repos/{owner}/{repo}/stats/punch_card": Operation<"/repos/{owner}/{repo}/stats/punch_card", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-watchers + */ + "GET /repos/{owner}/{repo}/subscribers": Operation<"/repos/{owner}/{repo}/subscribers", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-repository-subscription + */ + "GET /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-tags + */ + "GET /repos/{owner}/{repo}/tags": Operation<"/repos/{owner}/{repo}/tags", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + */ + "GET /repos/{owner}/{repo}/tarball/{ref}": Operation<"/repos/{owner}/{repo}/tarball/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-teams + */ + "GET /repos/{owner}/{repo}/teams": Operation<"/repos/{owner}/{repo}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-repository-topics + */ + "GET /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "get", "mercy">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-clones + */ + "GET /repos/{owner}/{repo}/traffic/clones": Operation<"/repos/{owner}/{repo}/traffic/clones", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-top-referral-paths + */ + "GET /repos/{owner}/{repo}/traffic/popular/paths": Operation<"/repos/{owner}/{repo}/traffic/popular/paths", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-top-referral-sources + */ + "GET /repos/{owner}/{repo}/traffic/popular/referrers": Operation<"/repos/{owner}/{repo}/traffic/popular/referrers", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-page-views + */ + "GET /repos/{owner}/{repo}/traffic/views": Operation<"/repos/{owner}/{repo}/traffic/views", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + */ + "GET /repos/{owner}/{repo}/zipball/{ref}": Operation<"/repos/{owner}/{repo}/zipball/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-public-repositories + */ + "GET /repositories": Operation<"/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-environment-secrets + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-environment-public-key + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-environment-secret + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim-groups-for-an-enterprise + */ + "GET /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-group + */ + "GET /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-scim-provisioned-identities-for-an-enterprise + */ + "GET /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-user + */ + "GET /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/scim#list-scim-provisioned-identities + */ + "GET /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "get">; + /** + * @see https://docs.github.com/rest/reference/scim#get-scim-provisioning-information-for-a-user + */ + "GET /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-code + */ + "GET /search/code": Operation<"/search/code", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-commits + */ + "GET /search/commits": Operation<"/search/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-issues-and-pull-requests + */ + "GET /search/issues": Operation<"/search/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-labels + */ + "GET /search/labels": Operation<"/search/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-repositories + */ + "GET /search/repositories": Operation<"/search/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-topics + */ + "GET /search/topics": Operation<"/search/topics", "get", "mercy">; + /** + * @see https://docs.github.com/rest/reference/search#search-users + */ + "GET /search/users": Operation<"/search/users", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#get-a-team-legacy + */ + "GET /teams/{team_id}": Operation<"/teams/{team_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions-legacy + */ + "GET /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy + */ + "GET /teams/{team_id}/invitations": Operation<"/teams/{team_id}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members-legacy + */ + "GET /teams/{team_id}/members": Operation<"/teams/{team_id}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-member-legacy + */ + "GET /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user-legacy + */ + "GET /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#list-team-projects-legacy + */ + "GET /teams/{team_id}/projects": Operation<"/teams/{team_id}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-project-legacy + */ + "GET /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#list-team-repositories-legacy + */ + "GET /teams/{team_id}/repos": Operation<"/teams/{team_id}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository-legacy + */ + "GET /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team-legacy + */ + "GET /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#list-child-teams-legacy + */ + "GET /teams/{team_id}/teams": Operation<"/teams/{team_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-the-authenticated-user + */ + "GET /user": Operation<"/user", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-users-blocked-by-the-authenticated-user + */ + "GET /user/blocks": Operation<"/user/blocks", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user + */ + "GET /user/blocks/{username}": Operation<"/user/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user + */ + "GET /user/emails": Operation<"/user/emails", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-the-authenticated-user + */ + "GET /user/followers": Operation<"/user/followers", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-the-authenticated-user-follows + */ + "GET /user/following": Operation<"/user/following", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user + */ + "GET /user/following/{username}": Operation<"/user/following/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-the-authenticated-user + */ + "GET /user/gpg_keys": Operation<"/user/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-gpg-key-for-the-authenticated-user + */ + "GET /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token + */ + "GET /user/installations": Operation<"/user/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-user-access-token + */ + "GET /user/installations/{installation_id}/repositories": Operation<"/user/installations/{installation_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories + */ + "GET /user/interaction-limits": Operation<"/user/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": Operation<"/user/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user + */ + "GET /user/keys": Operation<"/user/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user + */ + "GET /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": Operation<"/user/marketplace_purchases", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": Operation<"/user/marketplace_purchases/stubbed", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user + */ + "GET /user/memberships/orgs": Operation<"/user/memberships/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user + */ + "GET /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-user-migrations + */ + "GET /user/migrations": Operation<"/user/migrations", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-a-user-migration-status + */ + "GET /user/migrations/{migration_id}": Operation<"/user/migrations/{migration_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive + */ + "GET /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-for-a-user-migration + */ + "GET /user/migrations/{migration_id}/repositories": Operation<"/user/migrations/{migration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user + */ + "GET /user/orgs": Operation<"/user/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-the-authenticated-user + */ + "GET /user/packages": Operation<"/user/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions": Operation<"/user/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user + */ + "GET /user/public_emails": Operation<"/user/public_emails", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": Operation<"/user/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations-for-the-authenticated-user + */ + "GET /user/repository_invitations": Operation<"/user/repository_invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": Operation<"/user/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": Operation<"/user/subscriptions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-teams-for-the-authenticated-user + */ + "GET /user/teams": Operation<"/user/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-users + */ + "GET /users": Operation<"/users", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-user + */ + "GET /users/{username}": Operation<"/users/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-for-the-authenticated-user + */ + "GET /users/{username}/events": Operation<"/users/{username}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-organization-events-for-the-authenticated-user + */ + "GET /users/{username}/events/orgs/{org}": Operation<"/users/{username}/events/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-user + */ + "GET /users/{username}/events/public": Operation<"/users/{username}/events/public", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-a-user + */ + "GET /users/{username}/followers": Operation<"/users/{username}/followers", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-a-user-follows + */ + "GET /users/{username}/following": Operation<"/users/{username}/following", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-user-follows-another-user + */ + "GET /users/{username}/following/{target_user}": Operation<"/users/{username}/following/{target_user}", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gists-for-a-user + */ + "GET /users/{username}/gists": Operation<"/users/{username}/gists", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-a-user + */ + "GET /users/{username}/gpg_keys": Operation<"/users/{username}/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-contextual-information-for-a-user + */ + "GET /users/{username}/hovercard": Operation<"/users/{username}/hovercard", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-user-installation-for-the-authenticated-app + */ + "GET /users/{username}/installation": Operation<"/users/{username}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-keys-for-a-user + */ + "GET /users/{username}/keys": Operation<"/users/{username}/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-a-user + */ + "GET /users/{username}/orgs": Operation<"/users/{username}/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-user + */ + "GET /users/{username}/packages": Operation<"/users/{username}/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-user-projects + */ + "GET /users/{username}/projects": Operation<"/users/{username}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user + */ + "GET /users/{username}/received_events": Operation<"/users/{username}/received_events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-received-by-a-user + */ + "GET /users/{username}/received_events/public": Operation<"/users/{username}/received_events/public", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-a-user + */ + "GET /users/{username}/repos": Operation<"/users/{username}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-a-user + */ + "GET /users/{username}/settings/billing/actions": Operation<"/users/{username}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-a-user + */ + "GET /users/{username}/settings/billing/packages": Operation<"/users/{username}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-a-user + */ + "GET /users/{username}/settings/billing/shared-storage": Operation<"/users/{username}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user + */ + "GET /users/{username}/starred": Operation<"/users/{username}/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-a-user + */ + "GET /users/{username}/subscriptions": Operation<"/users/{username}/subscriptions", "get">; + /** + * @see + */ + "GET /zen": Operation<"/zen", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#update-a-webhook-configuration-for-an-app + */ + "PATCH /app/hook/config": Operation<"/app/hook/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/apps#reset-a-token + */ + "PATCH /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "patch">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#update-an-existing-authorization + */ + "PATCH /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#update-a-self-hosted-runner-group-for-an-enterprise + */ + "PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/gists/#update-a-gist + */ + "PATCH /gists/{gist_id}": Operation<"/gists/{gist_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/gists#update-a-gist-comment + */ + "PATCH /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-a-thread-as-read + */ + "PATCH /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs/#update-an-organization + */ + "PATCH /orgs/{org}": Operation<"/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization + */ + "PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-an-organization-webhook + */ + "PATCH /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-a-webhook-configuration-for-an-organization + */ + "PATCH /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-team + */ + "PATCH /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections + */ + "PATCH /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "patch">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project-card + */ + "PATCH /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project-column + */ + "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project + */ + "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos/#update-a-repository + */ + "PATCH /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-pull-request-review-protection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-status-check-potection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "patch">; + /** + * @see https://docs.github.com/rest/reference/checks#update-a-check-run + */ + "PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites + */ + "PATCH /repos/{owner}/{repo}/check-suites/preferences": Operation<"/repos/{owner}/{repo}/check-suites/preferences", "patch">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#update-a-code-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-commit-comment + */ + "PATCH /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/git#update-a-reference + */ + "PATCH /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-repository-webhook + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-webhook-configuration-for-a-repository + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#update-an-import + */ + "PATCH /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#map-a-commit-author + */ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}": Operation<"/repos/{owner}/{repo}/import/authors/{author_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#update-git-lfs-preference + */ + "PATCH /repos/{owner}/{repo}/import/lfs": Operation<"/repos/{owner}/{repo}/import/lfs", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-repository-invitation + */ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-an-issue-comment + */ + "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues/#update-an-issue + */ + "PATCH /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-a-label + */ + "PATCH /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-a-milestone + */ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-review-comment-for-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/pulls/#update-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-release-asset + */ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-release + */ + "PATCH /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#update-a-secret-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-group + */ + "PATCH /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-user + */ + "PATCH /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user + */ + "PATCH /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams/#update-a-team-legacy + */ + "PATCH /teams/{team_id}": Operation<"/teams/{team_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections-legacy + */ + "PATCH /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "patch">; + /** + * @see https://docs.github.com/rest/reference/users/#update-the-authenticated-user + */ + "PATCH /user": Operation<"/user", "patch">; + /** + * @see https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user + */ + "PATCH /user/email/visibility": Operation<"/user/email/visibility", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-an-organization-membership-for-the-authenticated-user + */ + "PATCH /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/apps#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/{code}/conversions": Operation<"/app-manifests/{code}/conversions", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#redeliver-a-delivery-for-an-app-webhook + */ + "POST /app/hook/deliveries/{delivery_id}/attempts": Operation<"/app/hook/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/reference/apps/#create-an-installation-access-token-for-an-app + */ + "POST /app/installations/{installation_id}/access_tokens": Operation<"/app/installations/{installation_id}/access_tokens", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#check-a-token + */ + "POST /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#create-a-scoped-access-token + */ + "POST /applications/{client_id}/token/scoped": Operation<"/applications/{client_id}/token/scoped", "post">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization + */ + "POST /authorizations": Operation<"/authorizations", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#create-a-content-attachment + */ + "POST /content_references/{content_reference_id}/attachments": Operation<"/content_references/{content_reference_id}/attachments", "post", "corsair">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#create-self-hosted-runner-group-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#create-a-registration-token-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/registration-token": Operation<"/enterprises/{enterprise}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#create-a-remove-token-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/remove-token": Operation<"/enterprises/{enterprise}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#create-a-gist + */ + "POST /gists": Operation<"/gists", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#create-a-gist-comment + */ + "POST /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#fork-a-gist + */ + "POST /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "post">; + /** + * @see https://docs.github.com/rest/reference/markdown#render-a-markdown-document + */ + "POST /markdown": Operation<"/markdown", "post">; + /** + * @see https://docs.github.com/rest/reference/markdown#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": Operation<"/markdown/raw", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-self-hosted-runner-group-for-an-organization + */ + "POST /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/registration-token": Operation<"/orgs/{org}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/remove-token": Operation<"/orgs/{org}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#create-an-organization-webhook + */ + "POST /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#redeliver-a-delivery-for-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#ping-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/pings": Operation<"/orgs/{org}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#create-an-organization-invitation + */ + "POST /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "post">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-an-organization-migration + */ + "POST /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-an-organization-project + */ + "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-an-organization-repository + */ + "POST /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-team + */ + "POST /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#move-a-project-card + */ + "POST /projects/columns/cards/{card_id}/moves": Operation<"/projects/columns/cards/{card_id}/moves", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-project-card + */ + "POST /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#move-a-project-column + */ + "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-project-column + */ + "POST /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/registration-token": Operation<"/repos/{owner}/{repo}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/remove-token": Operation<"/repos/{owner}/{repo}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#approve-a-workflow-run-for-a-fork-pull-request + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approve", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#cancel-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/cancel", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#review-pending-deployments-for-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#re-run-a-workflow + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event + */ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", "post">; + /** + * @see https://docs.github.com/v3/repos#create-an-autolink + */ + "POST /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#set-admin-branch-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-commit-signature-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-status-check-contexts + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-app-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-team-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-user-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#rename-a-branch + */ + "POST /repos/{owner}/{repo}/branches/{branch}/rename": Operation<"/repos/{owner}/{repo}/branches/{branch}/rename", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#create-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs": Operation<"/repos/{owner}/{repo}/check-runs", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#rerequest-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#create-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites": Operation<"/repos/{owner}/{repo}/check-suites", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#rerequest-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", "post">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#upload-a-sarif-file + */ + "POST /repos/{owner}/{repo}/code-scanning/sarifs": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-commit-comment + */ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-commit-comment + */ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#create-a-content-attachment + */ + "POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments": Operation<"/repos/{owner}/{repo}/content_references/{content_reference_id}/attachments", "post", "corsair">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deployment + */ + "POST /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deployment-status + */ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-dispatch-event + */ + "POST /repos/{owner}/{repo}/dispatches": Operation<"/repos/{owner}/{repo}/dispatches", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-fork + */ + "POST /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-blob + */ + "POST /repos/{owner}/{repo}/git/blobs": Operation<"/repos/{owner}/{repo}/git/blobs", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-commit + */ + "POST /repos/{owner}/{repo}/git/commits": Operation<"/repos/{owner}/{repo}/git/commits", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-reference + */ + "POST /repos/{owner}/{repo}/git/refs": Operation<"/repos/{owner}/{repo}/git/refs", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-tag-object + */ + "POST /repos/{owner}/{repo}/git/tags": Operation<"/repos/{owner}/{repo}/git/tags", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-tree + */ + "POST /repos/{owner}/{repo}/git/trees": Operation<"/repos/{owner}/{repo}/git/trees", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#redeliver-a-delivery-for-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#ping-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/pings": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#test-the-push-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/tests": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/tests", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-an-issue + */ + "POST /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#add-assignees-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#add-labels-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deploy-key + */ + "POST /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-a-label + */ + "POST /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#sync-a-fork-branch-with-the-upstream-repository + */ + "POST /repos/{owner}/{repo}/merge-upstream": Operation<"/repos/{owner}/{repo}/merge-upstream", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#merge-a-branch + */ + "POST /repos/{owner}/{repo}/merges": Operation<"/repos/{owner}/{repo}/merges", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-a-milestone + */ + "POST /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-github-pages-site + */ + "POST /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#request-a-github-pages-build + */ + "POST /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-repository-project + */ + "POST /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-reply-for-a-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#request-reviewers-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-release + */ + "POST /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#generate-release-notes + */ + "POST /repos/{owner}/{repo}/releases/generate-notes": Operation<"/repos/{owner}/{repo}/releases/generate-notes", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-release + */ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-commit-status + */ + "POST /repos/{owner}/{repo}/statuses/{sha}": Operation<"/repos/{owner}/{repo}/statuses/{sha}", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#transfer-a-repository + */ + "POST /repos/{owner}/{repo}/transfer": Operation<"/repos/{owner}/{repo}/transfer", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-using-a-template + */ + "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#provision-a-scim-enterprise-group-and-invite-users + */ + "POST /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#provision-and-invite-a-scim-enterprise-user + */ + "POST /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "post">; + /** + * @see https://docs.github.com/rest/reference/scim#provision-and-invite-a-scim-user + */ + "POST /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-legacy + */ + "POST /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/users#add-an-email-address-for-the-authenticated-user + */ + "POST /user/emails": Operation<"/user/emails", "post">; + /** + * @see https://docs.github.com/rest/reference/users#create-a-gpg-key-for-the-authenticated-user + */ + "POST /user/gpg_keys": Operation<"/user/gpg_keys", "post">; + /** + * @see https://docs.github.com/rest/reference/users#create-a-public-ssh-key-for-the-authenticated-user + */ + "POST /user/keys": Operation<"/user/keys", "post">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-a-user-migration + */ + "POST /user/migrations": Operation<"/user/migrations", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/restore{?token}": Operation<"/user/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-user-project + */ + "POST /user/projects": Operation<"/user/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": Operation<"/user/repos", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/users/{username}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#upload-a-release-asset + */ + "POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#suspend-an-app-installation + */ + "PUT /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "put">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app + */ + "PUT /authorizations/clients/{client_id}": Operation<"/authorizations/clients/{client_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + "PUT /authorizations/clients/{client_id}/{fingerprint}": Operation<"/authorizations/clients/{client_id}/{fingerprint}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-github-actions-permissions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-selected-organizations-enabled-for-github-actions-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/organizations": Operation<"/enterprises/{enterprise}/actions/permissions/organizations", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#enable-a-selected-organization-for-github-actions-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-allowed-actions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/selected-actions": Operation<"/enterprises/{enterprise}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#add-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-self-hosted-runners-in-a-group-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#add-a-self-hosted-runner-to-a-group-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/gists#star-a-gist + */ + "PUT /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-notifications-as-read + */ + "PUT /notifications": Operation<"/notifications", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#set-a-thread-subscription + */ + "PUT /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#enable-a-selected-repository-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-repository-acess-to-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#block-a-user-from-an-organization + */ + "PUT /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-an-organization + */ + "PUT /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#set-organization-membership-for-a-user + */ + "PUT /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator + */ + "PUT /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#set-public-organization-membership-for-the-authenticated-user + */ + "PUT /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user + */ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-repository-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/reference/projects#add-project-collaborator + */ + "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#disable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#enable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#enable-automated-security-fixes + */ + "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#update-branch-protection + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-status-check-contexts + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-app-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-team-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-user-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#add-a-repository-collaborator + */ + "PUT /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#create-or-update-file-contents + */ + "PUT /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#create-or-update-an-environment + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-an-import + */ + "PUT /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/issues#set-labels-for-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/issues#lock-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#enable-git-lfs-for-a-repository + */ + "PUT /repos/{owner}/{repo}/lfs": Operation<"/repos/{owner}/{repo}/lfs", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-repository-notifications-as-read + */ + "PUT /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#update-information-about-a-github-pages-site + */ + "PUT /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#merge-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#dismiss-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-pull-request-branch + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#set-a-repository-subscription + */ + "PUT /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#replace-all-repository-topics + */ + "PUT /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "put", "mercy">; + /** + * @see https://docs.github.com/rest/reference/repos#enable-vulnerability-alerts + */ + "PUT /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-environment-secret + */ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-group + */ + "PUT /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-user + */ + "PUT /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/scim#set-scim-information-for-a-provisioned-user + */ + "PUT /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-team-member-legacy + */ + "PUT /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user-legacy + */ + "PUT /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-project-permissions-legacy + */ + "PUT /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-repository-permissions-legacy + */ + "PUT /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/reference/users#block-a-user + */ + "PUT /user/blocks/{username}": Operation<"/user/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/users#follow-a-user + */ + "PUT /user/following/{username}": Operation<"/user/following/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/apps#add-a-repository-to-an-app-installation + */ + "PUT /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-your-public-repositories + */ + "PUT /user/interaction-limits": Operation<"/user/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "put">; +} +export {}; diff --git a/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 00000000..004ae9b2 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,21 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestError"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/types/dist-web/index.js new file mode 100644 index 00000000..c346f4f0 --- /dev/null +++ b/node_modules/@octokit/types/dist-web/index.js @@ -0,0 +1,4 @@ +const VERSION = "6.34.0"; + +export { VERSION }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@octokit/types/dist-web/index.js.map new file mode 100644 index 00000000..cd0e254a --- /dev/null +++ b/node_modules/@octokit/types/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/types/package.json b/node_modules/@octokit/types/package.json new file mode 100644 index 00000000..1c8d14a8 --- /dev/null +++ b/node_modules/@octokit/types/package.json @@ -0,0 +1,54 @@ +{ + "name": "@octokit/types", + "description": "Shared TypeScript definitions for Octokit projects", + "version": "6.34.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "repository": "github:octokit/types.ts", + "dependencies": { + "@octokit/openapi-types": "^11.2.0" + }, + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/node": ">= 8", + "github-openapi-graphql-query": "^1.0.5", + "handlebars": "^4.7.6", + "json-schema-to-typescript": "^10.0.0", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "pascal-case": "^3.1.1", + "pika-plugin-merge-properties": "^1.0.6", + "prettier": "^2.0.0", + "semantic-release": "^18.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.2.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.21.0", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "octokit": { + "openapi-version": "5.9.0" + }, + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/aggregate-error/index.d.ts b/node_modules/aggregate-error/index.d.ts new file mode 100644 index 00000000..502bf7ad --- /dev/null +++ b/node_modules/aggregate-error/index.d.ts @@ -0,0 +1,51 @@ +/** +Create an error from multiple errors. +*/ +declare class AggregateError extends Error implements Iterable { + readonly name: 'AggregateError'; + + /** + @param errors - If a string, a new `Error` is created with the string as the error message. If a non-Error object, a new `Error` is created with all properties from the object copied over. + @returns An Error that is also an [`Iterable`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators#Iterables) for the individual errors. + + @example + ``` + import AggregateError = require('aggregate-error'); + + const error = new AggregateError([new Error('foo'), 'bar', {message: 'baz'}]); + + throw error; + + // AggregateError: + // Error: foo + // at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:33) + // Error: bar + // at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:13) + // Error: baz + // at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:13) + // at AggregateError (/Users/sindresorhus/dev/aggregate-error/index.js:19:3) + // at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:13) + // at Module._compile (module.js:556:32) + // at Object.Module._extensions..js (module.js:565:10) + // at Module.load (module.js:473:32) + // at tryModuleLoad (module.js:432:12) + // at Function.Module._load (module.js:424:3) + // at Module.runMain (module.js:590:10) + // at run (bootstrap_node.js:394:7) + // at startup (bootstrap_node.js:149:9) + + + for (const individualError of error) { + console.log(individualError); + } + //=> [Error: foo] + //=> [Error: bar] + //=> [Error: baz] + ``` + */ + constructor(errors: ReadonlyArray); + + [Symbol.iterator](): IterableIterator; +} + +export = AggregateError; diff --git a/node_modules/aggregate-error/index.js b/node_modules/aggregate-error/index.js new file mode 100644 index 00000000..ba5bf022 --- /dev/null +++ b/node_modules/aggregate-error/index.js @@ -0,0 +1,47 @@ +'use strict'; +const indentString = require('indent-string'); +const cleanStack = require('clean-stack'); + +const cleanInternalStack = stack => stack.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g, ''); + +class AggregateError extends Error { + constructor(errors) { + if (!Array.isArray(errors)) { + throw new TypeError(`Expected input to be an Array, got ${typeof errors}`); + } + + errors = [...errors].map(error => { + if (error instanceof Error) { + return error; + } + + if (error !== null && typeof error === 'object') { + // Handle plain error objects with message property and/or possibly other metadata + return Object.assign(new Error(error.message), error); + } + + return new Error(error); + }); + + let message = errors + .map(error => { + // The `stack` property is not standardized, so we can't assume it exists + return typeof error.stack === 'string' ? cleanInternalStack(cleanStack(error.stack)) : String(error); + }) + .join('\n'); + message = '\n' + indentString(message, 4); + super(message); + + this.name = 'AggregateError'; + + Object.defineProperty(this, '_errors', {value: errors}); + } + + * [Symbol.iterator]() { + for (const error of this._errors) { + yield error; + } + } +} + +module.exports = AggregateError; diff --git a/node_modules/aggregate-error/license b/node_modules/aggregate-error/license new file mode 100644 index 00000000..e7af2f77 --- /dev/null +++ b/node_modules/aggregate-error/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/aggregate-error/package.json b/node_modules/aggregate-error/package.json new file mode 100644 index 00000000..74fcc376 --- /dev/null +++ b/node_modules/aggregate-error/package.json @@ -0,0 +1,41 @@ +{ + "name": "aggregate-error", + "version": "3.1.0", + "description": "Create an error from multiple errors", + "license": "MIT", + "repository": "sindresorhus/aggregate-error", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "aggregate", + "error", + "combine", + "multiple", + "many", + "collection", + "iterable", + "iterator" + ], + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "devDependencies": { + "ava": "^2.4.0", + "tsd": "^0.7.1", + "xo": "^0.25.3" + } +} diff --git a/node_modules/aggregate-error/readme.md b/node_modules/aggregate-error/readme.md new file mode 100644 index 00000000..850de98a --- /dev/null +++ b/node_modules/aggregate-error/readme.md @@ -0,0 +1,61 @@ +# aggregate-error [![Build Status](https://travis-ci.org/sindresorhus/aggregate-error.svg?branch=master)](https://travis-ci.org/sindresorhus/aggregate-error) + +> Create an error from multiple errors + + +## Install + +``` +$ npm install aggregate-error +``` + + +## Usage + +```js +const AggregateError = require('aggregate-error'); + +const error = new AggregateError([new Error('foo'), 'bar', {message: 'baz'}]); + +throw error; +/* +AggregateError: + Error: foo + at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:33) + Error: bar + at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:13) + Error: baz + at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:13) + at AggregateError (/Users/sindresorhus/dev/aggregate-error/index.js:19:3) + at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:13) + at Module._compile (module.js:556:32) + at Object.Module._extensions..js (module.js:565:10) + at Module.load (module.js:473:32) + at tryModuleLoad (module.js:432:12) + at Function.Module._load (module.js:424:3) + at Module.runMain (module.js:590:10) + at run (bootstrap_node.js:394:7) + at startup (bootstrap_node.js:149:9) +*/ + +for (const individualError of error) { + console.log(individualError); +} +//=> [Error: foo] +//=> [Error: bar] +//=> [Error: baz] +``` + + +## API + +### AggregateError(errors) + +Returns an `Error` that is also an [`Iterable`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators#Iterables) for the individual errors. + +#### errors + +Type: `Array` + +If a string, a new `Error` is created with the string as the error message.
+If a non-Error object, a new `Error` is created with all properties from the object copied over. diff --git a/node_modules/ansi-regex/index.d.ts b/node_modules/ansi-regex/index.d.ts new file mode 100644 index 00000000..2dbf6af2 --- /dev/null +++ b/node_modules/ansi-regex/index.d.ts @@ -0,0 +1,37 @@ +declare namespace ansiRegex { + interface Options { + /** + Match only the first ANSI escape. + + @default false + */ + onlyFirst: boolean; + } +} + +/** +Regular expression for matching ANSI escape codes. + +@example +``` +import ansiRegex = require('ansi-regex'); + +ansiRegex().test('\u001B[4mcake\u001B[0m'); +//=> true + +ansiRegex().test('cake'); +//=> false + +'\u001B[4mcake\u001B[0m'.match(ansiRegex()); +//=> ['\u001B[4m', '\u001B[0m'] + +'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true})); +//=> ['\u001B[4m'] + +'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex()); +//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007'] +``` +*/ +declare function ansiRegex(options?: ansiRegex.Options): RegExp; + +export = ansiRegex; diff --git a/node_modules/ansi-regex/index.js b/node_modules/ansi-regex/index.js new file mode 100644 index 00000000..616ff837 --- /dev/null +++ b/node_modules/ansi-regex/index.js @@ -0,0 +1,10 @@ +'use strict'; + +module.exports = ({onlyFirst = false} = {}) => { + const pattern = [ + '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', + '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))' + ].join('|'); + + return new RegExp(pattern, onlyFirst ? undefined : 'g'); +}; diff --git a/node_modules/ansi-regex/license b/node_modules/ansi-regex/license new file mode 100644 index 00000000..e7af2f77 --- /dev/null +++ b/node_modules/ansi-regex/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/ansi-regex/package.json b/node_modules/ansi-regex/package.json new file mode 100644 index 00000000..017f5311 --- /dev/null +++ b/node_modules/ansi-regex/package.json @@ -0,0 +1,55 @@ +{ + "name": "ansi-regex", + "version": "5.0.1", + "description": "Regular expression for matching ANSI escape codes", + "license": "MIT", + "repository": "chalk/ansi-regex", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd", + "view-supported": "node fixtures/view-codes.js" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "text", + "regex", + "regexp", + "re", + "match", + "test", + "find", + "pattern" + ], + "devDependencies": { + "ava": "^2.4.0", + "tsd": "^0.9.0", + "xo": "^0.25.3" + } +} diff --git a/node_modules/ansi-regex/readme.md b/node_modules/ansi-regex/readme.md new file mode 100644 index 00000000..4d848bc3 --- /dev/null +++ b/node_modules/ansi-regex/readme.md @@ -0,0 +1,78 @@ +# ansi-regex + +> Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) + + +## Install + +``` +$ npm install ansi-regex +``` + + +## Usage + +```js +const ansiRegex = require('ansi-regex'); + +ansiRegex().test('\u001B[4mcake\u001B[0m'); +//=> true + +ansiRegex().test('cake'); +//=> false + +'\u001B[4mcake\u001B[0m'.match(ansiRegex()); +//=> ['\u001B[4m', '\u001B[0m'] + +'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true})); +//=> ['\u001B[4m'] + +'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex()); +//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007'] +``` + + +## API + +### ansiRegex(options?) + +Returns a regex for matching ANSI escape codes. + +#### options + +Type: `object` + +##### onlyFirst + +Type: `boolean`
+Default: `false` *(Matches any ANSI escape codes in a string)* + +Match only the first ANSI escape. + + +## FAQ + +### Why do you test for codes not in the ECMA 48 standard? + +Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. We test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them. + +On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out. + + +## Maintainers + +- [Sindre Sorhus](https://github.com/sindresorhus) +- [Josh Junon](https://github.com/qix-) + + +--- + +

+ + Get professional support for this package with a Tidelift subscription + +
+ + Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. +
+
diff --git a/node_modules/ansi-styles/index.js b/node_modules/ansi-styles/index.js new file mode 100644 index 00000000..90a871c4 --- /dev/null +++ b/node_modules/ansi-styles/index.js @@ -0,0 +1,165 @@ +'use strict'; +const colorConvert = require('color-convert'); + +const wrapAnsi16 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${code + offset}m`; +}; + +const wrapAnsi256 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};5;${code}m`; +}; + +const wrapAnsi16m = (fn, offset) => function () { + const rgb = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; +}; + +function assembleStyles() { + const codes = new Map(); + const styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + + // Bright color + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; + + // Fix humans + styles.color.grey = styles.color.gray; + + for (const groupName of Object.keys(styles)) { + const group = styles[groupName]; + + for (const styleName of Object.keys(group)) { + const style = group[styleName]; + + styles[styleName] = { + open: `\u001B[${style[0]}m`, + close: `\u001B[${style[1]}m` + }; + + group[styleName] = styles[styleName]; + + codes.set(style[0], style[1]); + } + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); + } + + const ansi2ansi = n => n; + const rgb2rgb = (r, g, b) => [r, g, b]; + + styles.color.close = '\u001B[39m'; + styles.bgColor.close = '\u001B[49m'; + + styles.color.ansi = { + ansi: wrapAnsi16(ansi2ansi, 0) + }; + styles.color.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 0) + }; + styles.color.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 0) + }; + + styles.bgColor.ansi = { + ansi: wrapAnsi16(ansi2ansi, 10) + }; + styles.bgColor.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 10) + }; + styles.bgColor.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 10) + }; + + for (let key of Object.keys(colorConvert)) { + if (typeof colorConvert[key] !== 'object') { + continue; + } + + const suite = colorConvert[key]; + + if (key === 'ansi16') { + key = 'ansi'; + } + + if ('ansi16' in suite) { + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); + } + + if ('ansi256' in suite) { + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); + } + + if ('rgb' in suite) { + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); + } + } + + return styles; +} + +// Make the export immutable +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); diff --git a/node_modules/ansi-styles/license b/node_modules/ansi-styles/license new file mode 100644 index 00000000..e7af2f77 --- /dev/null +++ b/node_modules/ansi-styles/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/ansi-styles/package.json b/node_modules/ansi-styles/package.json new file mode 100644 index 00000000..65edb48c --- /dev/null +++ b/node_modules/ansi-styles/package.json @@ -0,0 +1,56 @@ +{ + "name": "ansi-styles", + "version": "3.2.1", + "description": "ANSI escape codes for styling strings in the terminal", + "license": "MIT", + "repository": "chalk/ansi-styles", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava", + "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor" + }, + "files": [ + "index.js" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "color-convert": "^1.9.0" + }, + "devDependencies": { + "ava": "*", + "babel-polyfill": "^6.23.0", + "svg-term-cli": "^2.1.1", + "xo": "*" + }, + "ava": { + "require": "babel-polyfill" + } +} diff --git a/node_modules/ansi-styles/readme.md b/node_modules/ansi-styles/readme.md new file mode 100644 index 00000000..3158e2df --- /dev/null +++ b/node_modules/ansi-styles/readme.md @@ -0,0 +1,147 @@ +# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) + +> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal + +You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. + + + + +## Install + +``` +$ npm install ansi-styles +``` + + +## Usage + +```js +const style = require('ansi-styles'); + +console.log(`${style.green.open}Hello world!${style.green.close}`); + + +// Color conversion between 16/256/truecolor +// NOTE: If conversion goes to 16 colors or 256 colors, the original color +// may be degraded to fit that color palette. This means terminals +// that do not support 16 million colors will best-match the +// original color. +console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close); +console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close); +console.log(style.color.ansi16m.hex('#ABCDEF') + 'Hello world!' + style.color.close); +``` + +## API + +Each style has an `open` and `close` property. + + +## Styles + +### Modifiers + +- `reset` +- `bold` +- `dim` +- `italic` *(Not widely supported)* +- `underline` +- `inverse` +- `hidden` +- `strikethrough` *(Not widely supported)* + +### Colors + +- `black` +- `red` +- `green` +- `yellow` +- `blue` +- `magenta` +- `cyan` +- `white` +- `gray` ("bright black") +- `redBright` +- `greenBright` +- `yellowBright` +- `blueBright` +- `magentaBright` +- `cyanBright` +- `whiteBright` + +### Background colors + +- `bgBlack` +- `bgRed` +- `bgGreen` +- `bgYellow` +- `bgBlue` +- `bgMagenta` +- `bgCyan` +- `bgWhite` +- `bgBlackBright` +- `bgRedBright` +- `bgGreenBright` +- `bgYellowBright` +- `bgBlueBright` +- `bgMagentaBright` +- `bgCyanBright` +- `bgWhiteBright` + + +## Advanced usage + +By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. + +- `style.modifier` +- `style.color` +- `style.bgColor` + +###### Example + +```js +console.log(style.color.green.open); +``` + +Raw escape codes (i.e. without the CSI escape prefix `\u001B[` and render mode postfix `m`) are available under `style.codes`, which returns a `Map` with the open codes as keys and close codes as values. + +###### Example + +```js +console.log(style.codes.get(36)); +//=> 39 +``` + + +## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728) + +`ansi-styles` uses the [`color-convert`](https://github.com/Qix-/color-convert) package to allow for converting between various colors and ANSI escapes, with support for 256 and 16 million colors. + +To use these, call the associated conversion function with the intended output, for example: + +```js +style.color.ansi.rgb(100, 200, 15); // RGB to 16 color ansi foreground code +style.bgColor.ansi.rgb(100, 200, 15); // RGB to 16 color ansi background code + +style.color.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code +style.bgColor.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code + +style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground code +style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code +``` + + +## Related + +- [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal + + +## Maintainers + +- [Sindre Sorhus](https://github.com/sindresorhus) +- [Josh Junon](https://github.com/qix-) + + +## License + +MIT diff --git a/node_modules/append-transform/CHANGELOG.md b/node_modules/append-transform/CHANGELOG.md new file mode 100644 index 00000000..62381b2e --- /dev/null +++ b/node_modules/append-transform/CHANGELOG.md @@ -0,0 +1,14 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [2.0.0](https://github.com/istanbuljs/append-transform/compare/v1.0.0...v2.0.0) (2019-09-09) + + +### ⚠ BREAKING CHANGES + +* Requires Node.js 8 + +### Features + +* Update dependencies ([#12](https://github.com/istanbuljs/append-transform/issues/12)) ([2a8b22b](https://github.com/istanbuljs/append-transform/commit/2a8b22b)) diff --git a/node_modules/append-transform/index.js b/node_modules/append-transform/index.js new file mode 100644 index 00000000..dcbb5ddf --- /dev/null +++ b/node_modules/append-transform/index.js @@ -0,0 +1,91 @@ +'use strict'; +const path = require('path'); +const js = require('default-require-extensions/js'); + +module.exports = appendTransform; + +let count = 0; + +// eslint-disable-next-line node/no-deprecated-api +function appendTransform(transform, ext = '.js', extensions = require.extensions) { + // Generate a unique key for this transform + const key = path.join(__dirname, count.toString()); + count++; + + let forwardGet; + let forwardSet; + + const descriptor = Object.getOwnPropertyDescriptor(extensions, ext) || {value: js, configurable: true}; + + if ( + ((descriptor.get || descriptor.set) && !(descriptor.get && descriptor.set)) || + !descriptor.configurable + ) { + throw new Error('Somebody did bad things to require.extensions["' + ext + '"]'); + } + + if (descriptor.get) { + // Wrap a previous append-transform install and pass through to the getter/setter pair it created + forwardGet = function () { + return descriptor.get(); + }; + + forwardSet = function (val) { + descriptor.set(val); + return forwardGet(); + }; + } else { + forwardGet = function () { + return descriptor.value; + }; + + forwardSet = function (val) { + descriptor.value = val; + return val; + }; + } + + function wrapCustomHook(hook) { + return function (module, filename) { + // We wrap every added extension, but we only apply the transform to the one on top of the stack + if (!module[key]) { + module[key] = true; + + const originalCompile = module._compile; + + // eslint-disable-next-line func-name-matching, func-names + module._compile = function replacementCompile(code, filename) { + module._compile = originalCompile; + code = transform(code, filename); + module._compile(code, filename); + }; + } + + hook(module, filename); + }; + } + + // Wrap the original + forwardSet(wrapCustomHook(forwardGet())); + + const hooks = [forwardGet()]; + + function setCurrentHook(hook) { + const restoreIndex = hooks.indexOf(hook); + + if (restoreIndex === -1) { + hooks.push(forwardSet(wrapCustomHook(hook))); + } else { + // We have already seen this hook, and it is being reverted (proxyquire, etc) - don't wrap again. + hooks.splice(restoreIndex + 1, hooks.length); + forwardSet(hook); + } + } + + Object.defineProperty(extensions, ext, { + configurable: true, + enumerable: true, + get: forwardGet, + set: setCurrentHook + }); +} diff --git a/node_modules/append-transform/license b/node_modules/append-transform/license new file mode 100644 index 00000000..ad5d021e --- /dev/null +++ b/node_modules/append-transform/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) James Talmage (github.com/jamestalmage) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/append-transform/package.json b/node_modules/append-transform/package.json new file mode 100644 index 00000000..a4a0b24e --- /dev/null +++ b/node_modules/append-transform/package.json @@ -0,0 +1,47 @@ +{ + "name": "append-transform", + "version": "2.0.0", + "description": "Install a transform to `require.extensions` that always runs last, even if additional extensions are added later.", + "license": "MIT", + "repository": "istanbuljs/append-transform", + "author": { + "name": "James Talmage", + "email": "james@talmage.io", + "url": "github.com/jamestalmage" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "pretest": "xo", + "test": "nyc --reporter=lcov --reporter=text ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "transform", + "require", + "append", + "last", + "coverage", + "source-map", + "extension", + "module" + ], + "dependencies": { + "default-require-extensions": "^3.0.0" + }, + "devDependencies": { + "ava": "^2.3.0", + "coveralls": "^3.0.6", + "fake-module-system": "^0.3.0", + "nyc": "^14.1.1", + "xo": "^0.24.0" + }, + "xo": { + "ignores": [ + "test/_mock-module-system.js" + ] + } +} diff --git a/node_modules/append-transform/readme.md b/node_modules/append-transform/readme.md new file mode 100644 index 00000000..d4a08588 --- /dev/null +++ b/node_modules/append-transform/readme.md @@ -0,0 +1,76 @@ +# append-transform [![Build Status](https://travis-ci.org/istanbuljs/append-transform.svg?branch=master)](https://travis-ci.org/istanbuljs/append-transform) [![Coverage Status](https://coveralls.io/repos/github/istanbuljs/append-transform/badge.svg?branch=master)](https://coveralls.io/github/istanbuljs/append-transform?branch=master) + +> Install a transform to `require.extensions` that always runs last, even if additional extensions are added later + +The [typical require extension](https://gist.github.com/jamestalmage/df922691475cff66c7e6) looks something like this: + +```js +const myTransform = require('my-transform'); + +const oldExtension = require.extensions['.js']; + +require.extensions['.js'] = (module, filename) => { + const oldCompile = module._compile; + + module._compile = (code, filename) => { + code = myTransform(code); + module._compile = oldCompile; + module._compile(code, filename); + }; + + oldExtension(module, filename); +}; +``` + +In **almost** all cases, that is sufficient and is the method that should be used (check out [`pirates`](https://www.npmjs.com/package/pirates) for an easy way to do it correctly). In **rare** cases you must ensure your transform remains the last one, even if other transforms are added later. For example, `nyc` uses this module to ensure its transform is applied last so it can capture the final source-map information, and ensure any language extensions it can't understand are already transpiled (ES2015 via `babel` for instance). + +*WARNING:* You should be sure you *actually* need this, as it takes control away from the user. Your transform remains the last one applied, even as users continue to add more transforms. This is potentially confusing. Coverage libraries like `nyc` (and `istanbul` on which it relies) have valid reasons for doing this, but you should prefer conventional transform installation via [`pirates`](https://www.npmjs.com/package/pirates). + +References: +- [Detailed Breakdown of How Require Extensions Work](https://gist.github.com/jamestalmage/df922691475cff66c7e6) +- The [test suite](https://github.com/avajs/append-transform/blob/master/test/execution-order.js) provides a good overview of how this library manipulates the order in which transforms are applied. + + +## Install + +``` +$ npm install --save append-transform +``` + + +## Usage + +```js +const appendTransform = require('append-transform'); +const myTransform = require('my-transform'); + +appendTransform((code, filename) => { + if (myTransform.shouldTransform(filename)) { + code = myTransform.transform(code); + } + + return code; +}); +``` + +## API + +### appendTransform(transformFn, [extension]) + +#### transformFn + +Type: `function(code: string, filename: string)` + +A callback that modifies the incoming `code` argument in some way, and returns the transformed result. `filename` is provided to filter which files the transform applies to. If a transform should not manipulate a particular file, just return `code` without modifying it. It is fairly common to avoid transforming files in `node_modules`. In that case you may want to use [`node-modules-regexp`](https://www.npmjs.com/package/node-modules-regexp) to help reliably detect `node_modules` paths and avoid transforming them. + +#### extension + +Type: `string`
+Default: `'.js'` + +The extension for the types of files this transform is capable of handling. + + +## License + +MIT © [James Talmage](https://github.com/jamestalmage) diff --git a/node_modules/archy/.travis.yml b/node_modules/archy/.travis.yml new file mode 100644 index 00000000..895dbd36 --- /dev/null +++ b/node_modules/archy/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.6 + - 0.8 diff --git a/node_modules/archy/LICENSE b/node_modules/archy/LICENSE new file mode 100644 index 00000000..ee27ba4b --- /dev/null +++ b/node_modules/archy/LICENSE @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/archy/examples/beep.js b/node_modules/archy/examples/beep.js new file mode 100644 index 00000000..9c070479 --- /dev/null +++ b/node_modules/archy/examples/beep.js @@ -0,0 +1,24 @@ +var archy = require('../'); +var s = archy({ + label : 'beep', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny' ] + }, + 'human' + ] + }, + 'party\ntime!' + ] + } + ] +}); +console.log(s); diff --git a/node_modules/archy/examples/multi_line.js b/node_modules/archy/examples/multi_line.js new file mode 100644 index 00000000..8afdfada --- /dev/null +++ b/node_modules/archy/examples/multi_line.js @@ -0,0 +1,25 @@ +var archy = require('../'); + +var s = archy({ + label : 'beep\none\ntwo', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O\nwheee', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny\nmeat' ] + }, + 'creature' + ] + }, + 'party\ntime!' + ] + } + ] +}); +console.log(s); diff --git a/node_modules/archy/index.js b/node_modules/archy/index.js new file mode 100644 index 00000000..869d64e6 --- /dev/null +++ b/node_modules/archy/index.js @@ -0,0 +1,35 @@ +module.exports = function archy (obj, prefix, opts) { + if (prefix === undefined) prefix = ''; + if (!opts) opts = {}; + var chr = function (s) { + var chars = { + '│' : '|', + '└' : '`', + '├' : '+', + '─' : '-', + '┬' : '-' + }; + return opts.unicode === false ? chars[s] : s; + }; + + if (typeof obj === 'string') obj = { label : obj }; + + var nodes = obj.nodes || []; + var lines = (obj.label || '').split('\n'); + var splitter = '\n' + prefix + (nodes.length ? chr('│') : ' ') + ' '; + + return prefix + + lines.join(splitter) + '\n' + + nodes.map(function (node, ix) { + var last = ix === nodes.length - 1; + var more = node.nodes && node.nodes.length; + var prefix_ = prefix + (last ? ' ' : chr('│')) + ' '; + + return prefix + + (last ? chr('└') : chr('├')) + chr('─') + + (more ? chr('┬') : chr('─')) + ' ' + + archy(node, prefix_, opts).slice(prefix.length + 2) + ; + }).join('') + ; +}; diff --git a/node_modules/archy/package.json b/node_modules/archy/package.json new file mode 100644 index 00000000..0ce3149f --- /dev/null +++ b/node_modules/archy/package.json @@ -0,0 +1,40 @@ +{ + "name" : "archy", + "version" : "1.0.0", + "description" : "render nested hierarchies `npm ls` style with unicode pipes", + "main" : "index.js", + "devDependencies" : { + "tap" : "~0.3.3", + "tape" : "~0.1.1" + }, + "scripts" : { + "test" : "tap test" + }, + "testling" : { + "files" : "test/*.js", + "browsers" : { + "iexplore" : [ "6.0", "7.0", "8.0", "9.0" ], + "chrome" : [ "20.0" ], + "firefox" : [ "10.0", "15.0" ], + "safari" : [ "5.1" ], + "opera" : [ "12.0" ] + } + }, + "repository" : { + "type" : "git", + "url" : "http://github.com/substack/node-archy.git" + }, + "keywords" : [ + "hierarchy", + "npm ls", + "unicode", + "pretty", + "print" + ], + "author" : { + "name" : "James Halliday", + "email" : "mail@substack.net", + "url" : "http://substack.net" + }, + "license" : "MIT" +} diff --git a/node_modules/archy/readme.markdown b/node_modules/archy/readme.markdown new file mode 100644 index 00000000..ef7a5cf3 --- /dev/null +++ b/node_modules/archy/readme.markdown @@ -0,0 +1,88 @@ +# archy + +Render nested hierarchies `npm ls` style with unicode pipes. + +[![browser support](http://ci.testling.com/substack/node-archy.png)](http://ci.testling.com/substack/node-archy) + +[![build status](https://secure.travis-ci.org/substack/node-archy.png)](http://travis-ci.org/substack/node-archy) + +# example + +``` js +var archy = require('archy'); +var s = archy({ + label : 'beep', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny' ] + }, + 'human' + ] + }, + 'party\ntime!' + ] + } + ] +}); +console.log(s); +``` + +output + +``` +beep +├── ity +└─┬ boop + ├─┬ o_O + │ ├─┬ oh + │ │ ├── hello + │ │ └── puny + │ └── human + └── party + time! +``` + +# methods + +var archy = require('archy') + +## archy(obj, prefix='', opts={}) + +Return a string representation of `obj` with unicode pipe characters like how +`npm ls` looks. + +`obj` should be a tree of nested objects with `'label'` and `'nodes'` fields. +`'label'` is a string of text to display at a node level and `'nodes'` is an +array of the descendents of the current node. + +If a node is a string, that string will be used as the `'label'` and an empty +array of `'nodes'` will be used. + +`prefix` gets prepended to all the lines and is used by the algorithm to +recursively update. + +If `'label'` has newlines they will be indented at the present indentation level +with the current prefix. + +To disable unicode results in favor of all-ansi output set `opts.unicode` to +`false`. + +# install + +With [npm](http://npmjs.org) do: + +``` +npm install archy +``` + +# license + +MIT diff --git a/node_modules/archy/test/beep.js b/node_modules/archy/test/beep.js new file mode 100644 index 00000000..4ea74f9c --- /dev/null +++ b/node_modules/archy/test/beep.js @@ -0,0 +1,40 @@ +var test = require('tape'); +var archy = require('../'); + +test('beep', function (t) { + var s = archy({ + label : 'beep', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny' ] + }, + 'human' + ] + }, + 'party!' + ] + } + ] + }); + t.equal(s, [ + 'beep', + '├── ity', + '└─┬ boop', + ' ├─┬ o_O', + ' │ ├─┬ oh', + ' │ │ ├── hello', + ' │ │ └── puny', + ' │ └── human', + ' └── party!', + '' + ].join('\n')); + t.end(); +}); diff --git a/node_modules/archy/test/multi_line.js b/node_modules/archy/test/multi_line.js new file mode 100644 index 00000000..2cf2154d --- /dev/null +++ b/node_modules/archy/test/multi_line.js @@ -0,0 +1,45 @@ +var test = require('tape'); +var archy = require('../'); + +test('multi-line', function (t) { + var s = archy({ + label : 'beep\none\ntwo', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O\nwheee', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny\nmeat' ] + }, + 'creature' + ] + }, + 'party\ntime!' + ] + } + ] + }); + t.equal(s, [ + 'beep', + '│ one', + '│ two', + '├── ity', + '└─┬ boop', + ' ├─┬ o_O', + ' │ │ wheee', + ' │ ├─┬ oh', + ' │ │ ├── hello', + ' │ │ └── puny', + ' │ │ meat', + ' │ └── creature', + ' └── party', + ' time!', + '' + ].join('\n')); + t.end(); +}); diff --git a/node_modules/archy/test/non_unicode.js b/node_modules/archy/test/non_unicode.js new file mode 100644 index 00000000..7204d332 --- /dev/null +++ b/node_modules/archy/test/non_unicode.js @@ -0,0 +1,40 @@ +var test = require('tape'); +var archy = require('../'); + +test('beep', function (t) { + var s = archy({ + label : 'beep', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny' ] + }, + 'human' + ] + }, + 'party!' + ] + } + ] + }, '', { unicode : false }); + t.equal(s, [ + 'beep', + '+-- ity', + '`-- boop', + ' +-- o_O', + ' | +-- oh', + ' | | +-- hello', + ' | | `-- puny', + ' | `-- human', + ' `-- party!', + '' + ].join('\n')); + t.end(); +}); diff --git a/node_modules/argparse/CHANGELOG.md b/node_modules/argparse/CHANGELOG.md new file mode 100644 index 00000000..a43c628c --- /dev/null +++ b/node_modules/argparse/CHANGELOG.md @@ -0,0 +1,185 @@ +1.0.10 / 2018-02-15 +------------------ + +- Use .concat instead of + for arrays, #122. + + +1.0.9 / 2016-09-29 +------------------ + +- Rerelease after 1.0.8 - deps cleanup. + + +1.0.8 / 2016-09-29 +------------------ + +- Maintenance (deps bump, fix node 6.5+ tests, coverage report). + + +1.0.7 / 2016-03-17 +------------------ + +- Teach `addArgument` to accept string arg names. #97, @tomxtobin. + + +1.0.6 / 2016-02-06 +------------------ + +- Maintenance: moved to eslint & updated CS. + + +1.0.5 / 2016-02-05 +------------------ + +- Removed lodash dependency to significantly reduce install size. + Thanks to @mourner. + + +1.0.4 / 2016-01-17 +------------------ + +- Maintenance: lodash update to 4.0.0. + + +1.0.3 / 2015-10-27 +------------------ + +- Fix parse `=` in args: `--examplepath="C:\myfolder\env=x64"`. #84, @CatWithApple. + + +1.0.2 / 2015-03-22 +------------------ + +- Relaxed lodash version dependency. + + +1.0.1 / 2015-02-20 +------------------ + +- Changed dependencies to be compatible with ancient nodejs. + + +1.0.0 / 2015-02-19 +------------------ + +- Maintenance release. +- Replaced `underscore` with `lodash`. +- Bumped version to 1.0.0 to better reflect semver meaning. +- HISTORY.md -> CHANGELOG.md + + +0.1.16 / 2013-12-01 +------------------- + +- Maintenance release. Updated dependencies and docs. + + +0.1.15 / 2013-05-13 +------------------- + +- Fixed #55, @trebor89 + + +0.1.14 / 2013-05-12 +------------------- + +- Fixed #62, @maxtaco + + +0.1.13 / 2013-04-08 +------------------- + +- Added `.npmignore` to reduce package size + + +0.1.12 / 2013-02-10 +------------------- + +- Fixed conflictHandler (#46), @hpaulj + + +0.1.11 / 2013-02-07 +------------------- + +- Multiple bugfixes, @hpaulj +- Added 70+ tests (ported from python), @hpaulj +- Added conflictHandler, @applepicke +- Added fromfilePrefixChar, @hpaulj + + +0.1.10 / 2012-12-30 +------------------- + +- Added [mutual exclusion](http://docs.python.org/dev/library/argparse.html#mutual-exclusion) + support, thanks to @hpaulj +- Fixed options check for `storeConst` & `appendConst` actions, thanks to @hpaulj + + +0.1.9 / 2012-12-27 +------------------ + +- Fixed option dest interferens with other options (issue #23), thanks to @hpaulj +- Fixed default value behavior with `*` positionals, thanks to @hpaulj +- Improve `getDefault()` behavior, thanks to @hpaulj +- Imrove negative argument parsing, thanks to @hpaulj + + +0.1.8 / 2012-12-01 +------------------ + +- Fixed parser parents (issue #19), thanks to @hpaulj +- Fixed negative argument parse (issue #20), thanks to @hpaulj + + +0.1.7 / 2012-10-14 +------------------ + +- Fixed 'choices' argument parse (issue #16) +- Fixed stderr output (issue #15) + + +0.1.6 / 2012-09-09 +------------------ + +- Fixed check for conflict of options (thanks to @tomxtobin) + + +0.1.5 / 2012-09-03 +------------------ + +- Fix parser #setDefaults method (thanks to @tomxtobin) + + +0.1.4 / 2012-07-30 +------------------ + +- Fixed pseudo-argument support (thanks to @CGamesPlay) +- Fixed addHelp default (should be true), if not set (thanks to @benblank) + + +0.1.3 / 2012-06-27 +------------------ + +- Fixed formatter api name: Formatter -> HelpFormatter + + +0.1.2 / 2012-05-29 +------------------ + +- Added basic tests +- Removed excess whitespace in help +- Fixed error reporting, when parcer with subcommands + called with empty arguments + + +0.1.1 / 2012-05-23 +------------------ + +- Fixed line wrapping in help formatter +- Added better error reporting on invalid arguments + + +0.1.0 / 2012-05-16 +------------------ + +- First release. diff --git a/node_modules/argparse/LICENSE b/node_modules/argparse/LICENSE new file mode 100644 index 00000000..1afdae55 --- /dev/null +++ b/node_modules/argparse/LICENSE @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (C) 2012 by Vitaly Puzrin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/argparse/README.md b/node_modules/argparse/README.md new file mode 100644 index 00000000..7fa6c405 --- /dev/null +++ b/node_modules/argparse/README.md @@ -0,0 +1,257 @@ +argparse +======== + +[![Build Status](https://secure.travis-ci.org/nodeca/argparse.svg?branch=master)](http://travis-ci.org/nodeca/argparse) +[![NPM version](https://img.shields.io/npm/v/argparse.svg)](https://www.npmjs.org/package/argparse) + +CLI arguments parser for node.js. Javascript port of python's +[argparse](http://docs.python.org/dev/library/argparse.html) module +(original version 3.2). That's a full port, except some very rare options, +recorded in issue tracker. + +**NB. Difference with original.** + +- Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/). +- Use `defaultValue` instead of `default`. +- Use `argparse.Const.REMAINDER` instead of `argparse.REMAINDER`, and + similarly for constant values `OPTIONAL`, `ZERO_OR_MORE`, and `ONE_OR_MORE` + (aliases for `nargs` values `'?'`, `'*'`, `'+'`, respectively), and + `SUPPRESS`. + + +Example +======= + +test.js file: + +```javascript +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp:true, + description: 'Argparse example' +}); +parser.addArgument( + [ '-f', '--foo' ], + { + help: 'foo bar' + } +); +parser.addArgument( + [ '-b', '--bar' ], + { + help: 'bar foo' + } +); +parser.addArgument( + '--baz', + { + help: 'baz bar' + } +); +var args = parser.parseArgs(); +console.dir(args); +``` + +Display help: + +``` +$ ./test.js -h +usage: example.js [-h] [-v] [-f FOO] [-b BAR] [--baz BAZ] + +Argparse example + +Optional arguments: + -h, --help Show this help message and exit. + -v, --version Show program's version number and exit. + -f FOO, --foo FOO foo bar + -b BAR, --bar BAR bar foo + --baz BAZ baz bar +``` + +Parse arguments: + +``` +$ ./test.js -f=3 --bar=4 --baz 5 +{ foo: '3', bar: '4', baz: '5' } +``` + +More [examples](https://github.com/nodeca/argparse/tree/master/examples). + + +ArgumentParser objects +====================== + +``` +new ArgumentParser({parameters hash}); +``` + +Creates a new ArgumentParser object. + +**Supported params:** + +- ```description``` - Text to display before the argument help. +- ```epilog``` - Text to display after the argument help. +- ```addHelp``` - Add a -h/–help option to the parser. (default: true) +- ```argumentDefault``` - Set the global default value for arguments. (default: null) +- ```parents``` - A list of ArgumentParser objects whose arguments should also be included. +- ```prefixChars``` - The set of characters that prefix optional arguments. (default: ‘-‘) +- ```formatterClass``` - A class for customizing the help output. +- ```prog``` - The name of the program (default: `path.basename(process.argv[1])`) +- ```usage``` - The string describing the program usage (default: generated) +- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals. + +**Not supported yet** + +- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read. + + +Details in [original ArgumentParser guide](http://docs.python.org/dev/library/argparse.html#argumentparser-objects) + + +addArgument() method +==================== + +``` +ArgumentParser.addArgument(name or flag or [name] or [flags...], {options}) +``` + +Defines how a single command-line argument should be parsed. + +- ```name or flag or [name] or [flags...]``` - Either a positional name + (e.g., `'foo'`), a single option (e.g., `'-f'` or `'--foo'`), an array + of a single positional name (e.g., `['foo']`), or an array of options + (e.g., `['-f', '--foo']`). + +Options: + +- ```action``` - The basic type of action to be taken when this argument is encountered at the command line. +- ```nargs```- The number of command-line arguments that should be consumed. +- ```constant``` - A constant value required by some action and nargs selections. +- ```defaultValue``` - The value produced if the argument is absent from the command line. +- ```type``` - The type to which the command-line argument should be converted. +- ```choices``` - A container of the allowable values for the argument. +- ```required``` - Whether or not the command-line option may be omitted (optionals only). +- ```help``` - A brief description of what the argument does. +- ```metavar``` - A name for the argument in usage messages. +- ```dest``` - The name of the attribute to be added to the object returned by parseArgs(). + +Details in [original add_argument guide](http://docs.python.org/dev/library/argparse.html#the-add-argument-method) + + +Action (some details) +================ + +ArgumentParser objects associate command-line arguments with actions. +These actions can do just about anything with the command-line arguments associated +with them, though most actions simply add an attribute to the object returned by +parseArgs(). The action keyword argument specifies how the command-line arguments +should be handled. The supported actions are: + +- ```store``` - Just stores the argument’s value. This is the default action. +- ```storeConst``` - Stores value, specified by the const keyword argument. + (Note that the const keyword argument defaults to the rather unhelpful None.) + The 'storeConst' action is most commonly used with optional arguments, that + specify some sort of flag. +- ```storeTrue``` and ```storeFalse``` - Stores values True and False + respectively. These are special cases of 'storeConst'. +- ```append``` - Stores a list, and appends each argument value to the list. + This is useful to allow an option to be specified multiple times. +- ```appendConst``` - Stores a list, and appends value, specified by the + const keyword argument to the list. (Note, that the const keyword argument defaults + is None.) The 'appendConst' action is typically used when multiple arguments need + to store constants to the same list. +- ```count``` - Counts the number of times a keyword argument occurs. For example, + used for increasing verbosity levels. +- ```help``` - Prints a complete help message for all the options in the current + parser and then exits. By default a help action is automatically added to the parser. + See ArgumentParser for details of how the output is created. +- ```version``` - Prints version information and exit. Expects a `version=` + keyword argument in the addArgument() call. + +Details in [original action guide](http://docs.python.org/dev/library/argparse.html#action) + + +Sub-commands +============ + +ArgumentParser.addSubparsers() + +Many programs split their functionality into a number of sub-commands, for +example, the svn program can invoke sub-commands like `svn checkout`, `svn update`, +and `svn commit`. Splitting up functionality this way can be a particularly good +idea when a program performs several different functions which require different +kinds of command-line arguments. `ArgumentParser` supports creation of such +sub-commands with `addSubparsers()` method. The `addSubparsers()` method is +normally called with no arguments and returns an special action object. +This object has a single method `addParser()`, which takes a command name and +any `ArgumentParser` constructor arguments, and returns an `ArgumentParser` object +that can be modified as usual. + +Example: + +sub_commands.js +```javascript +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp:true, + description: 'Argparse examples: sub-commands', +}); + +var subparsers = parser.addSubparsers({ + title:'subcommands', + dest:"subcommand_name" +}); + +var bar = subparsers.addParser('c1', {addHelp:true}); +bar.addArgument( + [ '-f', '--foo' ], + { + action: 'store', + help: 'foo3 bar3' + } +); +var bar = subparsers.addParser( + 'c2', + {aliases:['co'], addHelp:true} +); +bar.addArgument( + [ '-b', '--bar' ], + { + action: 'store', + type: 'int', + help: 'foo3 bar3' + } +); + +var args = parser.parseArgs(); +console.dir(args); + +``` + +Details in [original sub-commands guide](http://docs.python.org/dev/library/argparse.html#sub-commands) + + +Contributors +============ + +- [Eugene Shkuropat](https://github.com/shkuropat) +- [Paul Jacobson](https://github.com/hpaulj) + +[others](https://github.com/nodeca/argparse/graphs/contributors) + +License +======= + +Copyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin). +Released under the MIT license. See +[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details. + + diff --git a/node_modules/argparse/index.js b/node_modules/argparse/index.js new file mode 100644 index 00000000..3bbc1432 --- /dev/null +++ b/node_modules/argparse/index.js @@ -0,0 +1,3 @@ +'use strict'; + +module.exports = require('./lib/argparse'); diff --git a/node_modules/argparse/lib/action.js b/node_modules/argparse/lib/action.js new file mode 100644 index 00000000..1483c79f --- /dev/null +++ b/node_modules/argparse/lib/action.js @@ -0,0 +1,146 @@ +/** + * class Action + * + * Base class for all actions + * Do not call in your code, use this class only for inherits your own action + * + * Information about how to convert command line strings to Javascript objects. + * Action objects are used by an ArgumentParser to represent the information + * needed to parse a single argument from one or more strings from the command + * line. The keyword arguments to the Action constructor are also all attributes + * of Action instances. + * + * ##### Allowed keywords: + * + * - `store` + * - `storeConstant` + * - `storeTrue` + * - `storeFalse` + * - `append` + * - `appendConstant` + * - `count` + * - `help` + * - `version` + * + * Information about action options see [[Action.new]] + * + * See also [original guide](http://docs.python.org/dev/library/argparse.html#action) + * + **/ + +'use strict'; + + +// Constants +var c = require('./const'); + + +/** + * new Action(options) + * + * Base class for all actions. Used only for inherits + * + * + * ##### Options: + * + * - `optionStrings` A list of command-line option strings for the action. + * - `dest` Attribute to hold the created object(s) + * - `nargs` The number of command-line arguments that should be consumed. + * By default, one argument will be consumed and a single value will be + * produced. + * - `constant` Default value for an action with no value. + * - `defaultValue` The value to be produced if the option is not specified. + * - `type` Cast to 'string'|'int'|'float'|'complex'|function (string). If + * None, 'string'. + * - `choices` The choices available. + * - `required` True if the action must always be specified at the command + * line. + * - `help` The help describing the argument. + * - `metavar` The name to be used for the option's argument with the help + * string. If None, the 'dest' value will be used as the name. + * + * ##### nargs supported values: + * + * - `N` (an integer) consumes N arguments (and produces a list) + * - `?` consumes zero or one arguments + * - `*` consumes zero or more arguments (and produces a list) + * - `+` consumes one or more arguments (and produces a list) + * + * Note: that the difference between the default and nargs=1 is that with the + * default, a single value will be produced, while with nargs=1, a list + * containing a single value will be produced. + **/ +var Action = module.exports = function Action(options) { + options = options || {}; + this.optionStrings = options.optionStrings || []; + this.dest = options.dest; + this.nargs = typeof options.nargs !== 'undefined' ? options.nargs : null; + this.constant = typeof options.constant !== 'undefined' ? options.constant : null; + this.defaultValue = options.defaultValue; + this.type = typeof options.type !== 'undefined' ? options.type : null; + this.choices = typeof options.choices !== 'undefined' ? options.choices : null; + this.required = typeof options.required !== 'undefined' ? options.required : false; + this.help = typeof options.help !== 'undefined' ? options.help : null; + this.metavar = typeof options.metavar !== 'undefined' ? options.metavar : null; + + if (!(this.optionStrings instanceof Array)) { + throw new Error('optionStrings should be an array'); + } + if (typeof this.required !== 'undefined' && typeof this.required !== 'boolean') { + throw new Error('required should be a boolean'); + } +}; + +/** + * Action#getName -> String + * + * Tells action name + **/ +Action.prototype.getName = function () { + if (this.optionStrings.length > 0) { + return this.optionStrings.join('/'); + } else if (this.metavar !== null && this.metavar !== c.SUPPRESS) { + return this.metavar; + } else if (typeof this.dest !== 'undefined' && this.dest !== c.SUPPRESS) { + return this.dest; + } + return null; +}; + +/** + * Action#isOptional -> Boolean + * + * Return true if optional + **/ +Action.prototype.isOptional = function () { + return !this.isPositional(); +}; + +/** + * Action#isPositional -> Boolean + * + * Return true if positional + **/ +Action.prototype.isPositional = function () { + return (this.optionStrings.length === 0); +}; + +/** + * Action#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Should be implemented in inherited classes + * + * ##### Example + * + * ActionCount.prototype.call = function (parser, namespace, values, optionString) { + * namespace.set(this.dest, (namespace[this.dest] || 0) + 1); + * }; + * + **/ +Action.prototype.call = function () { + throw new Error('.call() not defined');// Not Implemented error +}; diff --git a/node_modules/argparse/lib/action/append.js b/node_modules/argparse/lib/action/append.js new file mode 100644 index 00000000..b5da0de2 --- /dev/null +++ b/node_modules/argparse/lib/action/append.js @@ -0,0 +1,53 @@ +/*:nodoc:* + * class ActionAppend + * + * This action stores a list, and appends each argument value to the list. + * This is useful to allow an option to be specified multiple times. + * This class inherided from [[Action]] + * + **/ + +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// Constants +var c = require('../const'); + +/*:nodoc:* + * new ActionAppend(options) + * - options (object): options hash see [[Action.new]] + * + * Note: options.nargs should be optional for constants + * and more then zero for other + **/ +var ActionAppend = module.exports = function ActionAppend(options) { + options = options || {}; + if (this.nargs <= 0) { + throw new Error('nargs for append actions must be > 0; if arg ' + + 'strings are not supplying the value to append, ' + + 'the append const action may be more appropriate'); + } + if (!!this.constant && this.nargs !== c.OPTIONAL) { + throw new Error('nargs must be OPTIONAL to supply const'); + } + Action.call(this, options); +}; +util.inherits(ActionAppend, Action); + +/*:nodoc:* + * ActionAppend#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionAppend.prototype.call = function (parser, namespace, values) { + var items = (namespace[this.dest] || []).slice(); + items.push(values); + namespace.set(this.dest, items); +}; diff --git a/node_modules/argparse/lib/action/append/constant.js b/node_modules/argparse/lib/action/append/constant.js new file mode 100644 index 00000000..313f5d2e --- /dev/null +++ b/node_modules/argparse/lib/action/append/constant.js @@ -0,0 +1,47 @@ +/*:nodoc:* + * class ActionAppendConstant + * + * This stores a list, and appends the value specified by + * the const keyword argument to the list. + * (Note that the const keyword argument defaults to null.) + * The 'appendConst' action is typically useful when multiple + * arguments need to store constants to the same list. + * + * This class inherited from [[Action]] + **/ + +'use strict'; + +var util = require('util'); + +var Action = require('../../action'); + +/*:nodoc:* + * new ActionAppendConstant(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionAppendConstant = module.exports = function ActionAppendConstant(options) { + options = options || {}; + options.nargs = 0; + if (typeof options.constant === 'undefined') { + throw new Error('constant option is required for appendAction'); + } + Action.call(this, options); +}; +util.inherits(ActionAppendConstant, Action); + +/*:nodoc:* + * ActionAppendConstant#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionAppendConstant.prototype.call = function (parser, namespace) { + var items = [].concat(namespace[this.dest] || []); + items.push(this.constant); + namespace.set(this.dest, items); +}; diff --git a/node_modules/argparse/lib/action/count.js b/node_modules/argparse/lib/action/count.js new file mode 100644 index 00000000..d6a5899d --- /dev/null +++ b/node_modules/argparse/lib/action/count.js @@ -0,0 +1,40 @@ +/*:nodoc:* + * class ActionCount + * + * This counts the number of times a keyword argument occurs. + * For example, this is useful for increasing verbosity levels + * + * This class inherided from [[Action]] + * + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +/*:nodoc:* + * new ActionCount(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionCount = module.exports = function ActionCount(options) { + options = options || {}; + options.nargs = 0; + + Action.call(this, options); +}; +util.inherits(ActionCount, Action); + +/*:nodoc:* + * ActionCount#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionCount.prototype.call = function (parser, namespace) { + namespace.set(this.dest, (namespace[this.dest] || 0) + 1); +}; diff --git a/node_modules/argparse/lib/action/help.js b/node_modules/argparse/lib/action/help.js new file mode 100644 index 00000000..b40e05a6 --- /dev/null +++ b/node_modules/argparse/lib/action/help.js @@ -0,0 +1,47 @@ +/*:nodoc:* + * class ActionHelp + * + * Support action for printing help + * This class inherided from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// Constants +var c = require('../const'); + +/*:nodoc:* + * new ActionHelp(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionHelp = module.exports = function ActionHelp(options) { + options = options || {}; + if (options.defaultValue !== null) { + options.defaultValue = options.defaultValue; + } else { + options.defaultValue = c.SUPPRESS; + } + options.dest = (options.dest !== null ? options.dest : c.SUPPRESS); + options.nargs = 0; + Action.call(this, options); + +}; +util.inherits(ActionHelp, Action); + +/*:nodoc:* + * ActionHelp#call(parser, namespace, values, optionString) + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Print help and exit + **/ +ActionHelp.prototype.call = function (parser) { + parser.printHelp(); + parser.exit(); +}; diff --git a/node_modules/argparse/lib/action/store.js b/node_modules/argparse/lib/action/store.js new file mode 100644 index 00000000..283b8609 --- /dev/null +++ b/node_modules/argparse/lib/action/store.js @@ -0,0 +1,50 @@ +/*:nodoc:* + * class ActionStore + * + * This action just stores the argument’s value. This is the default action. + * + * This class inherited from [[Action]] + * + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// Constants +var c = require('../const'); + + +/*:nodoc:* + * new ActionStore(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionStore = module.exports = function ActionStore(options) { + options = options || {}; + if (this.nargs <= 0) { + throw new Error('nargs for store actions must be > 0; if you ' + + 'have nothing to store, actions such as store ' + + 'true or store const may be more appropriate'); + + } + if (typeof this.constant !== 'undefined' && this.nargs !== c.OPTIONAL) { + throw new Error('nargs must be OPTIONAL to supply const'); + } + Action.call(this, options); +}; +util.inherits(ActionStore, Action); + +/*:nodoc:* + * ActionStore#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionStore.prototype.call = function (parser, namespace, values) { + namespace.set(this.dest, values); +}; diff --git a/node_modules/argparse/lib/action/store/constant.js b/node_modules/argparse/lib/action/store/constant.js new file mode 100644 index 00000000..23caa897 --- /dev/null +++ b/node_modules/argparse/lib/action/store/constant.js @@ -0,0 +1,43 @@ +/*:nodoc:* + * class ActionStoreConstant + * + * This action stores the value specified by the const keyword argument. + * (Note that the const keyword argument defaults to the rather unhelpful null.) + * The 'store_const' action is most commonly used with optional + * arguments that specify some sort of flag. + * + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../../action'); + +/*:nodoc:* + * new ActionStoreConstant(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionStoreConstant = module.exports = function ActionStoreConstant(options) { + options = options || {}; + options.nargs = 0; + if (typeof options.constant === 'undefined') { + throw new Error('constant option is required for storeAction'); + } + Action.call(this, options); +}; +util.inherits(ActionStoreConstant, Action); + +/*:nodoc:* + * ActionStoreConstant#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionStoreConstant.prototype.call = function (parser, namespace) { + namespace.set(this.dest, this.constant); +}; diff --git a/node_modules/argparse/lib/action/store/false.js b/node_modules/argparse/lib/action/store/false.js new file mode 100644 index 00000000..9924f461 --- /dev/null +++ b/node_modules/argparse/lib/action/store/false.js @@ -0,0 +1,27 @@ +/*:nodoc:* + * class ActionStoreFalse + * + * This action store the values False respectively. + * This is special cases of 'storeConst' + * + * This class inherited from [[Action]] + **/ + +'use strict'; + +var util = require('util'); + +var ActionStoreConstant = require('./constant'); + +/*:nodoc:* + * new ActionStoreFalse(options) + * - options (object): hash of options see [[Action.new]] + * + **/ +var ActionStoreFalse = module.exports = function ActionStoreFalse(options) { + options = options || {}; + options.constant = false; + options.defaultValue = options.defaultValue !== null ? options.defaultValue : true; + ActionStoreConstant.call(this, options); +}; +util.inherits(ActionStoreFalse, ActionStoreConstant); diff --git a/node_modules/argparse/lib/action/store/true.js b/node_modules/argparse/lib/action/store/true.js new file mode 100644 index 00000000..9e22f7d4 --- /dev/null +++ b/node_modules/argparse/lib/action/store/true.js @@ -0,0 +1,26 @@ +/*:nodoc:* + * class ActionStoreTrue + * + * This action store the values True respectively. + * This isspecial cases of 'storeConst' + * + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var ActionStoreConstant = require('./constant'); + +/*:nodoc:* + * new ActionStoreTrue(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionStoreTrue = module.exports = function ActionStoreTrue(options) { + options = options || {}; + options.constant = true; + options.defaultValue = options.defaultValue !== null ? options.defaultValue : false; + ActionStoreConstant.call(this, options); +}; +util.inherits(ActionStoreTrue, ActionStoreConstant); diff --git a/node_modules/argparse/lib/action/subparsers.js b/node_modules/argparse/lib/action/subparsers.js new file mode 100644 index 00000000..99dfedd0 --- /dev/null +++ b/node_modules/argparse/lib/action/subparsers.js @@ -0,0 +1,149 @@ +/** internal + * class ActionSubparsers + * + * Support the creation of such sub-commands with the addSubparsers() + * + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); +var format = require('util').format; + + +var Action = require('../action'); + +// Constants +var c = require('../const'); + +// Errors +var argumentErrorHelper = require('../argument/error'); + + +/*:nodoc:* + * new ChoicesPseudoAction(name, help) + * + * Create pseudo action for correct help text + * + **/ +function ChoicesPseudoAction(name, help) { + var options = { + optionStrings: [], + dest: name, + help: help + }; + + Action.call(this, options); +} + +util.inherits(ChoicesPseudoAction, Action); + +/** + * new ActionSubparsers(options) + * - options (object): options hash see [[Action.new]] + * + **/ +function ActionSubparsers(options) { + options = options || {}; + options.dest = options.dest || c.SUPPRESS; + options.nargs = c.PARSER; + + this.debug = (options.debug === true); + + this._progPrefix = options.prog; + this._parserClass = options.parserClass; + this._nameParserMap = {}; + this._choicesActions = []; + + options.choices = this._nameParserMap; + Action.call(this, options); +} + +util.inherits(ActionSubparsers, Action); + +/*:nodoc:* + * ActionSubparsers#addParser(name, options) -> ArgumentParser + * - name (string): sub-command name + * - options (object): see [[ArgumentParser.new]] + * + * Note: + * addParser supports an additional aliases option, + * which allows multiple strings to refer to the same subparser. + * This example, like svn, aliases co as a shorthand for checkout + * + **/ +ActionSubparsers.prototype.addParser = function (name, options) { + var parser; + + var self = this; + + options = options || {}; + + options.debug = (this.debug === true); + + // set program from the existing prefix + if (!options.prog) { + options.prog = this._progPrefix + ' ' + name; + } + + var aliases = options.aliases || []; + + // create a pseudo-action to hold the choice help + if (!!options.help || typeof options.help === 'string') { + var help = options.help; + delete options.help; + + var choiceAction = new ChoicesPseudoAction(name, help); + this._choicesActions.push(choiceAction); + } + + // create the parser and add it to the map + parser = new this._parserClass(options); + this._nameParserMap[name] = parser; + + // make parser available under aliases also + aliases.forEach(function (alias) { + self._nameParserMap[alias] = parser; + }); + + return parser; +}; + +ActionSubparsers.prototype._getSubactions = function () { + return this._choicesActions; +}; + +/*:nodoc:* + * ActionSubparsers#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Parse input aguments + **/ +ActionSubparsers.prototype.call = function (parser, namespace, values) { + var parserName = values[0]; + var argStrings = values.slice(1); + + // set the parser name if requested + if (this.dest !== c.SUPPRESS) { + namespace[this.dest] = parserName; + } + + // select the parser + if (this._nameParserMap[parserName]) { + parser = this._nameParserMap[parserName]; + } else { + throw argumentErrorHelper(format( + 'Unknown parser "%s" (choices: [%s]).', + parserName, + Object.keys(this._nameParserMap).join(', ') + )); + } + + // parse all the remaining options into the namespace + parser.parseArgs(argStrings, namespace); +}; + +module.exports = ActionSubparsers; diff --git a/node_modules/argparse/lib/action/version.js b/node_modules/argparse/lib/action/version.js new file mode 100644 index 00000000..8053328c --- /dev/null +++ b/node_modules/argparse/lib/action/version.js @@ -0,0 +1,47 @@ +/*:nodoc:* + * class ActionVersion + * + * Support action for printing program version + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// +// Constants +// +var c = require('../const'); + +/*:nodoc:* + * new ActionVersion(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionVersion = module.exports = function ActionVersion(options) { + options = options || {}; + options.defaultValue = (options.defaultValue ? options.defaultValue : c.SUPPRESS); + options.dest = (options.dest || c.SUPPRESS); + options.nargs = 0; + this.version = options.version; + Action.call(this, options); +}; +util.inherits(ActionVersion, Action); + +/*:nodoc:* + * ActionVersion#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Print version and exit + **/ +ActionVersion.prototype.call = function (parser) { + var version = this.version || parser.version; + var formatter = parser._getFormatter(); + formatter.addText(version); + parser.exit(0, formatter.formatHelp()); +}; diff --git a/node_modules/argparse/lib/action_container.js b/node_modules/argparse/lib/action_container.js new file mode 100644 index 00000000..6f1237be --- /dev/null +++ b/node_modules/argparse/lib/action_container.js @@ -0,0 +1,482 @@ +/** internal + * class ActionContainer + * + * Action container. Parent for [[ArgumentParser]] and [[ArgumentGroup]] + **/ + +'use strict'; + +var format = require('util').format; + +// Constants +var c = require('./const'); + +var $$ = require('./utils'); + +//Actions +var ActionHelp = require('./action/help'); +var ActionAppend = require('./action/append'); +var ActionAppendConstant = require('./action/append/constant'); +var ActionCount = require('./action/count'); +var ActionStore = require('./action/store'); +var ActionStoreConstant = require('./action/store/constant'); +var ActionStoreTrue = require('./action/store/true'); +var ActionStoreFalse = require('./action/store/false'); +var ActionVersion = require('./action/version'); +var ActionSubparsers = require('./action/subparsers'); + +// Errors +var argumentErrorHelper = require('./argument/error'); + +/** + * new ActionContainer(options) + * + * Action container. Parent for [[ArgumentParser]] and [[ArgumentGroup]] + * + * ##### Options: + * + * - `description` -- A description of what the program does + * - `prefixChars` -- Characters that prefix optional arguments + * - `argumentDefault` -- The default value for all arguments + * - `conflictHandler` -- The conflict handler to use for duplicate arguments + **/ +var ActionContainer = module.exports = function ActionContainer(options) { + options = options || {}; + + this.description = options.description; + this.argumentDefault = options.argumentDefault; + this.prefixChars = options.prefixChars || ''; + this.conflictHandler = options.conflictHandler; + + // set up registries + this._registries = {}; + + // register actions + this.register('action', null, ActionStore); + this.register('action', 'store', ActionStore); + this.register('action', 'storeConst', ActionStoreConstant); + this.register('action', 'storeTrue', ActionStoreTrue); + this.register('action', 'storeFalse', ActionStoreFalse); + this.register('action', 'append', ActionAppend); + this.register('action', 'appendConst', ActionAppendConstant); + this.register('action', 'count', ActionCount); + this.register('action', 'help', ActionHelp); + this.register('action', 'version', ActionVersion); + this.register('action', 'parsers', ActionSubparsers); + + // raise an exception if the conflict handler is invalid + this._getHandler(); + + // action storage + this._actions = []; + this._optionStringActions = {}; + + // groups + this._actionGroups = []; + this._mutuallyExclusiveGroups = []; + + // defaults storage + this._defaults = {}; + + // determines whether an "option" looks like a negative number + // -1, -1.5 -5e+4 + this._regexpNegativeNumber = new RegExp('^[-]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?$'); + + // whether or not there are any optionals that look like negative + // numbers -- uses a list so it can be shared and edited + this._hasNegativeNumberOptionals = []; +}; + +// Groups must be required, then ActionContainer already defined +var ArgumentGroup = require('./argument/group'); +var MutuallyExclusiveGroup = require('./argument/exclusive'); + +// +// Registration methods +// + +/** + * ActionContainer#register(registryName, value, object) -> Void + * - registryName (String) : object type action|type + * - value (string) : keyword + * - object (Object|Function) : handler + * + * Register handlers + **/ +ActionContainer.prototype.register = function (registryName, value, object) { + this._registries[registryName] = this._registries[registryName] || {}; + this._registries[registryName][value] = object; +}; + +ActionContainer.prototype._registryGet = function (registryName, value, defaultValue) { + if (arguments.length < 3) { + defaultValue = null; + } + return this._registries[registryName][value] || defaultValue; +}; + +// +// Namespace default accessor methods +// + +/** + * ActionContainer#setDefaults(options) -> Void + * - options (object):hash of options see [[Action.new]] + * + * Set defaults + **/ +ActionContainer.prototype.setDefaults = function (options) { + options = options || {}; + for (var property in options) { + if ($$.has(options, property)) { + this._defaults[property] = options[property]; + } + } + + // if these defaults match any existing arguments, replace the previous + // default on the object with the new one + this._actions.forEach(function (action) { + if ($$.has(options, action.dest)) { + action.defaultValue = options[action.dest]; + } + }); +}; + +/** + * ActionContainer#getDefault(dest) -> Mixed + * - dest (string): action destination + * + * Return action default value + **/ +ActionContainer.prototype.getDefault = function (dest) { + var result = $$.has(this._defaults, dest) ? this._defaults[dest] : null; + + this._actions.forEach(function (action) { + if (action.dest === dest && $$.has(action, 'defaultValue')) { + result = action.defaultValue; + } + }); + + return result; +}; +// +// Adding argument actions +// + +/** + * ActionContainer#addArgument(args, options) -> Object + * - args (String|Array): argument key, or array of argument keys + * - options (Object): action objects see [[Action.new]] + * + * #### Examples + * - addArgument([ '-f', '--foo' ], { action: 'store', defaultValue: 1, ... }) + * - addArgument([ 'bar' ], { action: 'store', nargs: 1, ... }) + * - addArgument('--baz', { action: 'store', nargs: 1, ... }) + **/ +ActionContainer.prototype.addArgument = function (args, options) { + args = args; + options = options || {}; + + if (typeof args === 'string') { + args = [ args ]; + } + if (!Array.isArray(args)) { + throw new TypeError('addArgument first argument should be a string or an array'); + } + if (typeof options !== 'object' || Array.isArray(options)) { + throw new TypeError('addArgument second argument should be a hash'); + } + + // if no positional args are supplied or only one is supplied and + // it doesn't look like an option string, parse a positional argument + if (!args || args.length === 1 && this.prefixChars.indexOf(args[0][0]) < 0) { + if (args && !!options.dest) { + throw new Error('dest supplied twice for positional argument'); + } + options = this._getPositional(args, options); + + // otherwise, we're adding an optional argument + } else { + options = this._getOptional(args, options); + } + + // if no default was supplied, use the parser-level default + if (typeof options.defaultValue === 'undefined') { + var dest = options.dest; + if ($$.has(this._defaults, dest)) { + options.defaultValue = this._defaults[dest]; + } else if (typeof this.argumentDefault !== 'undefined') { + options.defaultValue = this.argumentDefault; + } + } + + // create the action object, and add it to the parser + var ActionClass = this._popActionClass(options); + if (typeof ActionClass !== 'function') { + throw new Error(format('Unknown action "%s".', ActionClass)); + } + var action = new ActionClass(options); + + // throw an error if the action type is not callable + var typeFunction = this._registryGet('type', action.type, action.type); + if (typeof typeFunction !== 'function') { + throw new Error(format('"%s" is not callable', typeFunction)); + } + + return this._addAction(action); +}; + +/** + * ActionContainer#addArgumentGroup(options) -> ArgumentGroup + * - options (Object): hash of options see [[ArgumentGroup.new]] + * + * Create new arguments groups + **/ +ActionContainer.prototype.addArgumentGroup = function (options) { + var group = new ArgumentGroup(this, options); + this._actionGroups.push(group); + return group; +}; + +/** + * ActionContainer#addMutuallyExclusiveGroup(options) -> ArgumentGroup + * - options (Object): {required: false} + * + * Create new mutual exclusive groups + **/ +ActionContainer.prototype.addMutuallyExclusiveGroup = function (options) { + var group = new MutuallyExclusiveGroup(this, options); + this._mutuallyExclusiveGroups.push(group); + return group; +}; + +ActionContainer.prototype._addAction = function (action) { + var self = this; + + // resolve any conflicts + this._checkConflict(action); + + // add to actions list + this._actions.push(action); + action.container = this; + + // index the action by any option strings it has + action.optionStrings.forEach(function (optionString) { + self._optionStringActions[optionString] = action; + }); + + // set the flag if any option strings look like negative numbers + action.optionStrings.forEach(function (optionString) { + if (optionString.match(self._regexpNegativeNumber)) { + if (!self._hasNegativeNumberOptionals.some(Boolean)) { + self._hasNegativeNumberOptionals.push(true); + } + } + }); + + // return the created action + return action; +}; + +ActionContainer.prototype._removeAction = function (action) { + var actionIndex = this._actions.indexOf(action); + if (actionIndex >= 0) { + this._actions.splice(actionIndex, 1); + } +}; + +ActionContainer.prototype._addContainerActions = function (container) { + // collect groups by titles + var titleGroupMap = {}; + this._actionGroups.forEach(function (group) { + if (titleGroupMap[group.title]) { + throw new Error(format('Cannot merge actions - two groups are named "%s".', group.title)); + } + titleGroupMap[group.title] = group; + }); + + // map each action to its group + var groupMap = {}; + function actionHash(action) { + // unique (hopefully?) string suitable as dictionary key + return action.getName(); + } + container._actionGroups.forEach(function (group) { + // if a group with the title exists, use that, otherwise + // create a new group matching the container's group + if (!titleGroupMap[group.title]) { + titleGroupMap[group.title] = this.addArgumentGroup({ + title: group.title, + description: group.description + }); + } + + // map the actions to their new group + group._groupActions.forEach(function (action) { + groupMap[actionHash(action)] = titleGroupMap[group.title]; + }); + }, this); + + // add container's mutually exclusive groups + // NOTE: if add_mutually_exclusive_group ever gains title= and + // description= then this code will need to be expanded as above + var mutexGroup; + container._mutuallyExclusiveGroups.forEach(function (group) { + mutexGroup = this.addMutuallyExclusiveGroup({ + required: group.required + }); + // map the actions to their new mutex group + group._groupActions.forEach(function (action) { + groupMap[actionHash(action)] = mutexGroup; + }); + }, this); // forEach takes a 'this' argument + + // add all actions to this container or their group + container._actions.forEach(function (action) { + var key = actionHash(action); + if (groupMap[key]) { + groupMap[key]._addAction(action); + } else { + this._addAction(action); + } + }); +}; + +ActionContainer.prototype._getPositional = function (dest, options) { + if (Array.isArray(dest)) { + dest = dest[0]; + } + // make sure required is not specified + if (options.required) { + throw new Error('"required" is an invalid argument for positionals.'); + } + + // mark positional arguments as required if at least one is + // always required + if (options.nargs !== c.OPTIONAL && options.nargs !== c.ZERO_OR_MORE) { + options.required = true; + } + if (options.nargs === c.ZERO_OR_MORE && typeof options.defaultValue === 'undefined') { + options.required = true; + } + + // return the keyword arguments with no option strings + options.dest = dest; + options.optionStrings = []; + return options; +}; + +ActionContainer.prototype._getOptional = function (args, options) { + var prefixChars = this.prefixChars; + var optionStrings = []; + var optionStringsLong = []; + + // determine short and long option strings + args.forEach(function (optionString) { + // error on strings that don't start with an appropriate prefix + if (prefixChars.indexOf(optionString[0]) < 0) { + throw new Error(format('Invalid option string "%s": must start with a "%s".', + optionString, + prefixChars + )); + } + + // strings starting with two prefix characters are long options + optionStrings.push(optionString); + if (optionString.length > 1 && prefixChars.indexOf(optionString[1]) >= 0) { + optionStringsLong.push(optionString); + } + }); + + // infer dest, '--foo-bar' -> 'foo_bar' and '-x' -> 'x' + var dest = options.dest || null; + delete options.dest; + + if (!dest) { + var optionStringDest = optionStringsLong.length ? optionStringsLong[0] : optionStrings[0]; + dest = $$.trimChars(optionStringDest, this.prefixChars); + + if (dest.length === 0) { + throw new Error( + format('dest= is required for options like "%s"', optionStrings.join(', ')) + ); + } + dest = dest.replace(/-/g, '_'); + } + + // return the updated keyword arguments + options.dest = dest; + options.optionStrings = optionStrings; + + return options; +}; + +ActionContainer.prototype._popActionClass = function (options, defaultValue) { + defaultValue = defaultValue || null; + + var action = (options.action || defaultValue); + delete options.action; + + var actionClass = this._registryGet('action', action, action); + return actionClass; +}; + +ActionContainer.prototype._getHandler = function () { + var handlerString = this.conflictHandler; + var handlerFuncName = '_handleConflict' + $$.capitalize(handlerString); + var func = this[handlerFuncName]; + if (typeof func === 'undefined') { + var msg = 'invalid conflict resolution value: ' + handlerString; + throw new Error(msg); + } else { + return func; + } +}; + +ActionContainer.prototype._checkConflict = function (action) { + var optionStringActions = this._optionStringActions; + var conflictOptionals = []; + + // find all options that conflict with this option + // collect pairs, the string, and an existing action that it conflicts with + action.optionStrings.forEach(function (optionString) { + var conflOptional = optionStringActions[optionString]; + if (typeof conflOptional !== 'undefined') { + conflictOptionals.push([ optionString, conflOptional ]); + } + }); + + if (conflictOptionals.length > 0) { + var conflictHandler = this._getHandler(); + conflictHandler.call(this, action, conflictOptionals); + } +}; + +ActionContainer.prototype._handleConflictError = function (action, conflOptionals) { + var conflicts = conflOptionals.map(function (pair) { return pair[0]; }); + conflicts = conflicts.join(', '); + throw argumentErrorHelper( + action, + format('Conflicting option string(s): %s', conflicts) + ); +}; + +ActionContainer.prototype._handleConflictResolve = function (action, conflOptionals) { + // remove all conflicting options + var self = this; + conflOptionals.forEach(function (pair) { + var optionString = pair[0]; + var conflictingAction = pair[1]; + // remove the conflicting option string + var i = conflictingAction.optionStrings.indexOf(optionString); + if (i >= 0) { + conflictingAction.optionStrings.splice(i, 1); + } + delete self._optionStringActions[optionString]; + // if the option now has no option string, remove it from the + // container holding it + if (conflictingAction.optionStrings.length === 0) { + conflictingAction.container._removeAction(conflictingAction); + } + }); +}; diff --git a/node_modules/argparse/lib/argparse.js b/node_modules/argparse/lib/argparse.js new file mode 100644 index 00000000..f2a2c51d --- /dev/null +++ b/node_modules/argparse/lib/argparse.js @@ -0,0 +1,14 @@ +'use strict'; + +module.exports.ArgumentParser = require('./argument_parser.js'); +module.exports.Namespace = require('./namespace'); +module.exports.Action = require('./action'); +module.exports.HelpFormatter = require('./help/formatter.js'); +module.exports.Const = require('./const.js'); + +module.exports.ArgumentDefaultsHelpFormatter = + require('./help/added_formatters.js').ArgumentDefaultsHelpFormatter; +module.exports.RawDescriptionHelpFormatter = + require('./help/added_formatters.js').RawDescriptionHelpFormatter; +module.exports.RawTextHelpFormatter = + require('./help/added_formatters.js').RawTextHelpFormatter; diff --git a/node_modules/argparse/lib/argument/error.js b/node_modules/argparse/lib/argument/error.js new file mode 100644 index 00000000..c8a02a08 --- /dev/null +++ b/node_modules/argparse/lib/argument/error.js @@ -0,0 +1,50 @@ +'use strict'; + + +var format = require('util').format; + + +var ERR_CODE = 'ARGError'; + +/*:nodoc:* + * argumentError(argument, message) -> TypeError + * - argument (Object): action with broken argument + * - message (String): error message + * + * Error format helper. An error from creating or using an argument + * (optional or positional). The string value of this exception + * is the message, augmented with information + * about the argument that caused it. + * + * #####Example + * + * var argumentErrorHelper = require('./argument/error'); + * if (conflictOptionals.length > 0) { + * throw argumentErrorHelper( + * action, + * format('Conflicting option string(s): %s', conflictOptionals.join(', ')) + * ); + * } + * + **/ +module.exports = function (argument, message) { + var argumentName = null; + var errMessage; + var err; + + if (argument.getName) { + argumentName = argument.getName(); + } else { + argumentName = '' + argument; + } + + if (!argumentName) { + errMessage = message; + } else { + errMessage = format('argument "%s": %s', argumentName, message); + } + + err = new TypeError(errMessage); + err.code = ERR_CODE; + return err; +}; diff --git a/node_modules/argparse/lib/argument/exclusive.js b/node_modules/argparse/lib/argument/exclusive.js new file mode 100644 index 00000000..8287e00d --- /dev/null +++ b/node_modules/argparse/lib/argument/exclusive.js @@ -0,0 +1,54 @@ +/** internal + * class MutuallyExclusiveGroup + * + * Group arguments. + * By default, ArgumentParser groups command-line arguments + * into “positional arguments” and “optional arguments” + * when displaying help messages. When there is a better + * conceptual grouping of arguments than this default one, + * appropriate groups can be created using the addArgumentGroup() method + * + * This class inherited from [[ArgumentContainer]] + **/ +'use strict'; + +var util = require('util'); + +var ArgumentGroup = require('./group'); + +/** + * new MutuallyExclusiveGroup(container, options) + * - container (object): main container + * - options (object): options.required -> true/false + * + * `required` could be an argument itself, but making it a property of + * the options argument is more consistent with the JS adaptation of the Python) + **/ +var MutuallyExclusiveGroup = module.exports = function MutuallyExclusiveGroup(container, options) { + var required; + options = options || {}; + required = options.required || false; + ArgumentGroup.call(this, container); + this.required = required; + +}; +util.inherits(MutuallyExclusiveGroup, ArgumentGroup); + + +MutuallyExclusiveGroup.prototype._addAction = function (action) { + var msg; + if (action.required) { + msg = 'mutually exclusive arguments must be optional'; + throw new Error(msg); + } + action = this._container._addAction(action); + this._groupActions.push(action); + return action; +}; + + +MutuallyExclusiveGroup.prototype._removeAction = function (action) { + this._container._removeAction(action); + this._groupActions.remove(action); +}; + diff --git a/node_modules/argparse/lib/argument/group.js b/node_modules/argparse/lib/argument/group.js new file mode 100644 index 00000000..58b271f2 --- /dev/null +++ b/node_modules/argparse/lib/argument/group.js @@ -0,0 +1,75 @@ +/** internal + * class ArgumentGroup + * + * Group arguments. + * By default, ArgumentParser groups command-line arguments + * into “positional arguments” and “optional arguments” + * when displaying help messages. When there is a better + * conceptual grouping of arguments than this default one, + * appropriate groups can be created using the addArgumentGroup() method + * + * This class inherited from [[ArgumentContainer]] + **/ +'use strict'; + +var util = require('util'); + +var ActionContainer = require('../action_container'); + + +/** + * new ArgumentGroup(container, options) + * - container (object): main container + * - options (object): hash of group options + * + * #### options + * - **prefixChars** group name prefix + * - **argumentDefault** default argument value + * - **title** group title + * - **description** group description + * + **/ +var ArgumentGroup = module.exports = function ArgumentGroup(container, options) { + + options = options || {}; + + // add any missing keyword arguments by checking the container + options.conflictHandler = (options.conflictHandler || container.conflictHandler); + options.prefixChars = (options.prefixChars || container.prefixChars); + options.argumentDefault = (options.argumentDefault || container.argumentDefault); + + ActionContainer.call(this, options); + + // group attributes + this.title = options.title; + this._groupActions = []; + + // share most attributes with the container + this._container = container; + this._registries = container._registries; + this._actions = container._actions; + this._optionStringActions = container._optionStringActions; + this._defaults = container._defaults; + this._hasNegativeNumberOptionals = container._hasNegativeNumberOptionals; + this._mutuallyExclusiveGroups = container._mutuallyExclusiveGroups; +}; +util.inherits(ArgumentGroup, ActionContainer); + + +ArgumentGroup.prototype._addAction = function (action) { + // Parent add action + action = ActionContainer.prototype._addAction.call(this, action); + this._groupActions.push(action); + return action; +}; + + +ArgumentGroup.prototype._removeAction = function (action) { + // Parent remove action + ActionContainer.prototype._removeAction.call(this, action); + var actionIndex = this._groupActions.indexOf(action); + if (actionIndex >= 0) { + this._groupActions.splice(actionIndex, 1); + } +}; + diff --git a/node_modules/argparse/lib/argument_parser.js b/node_modules/argparse/lib/argument_parser.js new file mode 100644 index 00000000..bd9a59a4 --- /dev/null +++ b/node_modules/argparse/lib/argument_parser.js @@ -0,0 +1,1161 @@ +/** + * class ArgumentParser + * + * Object for parsing command line strings into js objects. + * + * Inherited from [[ActionContainer]] + **/ +'use strict'; + +var util = require('util'); +var format = require('util').format; +var Path = require('path'); +var sprintf = require('sprintf-js').sprintf; + +// Constants +var c = require('./const'); + +var $$ = require('./utils'); + +var ActionContainer = require('./action_container'); + +// Errors +var argumentErrorHelper = require('./argument/error'); + +var HelpFormatter = require('./help/formatter'); + +var Namespace = require('./namespace'); + + +/** + * new ArgumentParser(options) + * + * Create a new ArgumentParser object. + * + * ##### Options: + * - `prog` The name of the program (default: Path.basename(process.argv[1])) + * - `usage` A usage message (default: auto-generated from arguments) + * - `description` A description of what the program does + * - `epilog` Text following the argument descriptions + * - `parents` Parsers whose arguments should be copied into this one + * - `formatterClass` HelpFormatter class for printing help messages + * - `prefixChars` Characters that prefix optional arguments + * - `fromfilePrefixChars` Characters that prefix files containing additional arguments + * - `argumentDefault` The default value for all arguments + * - `addHelp` Add a -h/-help option + * - `conflictHandler` Specifies how to handle conflicting argument names + * - `debug` Enable debug mode. Argument errors throw exception in + * debug mode and process.exit in normal. Used for development and + * testing (default: false) + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#argumentparser-objects + **/ +function ArgumentParser(options) { + if (!(this instanceof ArgumentParser)) { + return new ArgumentParser(options); + } + var self = this; + options = options || {}; + + options.description = (options.description || null); + options.argumentDefault = (options.argumentDefault || null); + options.prefixChars = (options.prefixChars || '-'); + options.conflictHandler = (options.conflictHandler || 'error'); + ActionContainer.call(this, options); + + options.addHelp = typeof options.addHelp === 'undefined' || !!options.addHelp; + options.parents = options.parents || []; + // default program name + options.prog = (options.prog || Path.basename(process.argv[1])); + this.prog = options.prog; + this.usage = options.usage; + this.epilog = options.epilog; + this.version = options.version; + + this.debug = (options.debug === true); + + this.formatterClass = (options.formatterClass || HelpFormatter); + this.fromfilePrefixChars = options.fromfilePrefixChars || null; + this._positionals = this.addArgumentGroup({ title: 'Positional arguments' }); + this._optionals = this.addArgumentGroup({ title: 'Optional arguments' }); + this._subparsers = null; + + // register types + function FUNCTION_IDENTITY(o) { + return o; + } + this.register('type', 'auto', FUNCTION_IDENTITY); + this.register('type', null, FUNCTION_IDENTITY); + this.register('type', 'int', function (x) { + var result = parseInt(x, 10); + if (isNaN(result)) { + throw new Error(x + ' is not a valid integer.'); + } + return result; + }); + this.register('type', 'float', function (x) { + var result = parseFloat(x); + if (isNaN(result)) { + throw new Error(x + ' is not a valid float.'); + } + return result; + }); + this.register('type', 'string', function (x) { + return '' + x; + }); + + // add help and version arguments if necessary + var defaultPrefix = (this.prefixChars.indexOf('-') > -1) ? '-' : this.prefixChars[0]; + if (options.addHelp) { + this.addArgument( + [ defaultPrefix + 'h', defaultPrefix + defaultPrefix + 'help' ], + { + action: 'help', + defaultValue: c.SUPPRESS, + help: 'Show this help message and exit.' + } + ); + } + if (typeof this.version !== 'undefined') { + this.addArgument( + [ defaultPrefix + 'v', defaultPrefix + defaultPrefix + 'version' ], + { + action: 'version', + version: this.version, + defaultValue: c.SUPPRESS, + help: "Show program's version number and exit." + } + ); + } + + // add parent arguments and defaults + options.parents.forEach(function (parent) { + self._addContainerActions(parent); + if (typeof parent._defaults !== 'undefined') { + for (var defaultKey in parent._defaults) { + if (parent._defaults.hasOwnProperty(defaultKey)) { + self._defaults[defaultKey] = parent._defaults[defaultKey]; + } + } + } + }); +} + +util.inherits(ArgumentParser, ActionContainer); + +/** + * ArgumentParser#addSubparsers(options) -> [[ActionSubparsers]] + * - options (object): hash of options see [[ActionSubparsers.new]] + * + * See also [subcommands][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#sub-commands + **/ +ArgumentParser.prototype.addSubparsers = function (options) { + if (this._subparsers) { + this.error('Cannot have multiple subparser arguments.'); + } + + options = options || {}; + options.debug = (this.debug === true); + options.optionStrings = []; + options.parserClass = (options.parserClass || ArgumentParser); + + + if (!!options.title || !!options.description) { + + this._subparsers = this.addArgumentGroup({ + title: (options.title || 'subcommands'), + description: options.description + }); + delete options.title; + delete options.description; + + } else { + this._subparsers = this._positionals; + } + + // prog defaults to the usage message of this parser, skipping + // optional arguments and with no "usage:" prefix + if (!options.prog) { + var formatter = this._getFormatter(); + var positionals = this._getPositionalActions(); + var groups = this._mutuallyExclusiveGroups; + formatter.addUsage(this.usage, positionals, groups, ''); + options.prog = formatter.formatHelp().trim(); + } + + // create the parsers action and add it to the positionals list + var ParsersClass = this._popActionClass(options, 'parsers'); + var action = new ParsersClass(options); + this._subparsers._addAction(action); + + // return the created parsers action + return action; +}; + +ArgumentParser.prototype._addAction = function (action) { + if (action.isOptional()) { + this._optionals._addAction(action); + } else { + this._positionals._addAction(action); + } + return action; +}; + +ArgumentParser.prototype._getOptionalActions = function () { + return this._actions.filter(function (action) { + return action.isOptional(); + }); +}; + +ArgumentParser.prototype._getPositionalActions = function () { + return this._actions.filter(function (action) { + return action.isPositional(); + }); +}; + + +/** + * ArgumentParser#parseArgs(args, namespace) -> Namespace|Object + * - args (array): input elements + * - namespace (Namespace|Object): result object + * + * Parsed args and throws error if some arguments are not recognized + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#the-parse-args-method + **/ +ArgumentParser.prototype.parseArgs = function (args, namespace) { + var argv; + var result = this.parseKnownArgs(args, namespace); + + args = result[0]; + argv = result[1]; + if (argv && argv.length > 0) { + this.error( + format('Unrecognized arguments: %s.', argv.join(' ')) + ); + } + return args; +}; + +/** + * ArgumentParser#parseKnownArgs(args, namespace) -> array + * - args (array): input options + * - namespace (Namespace|Object): result object + * + * Parse known arguments and return tuple of result object + * and unknown args + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#partial-parsing + **/ +ArgumentParser.prototype.parseKnownArgs = function (args, namespace) { + var self = this; + + // args default to the system args + args = args || process.argv.slice(2); + + // default Namespace built from parser defaults + namespace = namespace || new Namespace(); + + self._actions.forEach(function (action) { + if (action.dest !== c.SUPPRESS) { + if (!$$.has(namespace, action.dest)) { + if (action.defaultValue !== c.SUPPRESS) { + var defaultValue = action.defaultValue; + if (typeof action.defaultValue === 'string') { + defaultValue = self._getValue(action, defaultValue); + } + namespace[action.dest] = defaultValue; + } + } + } + }); + + Object.keys(self._defaults).forEach(function (dest) { + namespace[dest] = self._defaults[dest]; + }); + + // parse the arguments and exit if there are any errors + try { + var res = this._parseKnownArgs(args, namespace); + + namespace = res[0]; + args = res[1]; + if ($$.has(namespace, c._UNRECOGNIZED_ARGS_ATTR)) { + args = $$.arrayUnion(args, namespace[c._UNRECOGNIZED_ARGS_ATTR]); + delete namespace[c._UNRECOGNIZED_ARGS_ATTR]; + } + return [ namespace, args ]; + } catch (e) { + this.error(e); + } +}; + +ArgumentParser.prototype._parseKnownArgs = function (argStrings, namespace) { + var self = this; + + var extras = []; + + // replace arg strings that are file references + if (this.fromfilePrefixChars !== null) { + argStrings = this._readArgsFromFiles(argStrings); + } + // map all mutually exclusive arguments to the other arguments + // they can't occur with + // Python has 'conflicts = action_conflicts.setdefault(mutex_action, [])' + // though I can't conceive of a way in which an action could be a member + // of two different mutually exclusive groups. + + function actionHash(action) { + // some sort of hashable key for this action + // action itself cannot be a key in actionConflicts + // I think getName() (join of optionStrings) is unique enough + return action.getName(); + } + + var conflicts, key; + var actionConflicts = {}; + + this._mutuallyExclusiveGroups.forEach(function (mutexGroup) { + mutexGroup._groupActions.forEach(function (mutexAction, i, groupActions) { + key = actionHash(mutexAction); + if (!$$.has(actionConflicts, key)) { + actionConflicts[key] = []; + } + conflicts = actionConflicts[key]; + conflicts.push.apply(conflicts, groupActions.slice(0, i)); + conflicts.push.apply(conflicts, groupActions.slice(i + 1)); + }); + }); + + // find all option indices, and determine the arg_string_pattern + // which has an 'O' if there is an option at an index, + // an 'A' if there is an argument, or a '-' if there is a '--' + var optionStringIndices = {}; + + var argStringPatternParts = []; + + argStrings.forEach(function (argString, argStringIndex) { + if (argString === '--') { + argStringPatternParts.push('-'); + while (argStringIndex < argStrings.length) { + argStringPatternParts.push('A'); + argStringIndex++; + } + } else { + // otherwise, add the arg to the arg strings + // and note the index if it was an option + var pattern; + var optionTuple = self._parseOptional(argString); + if (!optionTuple) { + pattern = 'A'; + } else { + optionStringIndices[argStringIndex] = optionTuple; + pattern = 'O'; + } + argStringPatternParts.push(pattern); + } + }); + var argStringsPattern = argStringPatternParts.join(''); + + var seenActions = []; + var seenNonDefaultActions = []; + + + function takeAction(action, argumentStrings, optionString) { + seenActions.push(action); + var argumentValues = self._getValues(action, argumentStrings); + + // error if this argument is not allowed with other previously + // seen arguments, assuming that actions that use the default + // value don't really count as "present" + if (argumentValues !== action.defaultValue) { + seenNonDefaultActions.push(action); + if (actionConflicts[actionHash(action)]) { + actionConflicts[actionHash(action)].forEach(function (actionConflict) { + if (seenNonDefaultActions.indexOf(actionConflict) >= 0) { + throw argumentErrorHelper( + action, + format('Not allowed with argument "%s".', actionConflict.getName()) + ); + } + }); + } + } + + if (argumentValues !== c.SUPPRESS) { + action.call(self, namespace, argumentValues, optionString); + } + } + + function consumeOptional(startIndex) { + // get the optional identified at this index + var optionTuple = optionStringIndices[startIndex]; + var action = optionTuple[0]; + var optionString = optionTuple[1]; + var explicitArg = optionTuple[2]; + + // identify additional optionals in the same arg string + // (e.g. -xyz is the same as -x -y -z if no args are required) + var actionTuples = []; + + var args, argCount, start, stop; + + for (;;) { + if (!action) { + extras.push(argStrings[startIndex]); + return startIndex + 1; + } + if (explicitArg) { + argCount = self._matchArgument(action, 'A'); + + // if the action is a single-dash option and takes no + // arguments, try to parse more single-dash options out + // of the tail of the option string + var chars = self.prefixChars; + if (argCount === 0 && chars.indexOf(optionString[1]) < 0) { + actionTuples.push([ action, [], optionString ]); + optionString = optionString[0] + explicitArg[0]; + var newExplicitArg = explicitArg.slice(1) || null; + var optionalsMap = self._optionStringActions; + + if (Object.keys(optionalsMap).indexOf(optionString) >= 0) { + action = optionalsMap[optionString]; + explicitArg = newExplicitArg; + } else { + throw argumentErrorHelper(action, sprintf('ignored explicit argument %r', explicitArg)); + } + } else if (argCount === 1) { + // if the action expect exactly one argument, we've + // successfully matched the option; exit the loop + stop = startIndex + 1; + args = [ explicitArg ]; + actionTuples.push([ action, args, optionString ]); + break; + } else { + // error if a double-dash option did not use the + // explicit argument + throw argumentErrorHelper(action, sprintf('ignored explicit argument %r', explicitArg)); + } + } else { + // if there is no explicit argument, try to match the + // optional's string arguments with the following strings + // if successful, exit the loop + + start = startIndex + 1; + var selectedPatterns = argStringsPattern.substr(start); + + argCount = self._matchArgument(action, selectedPatterns); + stop = start + argCount; + + + args = argStrings.slice(start, stop); + + actionTuples.push([ action, args, optionString ]); + break; + } + + } + + // add the Optional to the list and return the index at which + // the Optional's string args stopped + if (actionTuples.length < 1) { + throw new Error('length should be > 0'); + } + for (var i = 0; i < actionTuples.length; i++) { + takeAction.apply(self, actionTuples[i]); + } + return stop; + } + + // the list of Positionals left to be parsed; this is modified + // by consume_positionals() + var positionals = self._getPositionalActions(); + + function consumePositionals(startIndex) { + // match as many Positionals as possible + var selectedPattern = argStringsPattern.substr(startIndex); + var argCounts = self._matchArgumentsPartial(positionals, selectedPattern); + + // slice off the appropriate arg strings for each Positional + // and add the Positional and its args to the list + for (var i = 0; i < positionals.length; i++) { + var action = positionals[i]; + var argCount = argCounts[i]; + if (typeof argCount === 'undefined') { + continue; + } + var args = argStrings.slice(startIndex, startIndex + argCount); + + startIndex += argCount; + takeAction(action, args); + } + + // slice off the Positionals that we just parsed and return the + // index at which the Positionals' string args stopped + positionals = positionals.slice(argCounts.length); + return startIndex; + } + + // consume Positionals and Optionals alternately, until we have + // passed the last option string + var startIndex = 0; + var position; + + var maxOptionStringIndex = -1; + + Object.keys(optionStringIndices).forEach(function (position) { + maxOptionStringIndex = Math.max(maxOptionStringIndex, parseInt(position, 10)); + }); + + var positionalsEndIndex, nextOptionStringIndex; + + while (startIndex <= maxOptionStringIndex) { + // consume any Positionals preceding the next option + nextOptionStringIndex = null; + for (position in optionStringIndices) { + if (!optionStringIndices.hasOwnProperty(position)) { continue; } + + position = parseInt(position, 10); + if (position >= startIndex) { + if (nextOptionStringIndex !== null) { + nextOptionStringIndex = Math.min(nextOptionStringIndex, position); + } else { + nextOptionStringIndex = position; + } + } + } + + if (startIndex !== nextOptionStringIndex) { + positionalsEndIndex = consumePositionals(startIndex); + // only try to parse the next optional if we didn't consume + // the option string during the positionals parsing + if (positionalsEndIndex > startIndex) { + startIndex = positionalsEndIndex; + continue; + } else { + startIndex = positionalsEndIndex; + } + } + + // if we consumed all the positionals we could and we're not + // at the index of an option string, there were extra arguments + if (!optionStringIndices[startIndex]) { + var strings = argStrings.slice(startIndex, nextOptionStringIndex); + extras = extras.concat(strings); + startIndex = nextOptionStringIndex; + } + // consume the next optional and any arguments for it + startIndex = consumeOptional(startIndex); + } + + // consume any positionals following the last Optional + var stopIndex = consumePositionals(startIndex); + + // if we didn't consume all the argument strings, there were extras + extras = extras.concat(argStrings.slice(stopIndex)); + + // if we didn't use all the Positional objects, there were too few + // arg strings supplied. + if (positionals.length > 0) { + self.error('too few arguments'); + } + + // make sure all required actions were present + self._actions.forEach(function (action) { + if (action.required) { + if (seenActions.indexOf(action) < 0) { + self.error(format('Argument "%s" is required', action.getName())); + } + } + }); + + // make sure all required groups have one option present + var actionUsed = false; + self._mutuallyExclusiveGroups.forEach(function (group) { + if (group.required) { + actionUsed = group._groupActions.some(function (action) { + return seenNonDefaultActions.indexOf(action) !== -1; + }); + + // if no actions were used, report the error + if (!actionUsed) { + var names = []; + group._groupActions.forEach(function (action) { + if (action.help !== c.SUPPRESS) { + names.push(action.getName()); + } + }); + names = names.join(' '); + var msg = 'one of the arguments ' + names + ' is required'; + self.error(msg); + } + } + }); + + // return the updated namespace and the extra arguments + return [ namespace, extras ]; +}; + +ArgumentParser.prototype._readArgsFromFiles = function (argStrings) { + // expand arguments referencing files + var self = this; + var fs = require('fs'); + var newArgStrings = []; + argStrings.forEach(function (argString) { + if (self.fromfilePrefixChars.indexOf(argString[0]) < 0) { + // for regular arguments, just add them back into the list + newArgStrings.push(argString); + } else { + // replace arguments referencing files with the file content + try { + var argstrs = []; + var filename = argString.slice(1); + var content = fs.readFileSync(filename, 'utf8'); + content = content.trim().split('\n'); + content.forEach(function (argLine) { + self.convertArgLineToArgs(argLine).forEach(function (arg) { + argstrs.push(arg); + }); + argstrs = self._readArgsFromFiles(argstrs); + }); + newArgStrings.push.apply(newArgStrings, argstrs); + } catch (error) { + return self.error(error.message); + } + } + }); + return newArgStrings; +}; + +ArgumentParser.prototype.convertArgLineToArgs = function (argLine) { + return [ argLine ]; +}; + +ArgumentParser.prototype._matchArgument = function (action, regexpArgStrings) { + + // match the pattern for this action to the arg strings + var regexpNargs = new RegExp('^' + this._getNargsPattern(action)); + var matches = regexpArgStrings.match(regexpNargs); + var message; + + // throw an exception if we weren't able to find a match + if (!matches) { + switch (action.nargs) { + /*eslint-disable no-undefined*/ + case undefined: + case null: + message = 'Expected one argument.'; + break; + case c.OPTIONAL: + message = 'Expected at most one argument.'; + break; + case c.ONE_OR_MORE: + message = 'Expected at least one argument.'; + break; + default: + message = 'Expected %s argument(s)'; + } + + throw argumentErrorHelper( + action, + format(message, action.nargs) + ); + } + // return the number of arguments matched + return matches[1].length; +}; + +ArgumentParser.prototype._matchArgumentsPartial = function (actions, regexpArgStrings) { + // progressively shorten the actions list by slicing off the + // final actions until we find a match + var self = this; + var result = []; + var actionSlice, pattern, matches; + var i, j; + + function getLength(string) { + return string.length; + } + + for (i = actions.length; i > 0; i--) { + pattern = ''; + actionSlice = actions.slice(0, i); + for (j = 0; j < actionSlice.length; j++) { + pattern += self._getNargsPattern(actionSlice[j]); + } + + pattern = new RegExp('^' + pattern); + matches = regexpArgStrings.match(pattern); + + if (matches && matches.length > 0) { + // need only groups + matches = matches.splice(1); + result = result.concat(matches.map(getLength)); + break; + } + } + + // return the list of arg string counts + return result; +}; + +ArgumentParser.prototype._parseOptional = function (argString) { + var action, optionString, argExplicit, optionTuples; + + // if it's an empty string, it was meant to be a positional + if (!argString) { + return null; + } + + // if it doesn't start with a prefix, it was meant to be positional + if (this.prefixChars.indexOf(argString[0]) < 0) { + return null; + } + + // if the option string is present in the parser, return the action + if (this._optionStringActions[argString]) { + return [ this._optionStringActions[argString], argString, null ]; + } + + // if it's just a single character, it was meant to be positional + if (argString.length === 1) { + return null; + } + + // if the option string before the "=" is present, return the action + if (argString.indexOf('=') >= 0) { + optionString = argString.split('=', 1)[0]; + argExplicit = argString.slice(optionString.length + 1); + + if (this._optionStringActions[optionString]) { + action = this._optionStringActions[optionString]; + return [ action, optionString, argExplicit ]; + } + } + + // search through all possible prefixes of the option string + // and all actions in the parser for possible interpretations + optionTuples = this._getOptionTuples(argString); + + // if multiple actions match, the option string was ambiguous + if (optionTuples.length > 1) { + var optionStrings = optionTuples.map(function (optionTuple) { + return optionTuple[1]; + }); + this.error(format( + 'Ambiguous option: "%s" could match %s.', + argString, optionStrings.join(', ') + )); + // if exactly one action matched, this segmentation is good, + // so return the parsed action + } else if (optionTuples.length === 1) { + return optionTuples[0]; + } + + // if it was not found as an option, but it looks like a negative + // number, it was meant to be positional + // unless there are negative-number-like options + if (argString.match(this._regexpNegativeNumber)) { + if (!this._hasNegativeNumberOptionals.some(Boolean)) { + return null; + } + } + // if it contains a space, it was meant to be a positional + if (argString.search(' ') >= 0) { + return null; + } + + // it was meant to be an optional but there is no such option + // in this parser (though it might be a valid option in a subparser) + return [ null, argString, null ]; +}; + +ArgumentParser.prototype._getOptionTuples = function (optionString) { + var result = []; + var chars = this.prefixChars; + var optionPrefix; + var argExplicit; + var action; + var actionOptionString; + + // option strings starting with two prefix characters are only split at + // the '=' + if (chars.indexOf(optionString[0]) >= 0 && chars.indexOf(optionString[1]) >= 0) { + if (optionString.indexOf('=') >= 0) { + var optionStringSplit = optionString.split('=', 1); + + optionPrefix = optionStringSplit[0]; + argExplicit = optionStringSplit[1]; + } else { + optionPrefix = optionString; + argExplicit = null; + } + + for (actionOptionString in this._optionStringActions) { + if (actionOptionString.substr(0, optionPrefix.length) === optionPrefix) { + action = this._optionStringActions[actionOptionString]; + result.push([ action, actionOptionString, argExplicit ]); + } + } + + // single character options can be concatenated with their arguments + // but multiple character options always have to have their argument + // separate + } else if (chars.indexOf(optionString[0]) >= 0 && chars.indexOf(optionString[1]) < 0) { + optionPrefix = optionString; + argExplicit = null; + var optionPrefixShort = optionString.substr(0, 2); + var argExplicitShort = optionString.substr(2); + + for (actionOptionString in this._optionStringActions) { + if (!$$.has(this._optionStringActions, actionOptionString)) continue; + + action = this._optionStringActions[actionOptionString]; + if (actionOptionString === optionPrefixShort) { + result.push([ action, actionOptionString, argExplicitShort ]); + } else if (actionOptionString.substr(0, optionPrefix.length) === optionPrefix) { + result.push([ action, actionOptionString, argExplicit ]); + } + } + + // shouldn't ever get here + } else { + throw new Error(format('Unexpected option string: %s.', optionString)); + } + // return the collected option tuples + return result; +}; + +ArgumentParser.prototype._getNargsPattern = function (action) { + // in all examples below, we have to allow for '--' args + // which are represented as '-' in the pattern + var regexpNargs; + + switch (action.nargs) { + // the default (null) is assumed to be a single argument + case undefined: + case null: + regexpNargs = '(-*A-*)'; + break; + // allow zero or more arguments + case c.OPTIONAL: + regexpNargs = '(-*A?-*)'; + break; + // allow zero or more arguments + case c.ZERO_OR_MORE: + regexpNargs = '(-*[A-]*)'; + break; + // allow one or more arguments + case c.ONE_OR_MORE: + regexpNargs = '(-*A[A-]*)'; + break; + // allow any number of options or arguments + case c.REMAINDER: + regexpNargs = '([-AO]*)'; + break; + // allow one argument followed by any number of options or arguments + case c.PARSER: + regexpNargs = '(-*A[-AO]*)'; + break; + // all others should be integers + default: + regexpNargs = '(-*' + $$.repeat('-*A', action.nargs) + '-*)'; + } + + // if this is an optional action, -- is not allowed + if (action.isOptional()) { + regexpNargs = regexpNargs.replace(/-\*/g, ''); + regexpNargs = regexpNargs.replace(/-/g, ''); + } + + // return the pattern + return regexpNargs; +}; + +// +// Value conversion methods +// + +ArgumentParser.prototype._getValues = function (action, argStrings) { + var self = this; + + // for everything but PARSER args, strip out '--' + if (action.nargs !== c.PARSER && action.nargs !== c.REMAINDER) { + argStrings = argStrings.filter(function (arrayElement) { + return arrayElement !== '--'; + }); + } + + var value, argString; + + // optional argument produces a default when not present + if (argStrings.length === 0 && action.nargs === c.OPTIONAL) { + + value = (action.isOptional()) ? action.constant : action.defaultValue; + + if (typeof (value) === 'string') { + value = this._getValue(action, value); + this._checkValue(action, value); + } + + // when nargs='*' on a positional, if there were no command-line + // args, use the default if it is anything other than None + } else if (argStrings.length === 0 && action.nargs === c.ZERO_OR_MORE && + action.optionStrings.length === 0) { + + value = (action.defaultValue || argStrings); + this._checkValue(action, value); + + // single argument or optional argument produces a single value + } else if (argStrings.length === 1 && + (!action.nargs || action.nargs === c.OPTIONAL)) { + + argString = argStrings[0]; + value = this._getValue(action, argString); + this._checkValue(action, value); + + // REMAINDER arguments convert all values, checking none + } else if (action.nargs === c.REMAINDER) { + value = argStrings.map(function (v) { + return self._getValue(action, v); + }); + + // PARSER arguments convert all values, but check only the first + } else if (action.nargs === c.PARSER) { + value = argStrings.map(function (v) { + return self._getValue(action, v); + }); + this._checkValue(action, value[0]); + + // all other types of nargs produce a list + } else { + value = argStrings.map(function (v) { + return self._getValue(action, v); + }); + value.forEach(function (v) { + self._checkValue(action, v); + }); + } + + // return the converted value + return value; +}; + +ArgumentParser.prototype._getValue = function (action, argString) { + var result; + + var typeFunction = this._registryGet('type', action.type, action.type); + if (typeof typeFunction !== 'function') { + var message = format('%s is not callable', typeFunction); + throw argumentErrorHelper(action, message); + } + + // convert the value to the appropriate type + try { + result = typeFunction(argString); + + // ArgumentTypeErrors indicate errors + // If action.type is not a registered string, it is a function + // Try to deduce its name for inclusion in the error message + // Failing that, include the error message it raised. + } catch (e) { + var name = null; + if (typeof action.type === 'string') { + name = action.type; + } else { + name = action.type.name || action.type.displayName || ''; + } + var msg = format('Invalid %s value: %s', name, argString); + if (name === '') { msg += '\n' + e.message; } + throw argumentErrorHelper(action, msg); + } + // return the converted value + return result; +}; + +ArgumentParser.prototype._checkValue = function (action, value) { + // converted value must be one of the choices (if specified) + var choices = action.choices; + if (choices) { + // choise for argument can by array or string + if ((typeof choices === 'string' || Array.isArray(choices)) && + choices.indexOf(value) !== -1) { + return; + } + // choise for subparsers can by only hash + if (typeof choices === 'object' && !Array.isArray(choices) && choices[value]) { + return; + } + + if (typeof choices === 'string') { + choices = choices.split('').join(', '); + } else if (Array.isArray(choices)) { + choices = choices.join(', '); + } else { + choices = Object.keys(choices).join(', '); + } + var message = format('Invalid choice: %s (choose from [%s])', value, choices); + throw argumentErrorHelper(action, message); + } +}; + +// +// Help formatting methods +// + +/** + * ArgumentParser#formatUsage -> string + * + * Return usage string + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.formatUsage = function () { + var formatter = this._getFormatter(); + formatter.addUsage(this.usage, this._actions, this._mutuallyExclusiveGroups); + return formatter.formatHelp(); +}; + +/** + * ArgumentParser#formatHelp -> string + * + * Return help + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.formatHelp = function () { + var formatter = this._getFormatter(); + + // usage + formatter.addUsage(this.usage, this._actions, this._mutuallyExclusiveGroups); + + // description + formatter.addText(this.description); + + // positionals, optionals and user-defined groups + this._actionGroups.forEach(function (actionGroup) { + formatter.startSection(actionGroup.title); + formatter.addText(actionGroup.description); + formatter.addArguments(actionGroup._groupActions); + formatter.endSection(); + }); + + // epilog + formatter.addText(this.epilog); + + // determine help from format above + return formatter.formatHelp(); +}; + +ArgumentParser.prototype._getFormatter = function () { + var FormatterClass = this.formatterClass; + var formatter = new FormatterClass({ prog: this.prog }); + return formatter; +}; + +// +// Print functions +// + +/** + * ArgumentParser#printUsage() -> Void + * + * Print usage + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.printUsage = function () { + this._printMessage(this.formatUsage()); +}; + +/** + * ArgumentParser#printHelp() -> Void + * + * Print help + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.printHelp = function () { + this._printMessage(this.formatHelp()); +}; + +ArgumentParser.prototype._printMessage = function (message, stream) { + if (!stream) { + stream = process.stdout; + } + if (message) { + stream.write('' + message); + } +}; + +// +// Exit functions +// + +/** + * ArgumentParser#exit(status=0, message) -> Void + * - status (int): exit status + * - message (string): message + * + * Print message in stderr/stdout and exit program + **/ +ArgumentParser.prototype.exit = function (status, message) { + if (message) { + if (status === 0) { + this._printMessage(message); + } else { + this._printMessage(message, process.stderr); + } + } + + process.exit(status); +}; + +/** + * ArgumentParser#error(message) -> Void + * - err (Error|string): message + * + * Error method Prints a usage message incorporating the message to stderr and + * exits. If you override this in a subclass, + * it should not return -- it should + * either exit or throw an exception. + * + **/ +ArgumentParser.prototype.error = function (err) { + var message; + if (err instanceof Error) { + if (this.debug === true) { + throw err; + } + message = err.message; + } else { + message = err; + } + var msg = format('%s: error: %s', this.prog, message) + c.EOL; + + if (this.debug === true) { + throw new Error(msg); + } + + this.printUsage(process.stderr); + + return this.exit(2, msg); +}; + +module.exports = ArgumentParser; diff --git a/node_modules/argparse/lib/const.js b/node_modules/argparse/lib/const.js new file mode 100644 index 00000000..b1fd4ced --- /dev/null +++ b/node_modules/argparse/lib/const.js @@ -0,0 +1,21 @@ +// +// Constants +// + +'use strict'; + +module.exports.EOL = '\n'; + +module.exports.SUPPRESS = '==SUPPRESS=='; + +module.exports.OPTIONAL = '?'; + +module.exports.ZERO_OR_MORE = '*'; + +module.exports.ONE_OR_MORE = '+'; + +module.exports.PARSER = 'A...'; + +module.exports.REMAINDER = '...'; + +module.exports._UNRECOGNIZED_ARGS_ATTR = '_unrecognized_args'; diff --git a/node_modules/argparse/lib/help/added_formatters.js b/node_modules/argparse/lib/help/added_formatters.js new file mode 100644 index 00000000..f8e42998 --- /dev/null +++ b/node_modules/argparse/lib/help/added_formatters.js @@ -0,0 +1,87 @@ +'use strict'; + +var util = require('util'); + +// Constants +var c = require('../const'); + +var $$ = require('../utils'); +var HelpFormatter = require('./formatter.js'); + +/** + * new RawDescriptionHelpFormatter(options) + * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) + * + * Help message formatter which adds default values to argument help. + * + * Only the name of this class is considered a public API. All the methods + * provided by the class are considered an implementation detail. + **/ + +function ArgumentDefaultsHelpFormatter(options) { + HelpFormatter.call(this, options); +} + +util.inherits(ArgumentDefaultsHelpFormatter, HelpFormatter); + +ArgumentDefaultsHelpFormatter.prototype._getHelpString = function (action) { + var help = action.help; + if (action.help.indexOf('%(defaultValue)s') === -1) { + if (action.defaultValue !== c.SUPPRESS) { + var defaulting_nargs = [ c.OPTIONAL, c.ZERO_OR_MORE ]; + if (action.isOptional() || (defaulting_nargs.indexOf(action.nargs) >= 0)) { + help += ' (default: %(defaultValue)s)'; + } + } + } + return help; +}; + +module.exports.ArgumentDefaultsHelpFormatter = ArgumentDefaultsHelpFormatter; + +/** + * new RawDescriptionHelpFormatter(options) + * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) + * + * Help message formatter which retains any formatting in descriptions. + * + * Only the name of this class is considered a public API. All the methods + * provided by the class are considered an implementation detail. + **/ + +function RawDescriptionHelpFormatter(options) { + HelpFormatter.call(this, options); +} + +util.inherits(RawDescriptionHelpFormatter, HelpFormatter); + +RawDescriptionHelpFormatter.prototype._fillText = function (text, width, indent) { + var lines = text.split('\n'); + lines = lines.map(function (line) { + return $$.trimEnd(indent + line); + }); + return lines.join('\n'); +}; +module.exports.RawDescriptionHelpFormatter = RawDescriptionHelpFormatter; + +/** + * new RawTextHelpFormatter(options) + * new ArgumentParser({formatterClass: argparse.RawTextHelpFormatter, ...}) + * + * Help message formatter which retains formatting of all help text. + * + * Only the name of this class is considered a public API. All the methods + * provided by the class are considered an implementation detail. + **/ + +function RawTextHelpFormatter(options) { + RawDescriptionHelpFormatter.call(this, options); +} + +util.inherits(RawTextHelpFormatter, RawDescriptionHelpFormatter); + +RawTextHelpFormatter.prototype._splitLines = function (text) { + return text.split('\n'); +}; + +module.exports.RawTextHelpFormatter = RawTextHelpFormatter; diff --git a/node_modules/argparse/lib/help/formatter.js b/node_modules/argparse/lib/help/formatter.js new file mode 100644 index 00000000..29036c14 --- /dev/null +++ b/node_modules/argparse/lib/help/formatter.js @@ -0,0 +1,795 @@ +/** + * class HelpFormatter + * + * Formatter for generating usage messages and argument help strings. Only the + * name of this class is considered a public API. All the methods provided by + * the class are considered an implementation detail. + * + * Do not call in your code, use this class only for inherits your own forvatter + * + * ToDo add [additonal formatters][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#formatter-class + **/ +'use strict'; + +var sprintf = require('sprintf-js').sprintf; + +// Constants +var c = require('../const'); + +var $$ = require('../utils'); + + +/*:nodoc:* internal + * new Support(parent, heding) + * - parent (object): parent section + * - heading (string): header string + * + **/ +function Section(parent, heading) { + this._parent = parent; + this._heading = heading; + this._items = []; +} + +/*:nodoc:* internal + * Section#addItem(callback) -> Void + * - callback (array): tuple with function and args + * + * Add function for single element + **/ +Section.prototype.addItem = function (callback) { + this._items.push(callback); +}; + +/*:nodoc:* internal + * Section#formatHelp(formatter) -> string + * - formatter (HelpFormatter): current formatter + * + * Form help section string + * + **/ +Section.prototype.formatHelp = function (formatter) { + var itemHelp, heading; + + // format the indented section + if (this._parent) { + formatter._indent(); + } + + itemHelp = this._items.map(function (item) { + var obj, func, args; + + obj = formatter; + func = item[0]; + args = item[1]; + return func.apply(obj, args); + }); + itemHelp = formatter._joinParts(itemHelp); + + if (this._parent) { + formatter._dedent(); + } + + // return nothing if the section was empty + if (!itemHelp) { + return ''; + } + + // add the heading if the section was non-empty + heading = ''; + if (this._heading && this._heading !== c.SUPPRESS) { + var currentIndent = formatter.currentIndent; + heading = $$.repeat(' ', currentIndent) + this._heading + ':' + c.EOL; + } + + // join the section-initialize newline, the heading and the help + return formatter._joinParts([ c.EOL, heading, itemHelp, c.EOL ]); +}; + +/** + * new HelpFormatter(options) + * + * #### Options: + * - `prog`: program name + * - `indentIncriment`: indent step, default value 2 + * - `maxHelpPosition`: max help position, default value = 24 + * - `width`: line width + * + **/ +var HelpFormatter = module.exports = function HelpFormatter(options) { + options = options || {}; + + this._prog = options.prog; + + this._maxHelpPosition = options.maxHelpPosition || 24; + this._width = (options.width || ((process.env.COLUMNS || 80) - 2)); + + this._currentIndent = 0; + this._indentIncriment = options.indentIncriment || 2; + this._level = 0; + this._actionMaxLength = 0; + + this._rootSection = new Section(null); + this._currentSection = this._rootSection; + + this._whitespaceMatcher = new RegExp('\\s+', 'g'); + this._longBreakMatcher = new RegExp(c.EOL + c.EOL + c.EOL + '+', 'g'); +}; + +HelpFormatter.prototype._indent = function () { + this._currentIndent += this._indentIncriment; + this._level += 1; +}; + +HelpFormatter.prototype._dedent = function () { + this._currentIndent -= this._indentIncriment; + this._level -= 1; + if (this._currentIndent < 0) { + throw new Error('Indent decreased below 0.'); + } +}; + +HelpFormatter.prototype._addItem = function (func, args) { + this._currentSection.addItem([ func, args ]); +}; + +// +// Message building methods +// + +/** + * HelpFormatter#startSection(heading) -> Void + * - heading (string): header string + * + * Start new help section + * + * See alse [code example][1] + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + * + **/ +HelpFormatter.prototype.startSection = function (heading) { + this._indent(); + var section = new Section(this._currentSection, heading); + var func = section.formatHelp.bind(section); + this._addItem(func, [ this ]); + this._currentSection = section; +}; + +/** + * HelpFormatter#endSection -> Void + * + * End help section + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + **/ +HelpFormatter.prototype.endSection = function () { + this._currentSection = this._currentSection._parent; + this._dedent(); +}; + +/** + * HelpFormatter#addText(text) -> Void + * - text (string): plain text + * + * Add plain text into current section + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + * + **/ +HelpFormatter.prototype.addText = function (text) { + if (text && text !== c.SUPPRESS) { + this._addItem(this._formatText, [ text ]); + } +}; + +/** + * HelpFormatter#addUsage(usage, actions, groups, prefix) -> Void + * - usage (string): usage text + * - actions (array): actions list + * - groups (array): groups list + * - prefix (string): usage prefix + * + * Add usage data into current section + * + * ##### Example + * + * formatter.addUsage(this.usage, this._actions, []); + * return formatter.formatHelp(); + * + **/ +HelpFormatter.prototype.addUsage = function (usage, actions, groups, prefix) { + if (usage !== c.SUPPRESS) { + this._addItem(this._formatUsage, [ usage, actions, groups, prefix ]); + } +}; + +/** + * HelpFormatter#addArgument(action) -> Void + * - action (object): action + * + * Add argument into current section + * + * Single variant of [[HelpFormatter#addArguments]] + **/ +HelpFormatter.prototype.addArgument = function (action) { + if (action.help !== c.SUPPRESS) { + var self = this; + + // find all invocations + var invocations = [ this._formatActionInvocation(action) ]; + var invocationLength = invocations[0].length; + + var actionLength; + + if (action._getSubactions) { + this._indent(); + action._getSubactions().forEach(function (subaction) { + + var invocationNew = self._formatActionInvocation(subaction); + invocations.push(invocationNew); + invocationLength = Math.max(invocationLength, invocationNew.length); + + }); + this._dedent(); + } + + // update the maximum item length + actionLength = invocationLength + this._currentIndent; + this._actionMaxLength = Math.max(this._actionMaxLength, actionLength); + + // add the item to the list + this._addItem(this._formatAction, [ action ]); + } +}; + +/** + * HelpFormatter#addArguments(actions) -> Void + * - actions (array): actions list + * + * Mass add arguments into current section + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + * + **/ +HelpFormatter.prototype.addArguments = function (actions) { + var self = this; + actions.forEach(function (action) { + self.addArgument(action); + }); +}; + +// +// Help-formatting methods +// + +/** + * HelpFormatter#formatHelp -> string + * + * Format help + * + * ##### Example + * + * formatter.addText(this.epilog); + * return formatter.formatHelp(); + * + **/ +HelpFormatter.prototype.formatHelp = function () { + var help = this._rootSection.formatHelp(this); + if (help) { + help = help.replace(this._longBreakMatcher, c.EOL + c.EOL); + help = $$.trimChars(help, c.EOL) + c.EOL; + } + return help; +}; + +HelpFormatter.prototype._joinParts = function (partStrings) { + return partStrings.filter(function (part) { + return (part && part !== c.SUPPRESS); + }).join(''); +}; + +HelpFormatter.prototype._formatUsage = function (usage, actions, groups, prefix) { + if (!prefix && typeof prefix !== 'string') { + prefix = 'usage: '; + } + + actions = actions || []; + groups = groups || []; + + + // if usage is specified, use that + if (usage) { + usage = sprintf(usage, { prog: this._prog }); + + // if no optionals or positionals are available, usage is just prog + } else if (!usage && actions.length === 0) { + usage = this._prog; + + // if optionals and positionals are available, calculate usage + } else if (!usage) { + var prog = this._prog; + var optionals = []; + var positionals = []; + var actionUsage; + var textWidth; + + // split optionals from positionals + actions.forEach(function (action) { + if (action.isOptional()) { + optionals.push(action); + } else { + positionals.push(action); + } + }); + + // build full usage string + actionUsage = this._formatActionsUsage([].concat(optionals, positionals), groups); + usage = [ prog, actionUsage ].join(' '); + + // wrap the usage parts if it's too long + textWidth = this._width - this._currentIndent; + if ((prefix.length + usage.length) > textWidth) { + + // break usage into wrappable parts + var regexpPart = new RegExp('\\(.*?\\)+|\\[.*?\\]+|\\S+', 'g'); + var optionalUsage = this._formatActionsUsage(optionals, groups); + var positionalUsage = this._formatActionsUsage(positionals, groups); + + + var optionalParts = optionalUsage.match(regexpPart); + var positionalParts = positionalUsage.match(regexpPart) || []; + + if (optionalParts.join(' ') !== optionalUsage) { + throw new Error('assert "optionalParts.join(\' \') === optionalUsage"'); + } + if (positionalParts.join(' ') !== positionalUsage) { + throw new Error('assert "positionalParts.join(\' \') === positionalUsage"'); + } + + // helper for wrapping lines + /*eslint-disable func-style*/ // node 0.10 compat + var _getLines = function (parts, indent, prefix) { + var lines = []; + var line = []; + + var lineLength = prefix ? prefix.length - 1 : indent.length - 1; + + parts.forEach(function (part) { + if (lineLength + 1 + part.length > textWidth) { + lines.push(indent + line.join(' ')); + line = []; + lineLength = indent.length - 1; + } + line.push(part); + lineLength += part.length + 1; + }); + + if (line) { + lines.push(indent + line.join(' ')); + } + if (prefix) { + lines[0] = lines[0].substr(indent.length); + } + return lines; + }; + + var lines, indent, parts; + // if prog is short, follow it with optionals or positionals + if (prefix.length + prog.length <= 0.75 * textWidth) { + indent = $$.repeat(' ', (prefix.length + prog.length + 1)); + if (optionalParts) { + lines = [].concat( + _getLines([ prog ].concat(optionalParts), indent, prefix), + _getLines(positionalParts, indent) + ); + } else if (positionalParts) { + lines = _getLines([ prog ].concat(positionalParts), indent, prefix); + } else { + lines = [ prog ]; + } + + // if prog is long, put it on its own line + } else { + indent = $$.repeat(' ', prefix.length); + parts = optionalParts.concat(positionalParts); + lines = _getLines(parts, indent); + if (lines.length > 1) { + lines = [].concat( + _getLines(optionalParts, indent), + _getLines(positionalParts, indent) + ); + } + lines = [ prog ].concat(lines); + } + // join lines into usage + usage = lines.join(c.EOL); + } + } + + // prefix with 'usage:' + return prefix + usage + c.EOL + c.EOL; +}; + +HelpFormatter.prototype._formatActionsUsage = function (actions, groups) { + // find group indices and identify actions in groups + var groupActions = []; + var inserts = []; + var self = this; + + groups.forEach(function (group) { + var end; + var i; + + var start = actions.indexOf(group._groupActions[0]); + if (start >= 0) { + end = start + group._groupActions.length; + + //if (actions.slice(start, end) === group._groupActions) { + if ($$.arrayEqual(actions.slice(start, end), group._groupActions)) { + group._groupActions.forEach(function (action) { + groupActions.push(action); + }); + + if (!group.required) { + if (inserts[start]) { + inserts[start] += ' ['; + } else { + inserts[start] = '['; + } + inserts[end] = ']'; + } else { + if (inserts[start]) { + inserts[start] += ' ('; + } else { + inserts[start] = '('; + } + inserts[end] = ')'; + } + for (i = start + 1; i < end; i += 1) { + inserts[i] = '|'; + } + } + } + }); + + // collect all actions format strings + var parts = []; + + actions.forEach(function (action, actionIndex) { + var part; + var optionString; + var argsDefault; + var argsString; + + // suppressed arguments are marked with None + // remove | separators for suppressed arguments + if (action.help === c.SUPPRESS) { + parts.push(null); + if (inserts[actionIndex] === '|') { + inserts.splice(actionIndex, actionIndex); + } else if (inserts[actionIndex + 1] === '|') { + inserts.splice(actionIndex + 1, actionIndex + 1); + } + + // produce all arg strings + } else if (!action.isOptional()) { + part = self._formatArgs(action, action.dest); + + // if it's in a group, strip the outer [] + if (groupActions.indexOf(action) >= 0) { + if (part[0] === '[' && part[part.length - 1] === ']') { + part = part.slice(1, -1); + } + } + // add the action string to the list + parts.push(part); + + // produce the first way to invoke the option in brackets + } else { + optionString = action.optionStrings[0]; + + // if the Optional doesn't take a value, format is: -s or --long + if (action.nargs === 0) { + part = '' + optionString; + + // if the Optional takes a value, format is: -s ARGS or --long ARGS + } else { + argsDefault = action.dest.toUpperCase(); + argsString = self._formatArgs(action, argsDefault); + part = optionString + ' ' + argsString; + } + // make it look optional if it's not required or in a group + if (!action.required && groupActions.indexOf(action) < 0) { + part = '[' + part + ']'; + } + // add the action string to the list + parts.push(part); + } + }); + + // insert things at the necessary indices + for (var i = inserts.length - 1; i >= 0; --i) { + if (inserts[i] !== null) { + parts.splice(i, 0, inserts[i]); + } + } + + // join all the action items with spaces + var text = parts.filter(function (part) { + return !!part; + }).join(' '); + + // clean up separators for mutually exclusive groups + text = text.replace(/([\[(]) /g, '$1'); // remove spaces + text = text.replace(/ ([\])])/g, '$1'); + text = text.replace(/\[ *\]/g, ''); // remove empty groups + text = text.replace(/\( *\)/g, ''); + text = text.replace(/\(([^|]*)\)/g, '$1'); // remove () from single action groups + + text = text.trim(); + + // return the text + return text; +}; + +HelpFormatter.prototype._formatText = function (text) { + text = sprintf(text, { prog: this._prog }); + var textWidth = this._width - this._currentIndent; + var indentIncriment = $$.repeat(' ', this._currentIndent); + return this._fillText(text, textWidth, indentIncriment) + c.EOL + c.EOL; +}; + +HelpFormatter.prototype._formatAction = function (action) { + var self = this; + + var helpText; + var helpLines; + var parts; + var indentFirst; + + // determine the required width and the entry label + var helpPosition = Math.min(this._actionMaxLength + 2, this._maxHelpPosition); + var helpWidth = this._width - helpPosition; + var actionWidth = helpPosition - this._currentIndent - 2; + var actionHeader = this._formatActionInvocation(action); + + // no help; start on same line and add a final newline + if (!action.help) { + actionHeader = $$.repeat(' ', this._currentIndent) + actionHeader + c.EOL; + + // short action name; start on the same line and pad two spaces + } else if (actionHeader.length <= actionWidth) { + actionHeader = $$.repeat(' ', this._currentIndent) + + actionHeader + + ' ' + + $$.repeat(' ', actionWidth - actionHeader.length); + indentFirst = 0; + + // long action name; start on the next line + } else { + actionHeader = $$.repeat(' ', this._currentIndent) + actionHeader + c.EOL; + indentFirst = helpPosition; + } + + // collect the pieces of the action help + parts = [ actionHeader ]; + + // if there was help for the action, add lines of help text + if (action.help) { + helpText = this._expandHelp(action); + helpLines = this._splitLines(helpText, helpWidth); + parts.push($$.repeat(' ', indentFirst) + helpLines[0] + c.EOL); + helpLines.slice(1).forEach(function (line) { + parts.push($$.repeat(' ', helpPosition) + line + c.EOL); + }); + + // or add a newline if the description doesn't end with one + } else if (actionHeader.charAt(actionHeader.length - 1) !== c.EOL) { + parts.push(c.EOL); + } + // if there are any sub-actions, add their help as well + if (action._getSubactions) { + this._indent(); + action._getSubactions().forEach(function (subaction) { + parts.push(self._formatAction(subaction)); + }); + this._dedent(); + } + // return a single string + return this._joinParts(parts); +}; + +HelpFormatter.prototype._formatActionInvocation = function (action) { + if (!action.isOptional()) { + var format_func = this._metavarFormatter(action, action.dest); + var metavars = format_func(1); + return metavars[0]; + } + + var parts = []; + var argsDefault; + var argsString; + + // if the Optional doesn't take a value, format is: -s, --long + if (action.nargs === 0) { + parts = parts.concat(action.optionStrings); + + // if the Optional takes a value, format is: -s ARGS, --long ARGS + } else { + argsDefault = action.dest.toUpperCase(); + argsString = this._formatArgs(action, argsDefault); + action.optionStrings.forEach(function (optionString) { + parts.push(optionString + ' ' + argsString); + }); + } + return parts.join(', '); +}; + +HelpFormatter.prototype._metavarFormatter = function (action, metavarDefault) { + var result; + + if (action.metavar || action.metavar === '') { + result = action.metavar; + } else if (action.choices) { + var choices = action.choices; + + if (typeof choices === 'string') { + choices = choices.split('').join(', '); + } else if (Array.isArray(choices)) { + choices = choices.join(','); + } else { + choices = Object.keys(choices).join(','); + } + result = '{' + choices + '}'; + } else { + result = metavarDefault; + } + + return function (size) { + if (Array.isArray(result)) { + return result; + } + + var metavars = []; + for (var i = 0; i < size; i += 1) { + metavars.push(result); + } + return metavars; + }; +}; + +HelpFormatter.prototype._formatArgs = function (action, metavarDefault) { + var result; + var metavars; + + var buildMetavar = this._metavarFormatter(action, metavarDefault); + + switch (action.nargs) { + /*eslint-disable no-undefined*/ + case undefined: + case null: + metavars = buildMetavar(1); + result = '' + metavars[0]; + break; + case c.OPTIONAL: + metavars = buildMetavar(1); + result = '[' + metavars[0] + ']'; + break; + case c.ZERO_OR_MORE: + metavars = buildMetavar(2); + result = '[' + metavars[0] + ' [' + metavars[1] + ' ...]]'; + break; + case c.ONE_OR_MORE: + metavars = buildMetavar(2); + result = '' + metavars[0] + ' [' + metavars[1] + ' ...]'; + break; + case c.REMAINDER: + result = '...'; + break; + case c.PARSER: + metavars = buildMetavar(1); + result = metavars[0] + ' ...'; + break; + default: + metavars = buildMetavar(action.nargs); + result = metavars.join(' '); + } + return result; +}; + +HelpFormatter.prototype._expandHelp = function (action) { + var params = { prog: this._prog }; + + Object.keys(action).forEach(function (actionProperty) { + var actionValue = action[actionProperty]; + + if (actionValue !== c.SUPPRESS) { + params[actionProperty] = actionValue; + } + }); + + if (params.choices) { + if (typeof params.choices === 'string') { + params.choices = params.choices.split('').join(', '); + } else if (Array.isArray(params.choices)) { + params.choices = params.choices.join(', '); + } else { + params.choices = Object.keys(params.choices).join(', '); + } + } + + return sprintf(this._getHelpString(action), params); +}; + +HelpFormatter.prototype._splitLines = function (text, width) { + var lines = []; + var delimiters = [ ' ', '.', ',', '!', '?' ]; + var re = new RegExp('[' + delimiters.join('') + '][^' + delimiters.join('') + ']*$'); + + text = text.replace(/[\n\|\t]/g, ' '); + + text = text.trim(); + text = text.replace(this._whitespaceMatcher, ' '); + + // Wraps the single paragraph in text (a string) so every line + // is at most width characters long. + text.split(c.EOL).forEach(function (line) { + if (width >= line.length) { + lines.push(line); + return; + } + + var wrapStart = 0; + var wrapEnd = width; + var delimiterIndex = 0; + while (wrapEnd <= line.length) { + if (wrapEnd !== line.length && delimiters.indexOf(line[wrapEnd] < -1)) { + delimiterIndex = (re.exec(line.substring(wrapStart, wrapEnd)) || {}).index; + wrapEnd = wrapStart + delimiterIndex + 1; + } + lines.push(line.substring(wrapStart, wrapEnd)); + wrapStart = wrapEnd; + wrapEnd += width; + } + if (wrapStart < line.length) { + lines.push(line.substring(wrapStart, wrapEnd)); + } + }); + + return lines; +}; + +HelpFormatter.prototype._fillText = function (text, width, indent) { + var lines = this._splitLines(text, width); + lines = lines.map(function (line) { + return indent + line; + }); + return lines.join(c.EOL); +}; + +HelpFormatter.prototype._getHelpString = function (action) { + return action.help; +}; diff --git a/node_modules/argparse/lib/namespace.js b/node_modules/argparse/lib/namespace.js new file mode 100644 index 00000000..a860de9e --- /dev/null +++ b/node_modules/argparse/lib/namespace.js @@ -0,0 +1,76 @@ +/** + * class Namespace + * + * Simple object for storing attributes. Implements equality by attribute names + * and values, and provides a simple string representation. + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#the-namespace-object + **/ +'use strict'; + +var $$ = require('./utils'); + +/** + * new Namespace(options) + * - options(object): predefined propertis for result object + * + **/ +var Namespace = module.exports = function Namespace(options) { + $$.extend(this, options); +}; + +/** + * Namespace#isset(key) -> Boolean + * - key (string|number): property name + * + * Tells whenever `namespace` contains given `key` or not. + **/ +Namespace.prototype.isset = function (key) { + return $$.has(this, key); +}; + +/** + * Namespace#set(key, value) -> self + * -key (string|number|object): propery name + * -value (mixed): new property value + * + * Set the property named key with value. + * If key object then set all key properties to namespace object + **/ +Namespace.prototype.set = function (key, value) { + if (typeof (key) === 'object') { + $$.extend(this, key); + } else { + this[key] = value; + } + return this; +}; + +/** + * Namespace#get(key, defaultValue) -> mixed + * - key (string|number): property name + * - defaultValue (mixed): default value + * + * Return the property key or defaulValue if not set + **/ +Namespace.prototype.get = function (key, defaultValue) { + return !this[key] ? defaultValue : this[key]; +}; + +/** + * Namespace#unset(key, defaultValue) -> mixed + * - key (string|number): property name + * - defaultValue (mixed): default value + * + * Return data[key](and delete it) or defaultValue + **/ +Namespace.prototype.unset = function (key, defaultValue) { + var value = this[key]; + if (value !== null) { + delete this[key]; + return value; + } + return defaultValue; +}; diff --git a/node_modules/argparse/lib/utils.js b/node_modules/argparse/lib/utils.js new file mode 100644 index 00000000..4a9cf3ed --- /dev/null +++ b/node_modules/argparse/lib/utils.js @@ -0,0 +1,57 @@ +'use strict'; + +exports.repeat = function (str, num) { + var result = ''; + for (var i = 0; i < num; i++) { result += str; } + return result; +}; + +exports.arrayEqual = function (a, b) { + if (a.length !== b.length) { return false; } + for (var i = 0; i < a.length; i++) { + if (a[i] !== b[i]) { return false; } + } + return true; +}; + +exports.trimChars = function (str, chars) { + var start = 0; + var end = str.length - 1; + while (chars.indexOf(str.charAt(start)) >= 0) { start++; } + while (chars.indexOf(str.charAt(end)) >= 0) { end--; } + return str.slice(start, end + 1); +}; + +exports.capitalize = function (str) { + return str.charAt(0).toUpperCase() + str.slice(1); +}; + +exports.arrayUnion = function () { + var result = []; + for (var i = 0, values = {}; i < arguments.length; i++) { + var arr = arguments[i]; + for (var j = 0; j < arr.length; j++) { + if (!values[arr[j]]) { + values[arr[j]] = true; + result.push(arr[j]); + } + } + } + return result; +}; + +function has(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +exports.has = has; + +exports.extend = function (dest, src) { + for (var i in src) { + if (has(src, i)) { dest[i] = src[i]; } + } +}; + +exports.trimEnd = function (str) { + return str.replace(/\s+$/g, ''); +}; diff --git a/node_modules/argparse/package.json b/node_modules/argparse/package.json new file mode 100644 index 00000000..62fba0a9 --- /dev/null +++ b/node_modules/argparse/package.json @@ -0,0 +1,34 @@ +{ + "name": "argparse", + "description": "Very powerful CLI arguments parser. Native port of argparse - python's options parsing library", + "version": "1.0.10", + "keywords": [ + "cli", + "parser", + "argparse", + "option", + "args" + ], + "contributors": [ + "Eugene Shkuropat", + "Paul Jacobson" + ], + "files": [ + "index.js", + "lib/" + ], + "license": "MIT", + "repository": "nodeca/argparse", + "scripts": { + "test": "make test" + }, + "dependencies": { + "sprintf-js": "~1.0.2" + }, + "devDependencies": { + "eslint": "^2.13.1", + "istanbul": "^0.4.5", + "mocha": "^3.1.0", + "ndoc": "^5.0.1" + } +} diff --git a/node_modules/asn1.js/.eslintrc.js b/node_modules/asn1.js/.eslintrc.js new file mode 100644 index 00000000..6b5dc446 --- /dev/null +++ b/node_modules/asn1.js/.eslintrc.js @@ -0,0 +1,27 @@ +module.exports = { + 'env': { + 'browser': false, + 'commonjs': true, + 'es6': true, + 'node': true + }, + 'extends': 'eslint:recommended', + 'rules': { + 'indent': [ + 'error', + 2 + ], + 'linebreak-style': [ + 'error', + 'unix' + ], + 'quotes': [ + 'error', + 'single' + ], + 'semi': [ + 'error', + 'always' + ] + } +}; diff --git a/node_modules/asn1.js/LICENSE b/node_modules/asn1.js/LICENSE new file mode 100644 index 00000000..caaf4f21 --- /dev/null +++ b/node_modules/asn1.js/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Fedor Indutny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/asn1.js/README.md b/node_modules/asn1.js/README.md new file mode 100644 index 00000000..9f04af7e --- /dev/null +++ b/node_modules/asn1.js/README.md @@ -0,0 +1,100 @@ +# ASN1.js + +ASN.1 DER Encoder/Decoder and DSL. + +## Example + +Define model: + +```javascript +var asn = require('asn1.js'); + +var Human = asn.define('Human', function() { + this.seq().obj( + this.key('firstName').octstr(), + this.key('lastName').octstr(), + this.key('age').int(), + this.key('gender').enum({ 0: 'male', 1: 'female' }), + this.key('bio').seqof(Bio) + ); +}); + +var Bio = asn.define('Bio', function() { + this.seq().obj( + this.key('time').gentime(), + this.key('description').octstr() + ); +}); +``` + +Encode data: + +```javascript +var output = Human.encode({ + firstName: 'Thomas', + lastName: 'Anderson', + age: 28, + gender: 'male', + bio: [ + { + time: +new Date('31 March 1999'), + description: 'freedom of mind' + } + ] +}, 'der'); +``` + +Decode data: + +```javascript +var human = Human.decode(output, 'der'); +console.log(human); +/* +{ firstName: , + lastName: , + age: 28, + gender: 'male', + bio: + [ { time: 922820400000, + description: } ] } +*/ +``` + +### Partial decode + +Its possible to parse data without stopping on first error. In order to do it, +you should call: + +```javascript +var human = Human.decode(output, 'der', { partial: true }); +console.log(human); +/* +{ result: { ... }, + errors: [ ... ] } +*/ +``` + +#### LICENSE + +This software is licensed under the MIT License. + +Copyright Fedor Indutny, 2017. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/asn1.js/lib/asn1.js b/node_modules/asn1.js/lib/asn1.js new file mode 100644 index 00000000..c7d70b8e --- /dev/null +++ b/node_modules/asn1.js/lib/asn1.js @@ -0,0 +1,11 @@ +'use strict'; + +const asn1 = exports; + +asn1.bignum = require('bn.js'); + +asn1.define = require('./asn1/api').define; +asn1.base = require('./asn1/base'); +asn1.constants = require('./asn1/constants'); +asn1.decoders = require('./asn1/decoders'); +asn1.encoders = require('./asn1/encoders'); diff --git a/node_modules/asn1.js/lib/asn1/api.js b/node_modules/asn1.js/lib/asn1/api.js new file mode 100644 index 00000000..61e3eb27 --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/api.js @@ -0,0 +1,57 @@ +'use strict'; + +const encoders = require('./encoders'); +const decoders = require('./decoders'); +const inherits = require('inherits'); + +const api = exports; + +api.define = function define(name, body) { + return new Entity(name, body); +}; + +function Entity(name, body) { + this.name = name; + this.body = body; + + this.decoders = {}; + this.encoders = {}; +} + +Entity.prototype._createNamed = function createNamed(Base) { + const name = this.name; + + function Generated(entity) { + this._initNamed(entity, name); + } + inherits(Generated, Base); + Generated.prototype._initNamed = function _initNamed(entity, name) { + Base.call(this, entity, name); + }; + + return new Generated(this); +}; + +Entity.prototype._getDecoder = function _getDecoder(enc) { + enc = enc || 'der'; + // Lazily create decoder + if (!this.decoders.hasOwnProperty(enc)) + this.decoders[enc] = this._createNamed(decoders[enc]); + return this.decoders[enc]; +}; + +Entity.prototype.decode = function decode(data, enc, options) { + return this._getDecoder(enc).decode(data, options); +}; + +Entity.prototype._getEncoder = function _getEncoder(enc) { + enc = enc || 'der'; + // Lazily create encoder + if (!this.encoders.hasOwnProperty(enc)) + this.encoders[enc] = this._createNamed(encoders[enc]); + return this.encoders[enc]; +}; + +Entity.prototype.encode = function encode(data, enc, /* internal */ reporter) { + return this._getEncoder(enc).encode(data, reporter); +}; diff --git a/node_modules/asn1.js/lib/asn1/base/buffer.js b/node_modules/asn1.js/lib/asn1/base/buffer.js new file mode 100644 index 00000000..bb5bc06e --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/base/buffer.js @@ -0,0 +1,153 @@ +'use strict'; + +const inherits = require('inherits'); +const Reporter = require('../base/reporter').Reporter; +const Buffer = require('safer-buffer').Buffer; + +function DecoderBuffer(base, options) { + Reporter.call(this, options); + if (!Buffer.isBuffer(base)) { + this.error('Input not Buffer'); + return; + } + + this.base = base; + this.offset = 0; + this.length = base.length; +} +inherits(DecoderBuffer, Reporter); +exports.DecoderBuffer = DecoderBuffer; + +DecoderBuffer.isDecoderBuffer = function isDecoderBuffer(data) { + if (data instanceof DecoderBuffer) { + return true; + } + + // Or accept compatible API + const isCompatible = typeof data === 'object' && + Buffer.isBuffer(data.base) && + data.constructor.name === 'DecoderBuffer' && + typeof data.offset === 'number' && + typeof data.length === 'number' && + typeof data.save === 'function' && + typeof data.restore === 'function' && + typeof data.isEmpty === 'function' && + typeof data.readUInt8 === 'function' && + typeof data.skip === 'function' && + typeof data.raw === 'function'; + + return isCompatible; +}; + +DecoderBuffer.prototype.save = function save() { + return { offset: this.offset, reporter: Reporter.prototype.save.call(this) }; +}; + +DecoderBuffer.prototype.restore = function restore(save) { + // Return skipped data + const res = new DecoderBuffer(this.base); + res.offset = save.offset; + res.length = this.offset; + + this.offset = save.offset; + Reporter.prototype.restore.call(this, save.reporter); + + return res; +}; + +DecoderBuffer.prototype.isEmpty = function isEmpty() { + return this.offset === this.length; +}; + +DecoderBuffer.prototype.readUInt8 = function readUInt8(fail) { + if (this.offset + 1 <= this.length) + return this.base.readUInt8(this.offset++, true); + else + return this.error(fail || 'DecoderBuffer overrun'); +}; + +DecoderBuffer.prototype.skip = function skip(bytes, fail) { + if (!(this.offset + bytes <= this.length)) + return this.error(fail || 'DecoderBuffer overrun'); + + const res = new DecoderBuffer(this.base); + + // Share reporter state + res._reporterState = this._reporterState; + + res.offset = this.offset; + res.length = this.offset + bytes; + this.offset += bytes; + return res; +}; + +DecoderBuffer.prototype.raw = function raw(save) { + return this.base.slice(save ? save.offset : this.offset, this.length); +}; + +function EncoderBuffer(value, reporter) { + if (Array.isArray(value)) { + this.length = 0; + this.value = value.map(function(item) { + if (!EncoderBuffer.isEncoderBuffer(item)) + item = new EncoderBuffer(item, reporter); + this.length += item.length; + return item; + }, this); + } else if (typeof value === 'number') { + if (!(0 <= value && value <= 0xff)) + return reporter.error('non-byte EncoderBuffer value'); + this.value = value; + this.length = 1; + } else if (typeof value === 'string') { + this.value = value; + this.length = Buffer.byteLength(value); + } else if (Buffer.isBuffer(value)) { + this.value = value; + this.length = value.length; + } else { + return reporter.error('Unsupported type: ' + typeof value); + } +} +exports.EncoderBuffer = EncoderBuffer; + +EncoderBuffer.isEncoderBuffer = function isEncoderBuffer(data) { + if (data instanceof EncoderBuffer) { + return true; + } + + // Or accept compatible API + const isCompatible = typeof data === 'object' && + data.constructor.name === 'EncoderBuffer' && + typeof data.length === 'number' && + typeof data.join === 'function'; + + return isCompatible; +}; + +EncoderBuffer.prototype.join = function join(out, offset) { + if (!out) + out = Buffer.alloc(this.length); + if (!offset) + offset = 0; + + if (this.length === 0) + return out; + + if (Array.isArray(this.value)) { + this.value.forEach(function(item) { + item.join(out, offset); + offset += item.length; + }); + } else { + if (typeof this.value === 'number') + out[offset] = this.value; + else if (typeof this.value === 'string') + out.write(this.value, offset); + else if (Buffer.isBuffer(this.value)) + this.value.copy(out, offset); + offset += this.length; + } + + return out; +}; diff --git a/node_modules/asn1.js/lib/asn1/base/index.js b/node_modules/asn1.js/lib/asn1/base/index.js new file mode 100644 index 00000000..8b92f206 --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/base/index.js @@ -0,0 +1,8 @@ +'use strict'; + +const base = exports; + +base.Reporter = require('./reporter').Reporter; +base.DecoderBuffer = require('./buffer').DecoderBuffer; +base.EncoderBuffer = require('./buffer').EncoderBuffer; +base.Node = require('./node'); diff --git a/node_modules/asn1.js/lib/asn1/base/node.js b/node_modules/asn1.js/lib/asn1/base/node.js new file mode 100644 index 00000000..d676d213 --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/base/node.js @@ -0,0 +1,638 @@ +'use strict'; + +const Reporter = require('../base/reporter').Reporter; +const EncoderBuffer = require('../base/buffer').EncoderBuffer; +const DecoderBuffer = require('../base/buffer').DecoderBuffer; +const assert = require('minimalistic-assert'); + +// Supported tags +const tags = [ + 'seq', 'seqof', 'set', 'setof', 'objid', 'bool', + 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc', + 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str', + 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr' +]; + +// Public methods list +const methods = [ + 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice', + 'any', 'contains' +].concat(tags); + +// Overrided methods list +const overrided = [ + '_peekTag', '_decodeTag', '_use', + '_decodeStr', '_decodeObjid', '_decodeTime', + '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList', + + '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime', + '_encodeNull', '_encodeInt', '_encodeBool' +]; + +function Node(enc, parent, name) { + const state = {}; + this._baseState = state; + + state.name = name; + state.enc = enc; + + state.parent = parent || null; + state.children = null; + + // State + state.tag = null; + state.args = null; + state.reverseArgs = null; + state.choice = null; + state.optional = false; + state.any = false; + state.obj = false; + state.use = null; + state.useDecoder = null; + state.key = null; + state['default'] = null; + state.explicit = null; + state.implicit = null; + state.contains = null; + + // Should create new instance on each method + if (!state.parent) { + state.children = []; + this._wrap(); + } +} +module.exports = Node; + +const stateProps = [ + 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice', + 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit', + 'implicit', 'contains' +]; + +Node.prototype.clone = function clone() { + const state = this._baseState; + const cstate = {}; + stateProps.forEach(function(prop) { + cstate[prop] = state[prop]; + }); + const res = new this.constructor(cstate.parent); + res._baseState = cstate; + return res; +}; + +Node.prototype._wrap = function wrap() { + const state = this._baseState; + methods.forEach(function(method) { + this[method] = function _wrappedMethod() { + const clone = new this.constructor(this); + state.children.push(clone); + return clone[method].apply(clone, arguments); + }; + }, this); +}; + +Node.prototype._init = function init(body) { + const state = this._baseState; + + assert(state.parent === null); + body.call(this); + + // Filter children + state.children = state.children.filter(function(child) { + return child._baseState.parent === this; + }, this); + assert.equal(state.children.length, 1, 'Root node can have only one child'); +}; + +Node.prototype._useArgs = function useArgs(args) { + const state = this._baseState; + + // Filter children and args + const children = args.filter(function(arg) { + return arg instanceof this.constructor; + }, this); + args = args.filter(function(arg) { + return !(arg instanceof this.constructor); + }, this); + + if (children.length !== 0) { + assert(state.children === null); + state.children = children; + + // Replace parent to maintain backward link + children.forEach(function(child) { + child._baseState.parent = this; + }, this); + } + if (args.length !== 0) { + assert(state.args === null); + state.args = args; + state.reverseArgs = args.map(function(arg) { + if (typeof arg !== 'object' || arg.constructor !== Object) + return arg; + + const res = {}; + Object.keys(arg).forEach(function(key) { + if (key == (key | 0)) + key |= 0; + const value = arg[key]; + res[value] = key; + }); + return res; + }); + } +}; + +// +// Overrided methods +// + +overrided.forEach(function(method) { + Node.prototype[method] = function _overrided() { + const state = this._baseState; + throw new Error(method + ' not implemented for encoding: ' + state.enc); + }; +}); + +// +// Public methods +// + +tags.forEach(function(tag) { + Node.prototype[tag] = function _tagMethod() { + const state = this._baseState; + const args = Array.prototype.slice.call(arguments); + + assert(state.tag === null); + state.tag = tag; + + this._useArgs(args); + + return this; + }; +}); + +Node.prototype.use = function use(item) { + assert(item); + const state = this._baseState; + + assert(state.use === null); + state.use = item; + + return this; +}; + +Node.prototype.optional = function optional() { + const state = this._baseState; + + state.optional = true; + + return this; +}; + +Node.prototype.def = function def(val) { + const state = this._baseState; + + assert(state['default'] === null); + state['default'] = val; + state.optional = true; + + return this; +}; + +Node.prototype.explicit = function explicit(num) { + const state = this._baseState; + + assert(state.explicit === null && state.implicit === null); + state.explicit = num; + + return this; +}; + +Node.prototype.implicit = function implicit(num) { + const state = this._baseState; + + assert(state.explicit === null && state.implicit === null); + state.implicit = num; + + return this; +}; + +Node.prototype.obj = function obj() { + const state = this._baseState; + const args = Array.prototype.slice.call(arguments); + + state.obj = true; + + if (args.length !== 0) + this._useArgs(args); + + return this; +}; + +Node.prototype.key = function key(newKey) { + const state = this._baseState; + + assert(state.key === null); + state.key = newKey; + + return this; +}; + +Node.prototype.any = function any() { + const state = this._baseState; + + state.any = true; + + return this; +}; + +Node.prototype.choice = function choice(obj) { + const state = this._baseState; + + assert(state.choice === null); + state.choice = obj; + this._useArgs(Object.keys(obj).map(function(key) { + return obj[key]; + })); + + return this; +}; + +Node.prototype.contains = function contains(item) { + const state = this._baseState; + + assert(state.use === null); + state.contains = item; + + return this; +}; + +// +// Decoding +// + +Node.prototype._decode = function decode(input, options) { + const state = this._baseState; + + // Decode root node + if (state.parent === null) + return input.wrapResult(state.children[0]._decode(input, options)); + + let result = state['default']; + let present = true; + + let prevKey = null; + if (state.key !== null) + prevKey = input.enterKey(state.key); + + // Check if tag is there + if (state.optional) { + let tag = null; + if (state.explicit !== null) + tag = state.explicit; + else if (state.implicit !== null) + tag = state.implicit; + else if (state.tag !== null) + tag = state.tag; + + if (tag === null && !state.any) { + // Trial and Error + const save = input.save(); + try { + if (state.choice === null) + this._decodeGeneric(state.tag, input, options); + else + this._decodeChoice(input, options); + present = true; + } catch (e) { + present = false; + } + input.restore(save); + } else { + present = this._peekTag(input, tag, state.any); + + if (input.isError(present)) + return present; + } + } + + // Push object on stack + let prevObj; + if (state.obj && present) + prevObj = input.enterObject(); + + if (present) { + // Unwrap explicit values + if (state.explicit !== null) { + const explicit = this._decodeTag(input, state.explicit); + if (input.isError(explicit)) + return explicit; + input = explicit; + } + + const start = input.offset; + + // Unwrap implicit and normal values + if (state.use === null && state.choice === null) { + let save; + if (state.any) + save = input.save(); + const body = this._decodeTag( + input, + state.implicit !== null ? state.implicit : state.tag, + state.any + ); + if (input.isError(body)) + return body; + + if (state.any) + result = input.raw(save); + else + input = body; + } + + if (options && options.track && state.tag !== null) + options.track(input.path(), start, input.length, 'tagged'); + + if (options && options.track && state.tag !== null) + options.track(input.path(), input.offset, input.length, 'content'); + + // Select proper method for tag + if (state.any) { + // no-op + } else if (state.choice === null) { + result = this._decodeGeneric(state.tag, input, options); + } else { + result = this._decodeChoice(input, options); + } + + if (input.isError(result)) + return result; + + // Decode children + if (!state.any && state.choice === null && state.children !== null) { + state.children.forEach(function decodeChildren(child) { + // NOTE: We are ignoring errors here, to let parser continue with other + // parts of encoded data + child._decode(input, options); + }); + } + + // Decode contained/encoded by schema, only in bit or octet strings + if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) { + const data = new DecoderBuffer(result); + result = this._getUse(state.contains, input._reporterState.obj) + ._decode(data, options); + } + } + + // Pop object + if (state.obj && present) + result = input.leaveObject(prevObj); + + // Set key + if (state.key !== null && (result !== null || present === true)) + input.leaveKey(prevKey, state.key, result); + else if (prevKey !== null) + input.exitKey(prevKey); + + return result; +}; + +Node.prototype._decodeGeneric = function decodeGeneric(tag, input, options) { + const state = this._baseState; + + if (tag === 'seq' || tag === 'set') + return null; + if (tag === 'seqof' || tag === 'setof') + return this._decodeList(input, tag, state.args[0], options); + else if (/str$/.test(tag)) + return this._decodeStr(input, tag, options); + else if (tag === 'objid' && state.args) + return this._decodeObjid(input, state.args[0], state.args[1], options); + else if (tag === 'objid') + return this._decodeObjid(input, null, null, options); + else if (tag === 'gentime' || tag === 'utctime') + return this._decodeTime(input, tag, options); + else if (tag === 'null_') + return this._decodeNull(input, options); + else if (tag === 'bool') + return this._decodeBool(input, options); + else if (tag === 'objDesc') + return this._decodeStr(input, tag, options); + else if (tag === 'int' || tag === 'enum') + return this._decodeInt(input, state.args && state.args[0], options); + + if (state.use !== null) { + return this._getUse(state.use, input._reporterState.obj) + ._decode(input, options); + } else { + return input.error('unknown tag: ' + tag); + } +}; + +Node.prototype._getUse = function _getUse(entity, obj) { + + const state = this._baseState; + // Create altered use decoder if implicit is set + state.useDecoder = this._use(entity, obj); + assert(state.useDecoder._baseState.parent === null); + state.useDecoder = state.useDecoder._baseState.children[0]; + if (state.implicit !== state.useDecoder._baseState.implicit) { + state.useDecoder = state.useDecoder.clone(); + state.useDecoder._baseState.implicit = state.implicit; + } + return state.useDecoder; +}; + +Node.prototype._decodeChoice = function decodeChoice(input, options) { + const state = this._baseState; + let result = null; + let match = false; + + Object.keys(state.choice).some(function(key) { + const save = input.save(); + const node = state.choice[key]; + try { + const value = node._decode(input, options); + if (input.isError(value)) + return false; + + result = { type: key, value: value }; + match = true; + } catch (e) { + input.restore(save); + return false; + } + return true; + }, this); + + if (!match) + return input.error('Choice not matched'); + + return result; +}; + +// +// Encoding +// + +Node.prototype._createEncoderBuffer = function createEncoderBuffer(data) { + return new EncoderBuffer(data, this.reporter); +}; + +Node.prototype._encode = function encode(data, reporter, parent) { + const state = this._baseState; + if (state['default'] !== null && state['default'] === data) + return; + + const result = this._encodeValue(data, reporter, parent); + if (result === undefined) + return; + + if (this._skipDefault(result, reporter, parent)) + return; + + return result; +}; + +Node.prototype._encodeValue = function encode(data, reporter, parent) { + const state = this._baseState; + + // Decode root node + if (state.parent === null) + return state.children[0]._encode(data, reporter || new Reporter()); + + let result = null; + + // Set reporter to share it with a child class + this.reporter = reporter; + + // Check if data is there + if (state.optional && data === undefined) { + if (state['default'] !== null) + data = state['default']; + else + return; + } + + // Encode children first + let content = null; + let primitive = false; + if (state.any) { + // Anything that was given is translated to buffer + result = this._createEncoderBuffer(data); + } else if (state.choice) { + result = this._encodeChoice(data, reporter); + } else if (state.contains) { + content = this._getUse(state.contains, parent)._encode(data, reporter); + primitive = true; + } else if (state.children) { + content = state.children.map(function(child) { + if (child._baseState.tag === 'null_') + return child._encode(null, reporter, data); + + if (child._baseState.key === null) + return reporter.error('Child should have a key'); + const prevKey = reporter.enterKey(child._baseState.key); + + if (typeof data !== 'object') + return reporter.error('Child expected, but input is not object'); + + const res = child._encode(data[child._baseState.key], reporter, data); + reporter.leaveKey(prevKey); + + return res; + }, this).filter(function(child) { + return child; + }); + content = this._createEncoderBuffer(content); + } else { + if (state.tag === 'seqof' || state.tag === 'setof') { + // TODO(indutny): this should be thrown on DSL level + if (!(state.args && state.args.length === 1)) + return reporter.error('Too many args for : ' + state.tag); + + if (!Array.isArray(data)) + return reporter.error('seqof/setof, but data is not Array'); + + const child = this.clone(); + child._baseState.implicit = null; + content = this._createEncoderBuffer(data.map(function(item) { + const state = this._baseState; + + return this._getUse(state.args[0], data)._encode(item, reporter); + }, child)); + } else if (state.use !== null) { + result = this._getUse(state.use, parent)._encode(data, reporter); + } else { + content = this._encodePrimitive(state.tag, data); + primitive = true; + } + } + + // Encode data itself + if (!state.any && state.choice === null) { + const tag = state.implicit !== null ? state.implicit : state.tag; + const cls = state.implicit === null ? 'universal' : 'context'; + + if (tag === null) { + if (state.use === null) + reporter.error('Tag could be omitted only for .use()'); + } else { + if (state.use === null) + result = this._encodeComposite(tag, primitive, cls, content); + } + } + + // Wrap in explicit + if (state.explicit !== null) + result = this._encodeComposite(state.explicit, false, 'context', result); + + return result; +}; + +Node.prototype._encodeChoice = function encodeChoice(data, reporter) { + const state = this._baseState; + + const node = state.choice[data.type]; + if (!node) { + assert( + false, + data.type + ' not found in ' + + JSON.stringify(Object.keys(state.choice))); + } + return node._encode(data.value, reporter); +}; + +Node.prototype._encodePrimitive = function encodePrimitive(tag, data) { + const state = this._baseState; + + if (/str$/.test(tag)) + return this._encodeStr(data, tag); + else if (tag === 'objid' && state.args) + return this._encodeObjid(data, state.reverseArgs[0], state.args[1]); + else if (tag === 'objid') + return this._encodeObjid(data, null, null); + else if (tag === 'gentime' || tag === 'utctime') + return this._encodeTime(data, tag); + else if (tag === 'null_') + return this._encodeNull(); + else if (tag === 'int' || tag === 'enum') + return this._encodeInt(data, state.args && state.reverseArgs[0]); + else if (tag === 'bool') + return this._encodeBool(data); + else if (tag === 'objDesc') + return this._encodeStr(data, tag); + else + throw new Error('Unsupported tag: ' + tag); +}; + +Node.prototype._isNumstr = function isNumstr(str) { + return /^[0-9 ]*$/.test(str); +}; + +Node.prototype._isPrintstr = function isPrintstr(str) { + return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str); +}; diff --git a/node_modules/asn1.js/lib/asn1/base/reporter.js b/node_modules/asn1.js/lib/asn1/base/reporter.js new file mode 100644 index 00000000..d05fe12f --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/base/reporter.js @@ -0,0 +1,123 @@ +'use strict'; + +const inherits = require('inherits'); + +function Reporter(options) { + this._reporterState = { + obj: null, + path: [], + options: options || {}, + errors: [] + }; +} +exports.Reporter = Reporter; + +Reporter.prototype.isError = function isError(obj) { + return obj instanceof ReporterError; +}; + +Reporter.prototype.save = function save() { + const state = this._reporterState; + + return { obj: state.obj, pathLen: state.path.length }; +}; + +Reporter.prototype.restore = function restore(data) { + const state = this._reporterState; + + state.obj = data.obj; + state.path = state.path.slice(0, data.pathLen); +}; + +Reporter.prototype.enterKey = function enterKey(key) { + return this._reporterState.path.push(key); +}; + +Reporter.prototype.exitKey = function exitKey(index) { + const state = this._reporterState; + + state.path = state.path.slice(0, index - 1); +}; + +Reporter.prototype.leaveKey = function leaveKey(index, key, value) { + const state = this._reporterState; + + this.exitKey(index); + if (state.obj !== null) + state.obj[key] = value; +}; + +Reporter.prototype.path = function path() { + return this._reporterState.path.join('/'); +}; + +Reporter.prototype.enterObject = function enterObject() { + const state = this._reporterState; + + const prev = state.obj; + state.obj = {}; + return prev; +}; + +Reporter.prototype.leaveObject = function leaveObject(prev) { + const state = this._reporterState; + + const now = state.obj; + state.obj = prev; + return now; +}; + +Reporter.prototype.error = function error(msg) { + let err; + const state = this._reporterState; + + const inherited = msg instanceof ReporterError; + if (inherited) { + err = msg; + } else { + err = new ReporterError(state.path.map(function(elem) { + return '[' + JSON.stringify(elem) + ']'; + }).join(''), msg.message || msg, msg.stack); + } + + if (!state.options.partial) + throw err; + + if (!inherited) + state.errors.push(err); + + return err; +}; + +Reporter.prototype.wrapResult = function wrapResult(result) { + const state = this._reporterState; + if (!state.options.partial) + return result; + + return { + result: this.isError(result) ? null : result, + errors: state.errors + }; +}; + +function ReporterError(path, msg) { + this.path = path; + this.rethrow(msg); +} +inherits(ReporterError, Error); + +ReporterError.prototype.rethrow = function rethrow(msg) { + this.message = msg + ' at: ' + (this.path || '(shallow)'); + if (Error.captureStackTrace) + Error.captureStackTrace(this, ReporterError); + + if (!this.stack) { + try { + // IE only adds stack when thrown + throw new Error(this.message); + } catch (e) { + this.stack = e.stack; + } + } + return this; +}; diff --git a/node_modules/asn1.js/lib/asn1/constants/der.js b/node_modules/asn1.js/lib/asn1/constants/der.js new file mode 100644 index 00000000..2b678aaf --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/constants/der.js @@ -0,0 +1,58 @@ +'use strict'; + +// Helper +function reverse(map) { + const res = {}; + + Object.keys(map).forEach(function(key) { + // Convert key to integer if it is stringified + if ((key | 0) == key) + key = key | 0; + + const value = map[key]; + res[value] = key; + }); + + return res; +} + +exports.tagClass = { + 0: 'universal', + 1: 'application', + 2: 'context', + 3: 'private' +}; +exports.tagClassByName = reverse(exports.tagClass); + +exports.tag = { + 0x00: 'end', + 0x01: 'bool', + 0x02: 'int', + 0x03: 'bitstr', + 0x04: 'octstr', + 0x05: 'null_', + 0x06: 'objid', + 0x07: 'objDesc', + 0x08: 'external', + 0x09: 'real', + 0x0a: 'enum', + 0x0b: 'embed', + 0x0c: 'utf8str', + 0x0d: 'relativeOid', + 0x10: 'seq', + 0x11: 'set', + 0x12: 'numstr', + 0x13: 'printstr', + 0x14: 't61str', + 0x15: 'videostr', + 0x16: 'ia5str', + 0x17: 'utctime', + 0x18: 'gentime', + 0x19: 'graphstr', + 0x1a: 'iso646str', + 0x1b: 'genstr', + 0x1c: 'unistr', + 0x1d: 'charstr', + 0x1e: 'bmpstr' +}; +exports.tagByName = reverse(exports.tag); diff --git a/node_modules/asn1.js/lib/asn1/constants/index.js b/node_modules/asn1.js/lib/asn1/constants/index.js new file mode 100644 index 00000000..632cf3de --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/constants/index.js @@ -0,0 +1,21 @@ +'use strict'; + +const constants = exports; + +// Helper +constants._reverse = function reverse(map) { + const res = {}; + + Object.keys(map).forEach(function(key) { + // Convert key to integer if it is stringified + if ((key | 0) == key) + key = key | 0; + + const value = map[key]; + res[value] = key; + }); + + return res; +}; + +constants.der = require('./der'); diff --git a/node_modules/asn1.js/lib/asn1/decoders/der.js b/node_modules/asn1.js/lib/asn1/decoders/der.js new file mode 100644 index 00000000..c5b0515b --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/decoders/der.js @@ -0,0 +1,335 @@ +'use strict'; + +const inherits = require('inherits'); + +const bignum = require('bn.js'); +const DecoderBuffer = require('../base/buffer').DecoderBuffer; +const Node = require('../base/node'); + +// Import DER constants +const der = require('../constants/der'); + +function DERDecoder(entity) { + this.enc = 'der'; + this.name = entity.name; + this.entity = entity; + + // Construct base tree + this.tree = new DERNode(); + this.tree._init(entity.body); +} +module.exports = DERDecoder; + +DERDecoder.prototype.decode = function decode(data, options) { + if (!DecoderBuffer.isDecoderBuffer(data)) { + data = new DecoderBuffer(data, options); + } + + return this.tree._decode(data, options); +}; + +// Tree methods + +function DERNode(parent) { + Node.call(this, 'der', parent); +} +inherits(DERNode, Node); + +DERNode.prototype._peekTag = function peekTag(buffer, tag, any) { + if (buffer.isEmpty()) + return false; + + const state = buffer.save(); + const decodedTag = derDecodeTag(buffer, 'Failed to peek tag: "' + tag + '"'); + if (buffer.isError(decodedTag)) + return decodedTag; + + buffer.restore(state); + + return decodedTag.tag === tag || decodedTag.tagStr === tag || + (decodedTag.tagStr + 'of') === tag || any; +}; + +DERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) { + const decodedTag = derDecodeTag(buffer, + 'Failed to decode tag of "' + tag + '"'); + if (buffer.isError(decodedTag)) + return decodedTag; + + let len = derDecodeLen(buffer, + decodedTag.primitive, + 'Failed to get length of "' + tag + '"'); + + // Failure + if (buffer.isError(len)) + return len; + + if (!any && + decodedTag.tag !== tag && + decodedTag.tagStr !== tag && + decodedTag.tagStr + 'of' !== tag) { + return buffer.error('Failed to match tag: "' + tag + '"'); + } + + if (decodedTag.primitive || len !== null) + return buffer.skip(len, 'Failed to match body of: "' + tag + '"'); + + // Indefinite length... find END tag + const state = buffer.save(); + const res = this._skipUntilEnd( + buffer, + 'Failed to skip indefinite length body: "' + this.tag + '"'); + if (buffer.isError(res)) + return res; + + len = buffer.offset - state.offset; + buffer.restore(state); + return buffer.skip(len, 'Failed to match body of: "' + tag + '"'); +}; + +DERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) { + for (;;) { + const tag = derDecodeTag(buffer, fail); + if (buffer.isError(tag)) + return tag; + const len = derDecodeLen(buffer, tag.primitive, fail); + if (buffer.isError(len)) + return len; + + let res; + if (tag.primitive || len !== null) + res = buffer.skip(len); + else + res = this._skipUntilEnd(buffer, fail); + + // Failure + if (buffer.isError(res)) + return res; + + if (tag.tagStr === 'end') + break; + } +}; + +DERNode.prototype._decodeList = function decodeList(buffer, tag, decoder, + options) { + const result = []; + while (!buffer.isEmpty()) { + const possibleEnd = this._peekTag(buffer, 'end'); + if (buffer.isError(possibleEnd)) + return possibleEnd; + + const res = decoder.decode(buffer, 'der', options); + if (buffer.isError(res) && possibleEnd) + break; + result.push(res); + } + return result; +}; + +DERNode.prototype._decodeStr = function decodeStr(buffer, tag) { + if (tag === 'bitstr') { + const unused = buffer.readUInt8(); + if (buffer.isError(unused)) + return unused; + return { unused: unused, data: buffer.raw() }; + } else if (tag === 'bmpstr') { + const raw = buffer.raw(); + if (raw.length % 2 === 1) + return buffer.error('Decoding of string type: bmpstr length mismatch'); + + let str = ''; + for (let i = 0; i < raw.length / 2; i++) { + str += String.fromCharCode(raw.readUInt16BE(i * 2)); + } + return str; + } else if (tag === 'numstr') { + const numstr = buffer.raw().toString('ascii'); + if (!this._isNumstr(numstr)) { + return buffer.error('Decoding of string type: ' + + 'numstr unsupported characters'); + } + return numstr; + } else if (tag === 'octstr') { + return buffer.raw(); + } else if (tag === 'objDesc') { + return buffer.raw(); + } else if (tag === 'printstr') { + const printstr = buffer.raw().toString('ascii'); + if (!this._isPrintstr(printstr)) { + return buffer.error('Decoding of string type: ' + + 'printstr unsupported characters'); + } + return printstr; + } else if (/str$/.test(tag)) { + return buffer.raw().toString(); + } else { + return buffer.error('Decoding of string type: ' + tag + ' unsupported'); + } +}; + +DERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) { + let result; + const identifiers = []; + let ident = 0; + let subident = 0; + while (!buffer.isEmpty()) { + subident = buffer.readUInt8(); + ident <<= 7; + ident |= subident & 0x7f; + if ((subident & 0x80) === 0) { + identifiers.push(ident); + ident = 0; + } + } + if (subident & 0x80) + identifiers.push(ident); + + const first = (identifiers[0] / 40) | 0; + const second = identifiers[0] % 40; + + if (relative) + result = identifiers; + else + result = [first, second].concat(identifiers.slice(1)); + + if (values) { + let tmp = values[result.join(' ')]; + if (tmp === undefined) + tmp = values[result.join('.')]; + if (tmp !== undefined) + result = tmp; + } + + return result; +}; + +DERNode.prototype._decodeTime = function decodeTime(buffer, tag) { + const str = buffer.raw().toString(); + + let year; + let mon; + let day; + let hour; + let min; + let sec; + if (tag === 'gentime') { + year = str.slice(0, 4) | 0; + mon = str.slice(4, 6) | 0; + day = str.slice(6, 8) | 0; + hour = str.slice(8, 10) | 0; + min = str.slice(10, 12) | 0; + sec = str.slice(12, 14) | 0; + } else if (tag === 'utctime') { + year = str.slice(0, 2) | 0; + mon = str.slice(2, 4) | 0; + day = str.slice(4, 6) | 0; + hour = str.slice(6, 8) | 0; + min = str.slice(8, 10) | 0; + sec = str.slice(10, 12) | 0; + if (year < 70) + year = 2000 + year; + else + year = 1900 + year; + } else { + return buffer.error('Decoding ' + tag + ' time is not supported yet'); + } + + return Date.UTC(year, mon - 1, day, hour, min, sec, 0); +}; + +DERNode.prototype._decodeNull = function decodeNull() { + return null; +}; + +DERNode.prototype._decodeBool = function decodeBool(buffer) { + const res = buffer.readUInt8(); + if (buffer.isError(res)) + return res; + else + return res !== 0; +}; + +DERNode.prototype._decodeInt = function decodeInt(buffer, values) { + // Bigint, return as it is (assume big endian) + const raw = buffer.raw(); + let res = new bignum(raw); + + if (values) + res = values[res.toString(10)] || res; + + return res; +}; + +DERNode.prototype._use = function use(entity, obj) { + if (typeof entity === 'function') + entity = entity(obj); + return entity._getDecoder('der').tree; +}; + +// Utility methods + +function derDecodeTag(buf, fail) { + let tag = buf.readUInt8(fail); + if (buf.isError(tag)) + return tag; + + const cls = der.tagClass[tag >> 6]; + const primitive = (tag & 0x20) === 0; + + // Multi-octet tag - load + if ((tag & 0x1f) === 0x1f) { + let oct = tag; + tag = 0; + while ((oct & 0x80) === 0x80) { + oct = buf.readUInt8(fail); + if (buf.isError(oct)) + return oct; + + tag <<= 7; + tag |= oct & 0x7f; + } + } else { + tag &= 0x1f; + } + const tagStr = der.tag[tag]; + + return { + cls: cls, + primitive: primitive, + tag: tag, + tagStr: tagStr + }; +} + +function derDecodeLen(buf, primitive, fail) { + let len = buf.readUInt8(fail); + if (buf.isError(len)) + return len; + + // Indefinite form + if (!primitive && len === 0x80) + return null; + + // Definite form + if ((len & 0x80) === 0) { + // Short form + return len; + } + + // Long form + const num = len & 0x7f; + if (num > 4) + return buf.error('length octect is too long'); + + len = 0; + for (let i = 0; i < num; i++) { + len <<= 8; + const j = buf.readUInt8(fail); + if (buf.isError(j)) + return j; + len |= j; + } + + return len; +} diff --git a/node_modules/asn1.js/lib/asn1/decoders/index.js b/node_modules/asn1.js/lib/asn1/decoders/index.js new file mode 100644 index 00000000..14fb05ae --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/decoders/index.js @@ -0,0 +1,6 @@ +'use strict'; + +const decoders = exports; + +decoders.der = require('./der'); +decoders.pem = require('./pem'); diff --git a/node_modules/asn1.js/lib/asn1/decoders/pem.js b/node_modules/asn1.js/lib/asn1/decoders/pem.js new file mode 100644 index 00000000..2b050ef6 --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/decoders/pem.js @@ -0,0 +1,51 @@ +'use strict'; + +const inherits = require('inherits'); +const Buffer = require('safer-buffer').Buffer; + +const DERDecoder = require('./der'); + +function PEMDecoder(entity) { + DERDecoder.call(this, entity); + this.enc = 'pem'; +} +inherits(PEMDecoder, DERDecoder); +module.exports = PEMDecoder; + +PEMDecoder.prototype.decode = function decode(data, options) { + const lines = data.toString().split(/[\r\n]+/g); + + const label = options.label.toUpperCase(); + + const re = /^-----(BEGIN|END) ([^-]+)-----$/; + let start = -1; + let end = -1; + for (let i = 0; i < lines.length; i++) { + const match = lines[i].match(re); + if (match === null) + continue; + + if (match[2] !== label) + continue; + + if (start === -1) { + if (match[1] !== 'BEGIN') + break; + start = i; + } else { + if (match[1] !== 'END') + break; + end = i; + break; + } + } + if (start === -1 || end === -1) + throw new Error('PEM section not found for: ' + label); + + const base64 = lines.slice(start + 1, end).join(''); + // Remove excessive symbols + base64.replace(/[^a-z0-9+/=]+/gi, ''); + + const input = Buffer.from(base64, 'base64'); + return DERDecoder.prototype.decode.call(this, input, options); +}; diff --git a/node_modules/asn1.js/lib/asn1/encoders/der.js b/node_modules/asn1.js/lib/asn1/encoders/der.js new file mode 100644 index 00000000..55eb4359 --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/encoders/der.js @@ -0,0 +1,295 @@ +'use strict'; + +const inherits = require('inherits'); +const Buffer = require('safer-buffer').Buffer; +const Node = require('../base/node'); + +// Import DER constants +const der = require('../constants/der'); + +function DEREncoder(entity) { + this.enc = 'der'; + this.name = entity.name; + this.entity = entity; + + // Construct base tree + this.tree = new DERNode(); + this.tree._init(entity.body); +} +module.exports = DEREncoder; + +DEREncoder.prototype.encode = function encode(data, reporter) { + return this.tree._encode(data, reporter).join(); +}; + +// Tree methods + +function DERNode(parent) { + Node.call(this, 'der', parent); +} +inherits(DERNode, Node); + +DERNode.prototype._encodeComposite = function encodeComposite(tag, + primitive, + cls, + content) { + const encodedTag = encodeTag(tag, primitive, cls, this.reporter); + + // Short form + if (content.length < 0x80) { + const header = Buffer.alloc(2); + header[0] = encodedTag; + header[1] = content.length; + return this._createEncoderBuffer([ header, content ]); + } + + // Long form + // Count octets required to store length + let lenOctets = 1; + for (let i = content.length; i >= 0x100; i >>= 8) + lenOctets++; + + const header = Buffer.alloc(1 + 1 + lenOctets); + header[0] = encodedTag; + header[1] = 0x80 | lenOctets; + + for (let i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8) + header[i] = j & 0xff; + + return this._createEncoderBuffer([ header, content ]); +}; + +DERNode.prototype._encodeStr = function encodeStr(str, tag) { + if (tag === 'bitstr') { + return this._createEncoderBuffer([ str.unused | 0, str.data ]); + } else if (tag === 'bmpstr') { + const buf = Buffer.alloc(str.length * 2); + for (let i = 0; i < str.length; i++) { + buf.writeUInt16BE(str.charCodeAt(i), i * 2); + } + return this._createEncoderBuffer(buf); + } else if (tag === 'numstr') { + if (!this._isNumstr(str)) { + return this.reporter.error('Encoding of string type: numstr supports ' + + 'only digits and space'); + } + return this._createEncoderBuffer(str); + } else if (tag === 'printstr') { + if (!this._isPrintstr(str)) { + return this.reporter.error('Encoding of string type: printstr supports ' + + 'only latin upper and lower case letters, ' + + 'digits, space, apostrophe, left and rigth ' + + 'parenthesis, plus sign, comma, hyphen, ' + + 'dot, slash, colon, equal sign, ' + + 'question mark'); + } + return this._createEncoderBuffer(str); + } else if (/str$/.test(tag)) { + return this._createEncoderBuffer(str); + } else if (tag === 'objDesc') { + return this._createEncoderBuffer(str); + } else { + return this.reporter.error('Encoding of string type: ' + tag + + ' unsupported'); + } +}; + +DERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) { + if (typeof id === 'string') { + if (!values) + return this.reporter.error('string objid given, but no values map found'); + if (!values.hasOwnProperty(id)) + return this.reporter.error('objid not found in values map'); + id = values[id].split(/[\s.]+/g); + for (let i = 0; i < id.length; i++) + id[i] |= 0; + } else if (Array.isArray(id)) { + id = id.slice(); + for (let i = 0; i < id.length; i++) + id[i] |= 0; + } + + if (!Array.isArray(id)) { + return this.reporter.error('objid() should be either array or string, ' + + 'got: ' + JSON.stringify(id)); + } + + if (!relative) { + if (id[1] >= 40) + return this.reporter.error('Second objid identifier OOB'); + id.splice(0, 2, id[0] * 40 + id[1]); + } + + // Count number of octets + let size = 0; + for (let i = 0; i < id.length; i++) { + let ident = id[i]; + for (size++; ident >= 0x80; ident >>= 7) + size++; + } + + const objid = Buffer.alloc(size); + let offset = objid.length - 1; + for (let i = id.length - 1; i >= 0; i--) { + let ident = id[i]; + objid[offset--] = ident & 0x7f; + while ((ident >>= 7) > 0) + objid[offset--] = 0x80 | (ident & 0x7f); + } + + return this._createEncoderBuffer(objid); +}; + +function two(num) { + if (num < 10) + return '0' + num; + else + return num; +} + +DERNode.prototype._encodeTime = function encodeTime(time, tag) { + let str; + const date = new Date(time); + + if (tag === 'gentime') { + str = [ + two(date.getUTCFullYear()), + two(date.getUTCMonth() + 1), + two(date.getUTCDate()), + two(date.getUTCHours()), + two(date.getUTCMinutes()), + two(date.getUTCSeconds()), + 'Z' + ].join(''); + } else if (tag === 'utctime') { + str = [ + two(date.getUTCFullYear() % 100), + two(date.getUTCMonth() + 1), + two(date.getUTCDate()), + two(date.getUTCHours()), + two(date.getUTCMinutes()), + two(date.getUTCSeconds()), + 'Z' + ].join(''); + } else { + this.reporter.error('Encoding ' + tag + ' time is not supported yet'); + } + + return this._encodeStr(str, 'octstr'); +}; + +DERNode.prototype._encodeNull = function encodeNull() { + return this._createEncoderBuffer(''); +}; + +DERNode.prototype._encodeInt = function encodeInt(num, values) { + if (typeof num === 'string') { + if (!values) + return this.reporter.error('String int or enum given, but no values map'); + if (!values.hasOwnProperty(num)) { + return this.reporter.error('Values map doesn\'t contain: ' + + JSON.stringify(num)); + } + num = values[num]; + } + + // Bignum, assume big endian + if (typeof num !== 'number' && !Buffer.isBuffer(num)) { + const numArray = num.toArray(); + if (!num.sign && numArray[0] & 0x80) { + numArray.unshift(0); + } + num = Buffer.from(numArray); + } + + if (Buffer.isBuffer(num)) { + let size = num.length; + if (num.length === 0) + size++; + + const out = Buffer.alloc(size); + num.copy(out); + if (num.length === 0) + out[0] = 0; + return this._createEncoderBuffer(out); + } + + if (num < 0x80) + return this._createEncoderBuffer(num); + + if (num < 0x100) + return this._createEncoderBuffer([0, num]); + + let size = 1; + for (let i = num; i >= 0x100; i >>= 8) + size++; + + const out = new Array(size); + for (let i = out.length - 1; i >= 0; i--) { + out[i] = num & 0xff; + num >>= 8; + } + if(out[0] & 0x80) { + out.unshift(0); + } + + return this._createEncoderBuffer(Buffer.from(out)); +}; + +DERNode.prototype._encodeBool = function encodeBool(value) { + return this._createEncoderBuffer(value ? 0xff : 0); +}; + +DERNode.prototype._use = function use(entity, obj) { + if (typeof entity === 'function') + entity = entity(obj); + return entity._getEncoder('der').tree; +}; + +DERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) { + const state = this._baseState; + let i; + if (state['default'] === null) + return false; + + const data = dataBuffer.join(); + if (state.defaultBuffer === undefined) + state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join(); + + if (data.length !== state.defaultBuffer.length) + return false; + + for (i=0; i < data.length; i++) + if (data[i] !== state.defaultBuffer[i]) + return false; + + return true; +}; + +// Utility methods + +function encodeTag(tag, primitive, cls, reporter) { + let res; + + if (tag === 'seqof') + tag = 'seq'; + else if (tag === 'setof') + tag = 'set'; + + if (der.tagByName.hasOwnProperty(tag)) + res = der.tagByName[tag]; + else if (typeof tag === 'number' && (tag | 0) === tag) + res = tag; + else + return reporter.error('Unknown tag: ' + tag); + + if (res >= 0x1f) + return reporter.error('Multi-octet tag encoding unsupported'); + + if (!primitive) + res |= 0x20; + + res |= (der.tagClassByName[cls || 'universal'] << 6); + + return res; +} diff --git a/node_modules/asn1.js/lib/asn1/encoders/index.js b/node_modules/asn1.js/lib/asn1/encoders/index.js new file mode 100644 index 00000000..bb8ea34d --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/encoders/index.js @@ -0,0 +1,6 @@ +'use strict'; + +const encoders = exports; + +encoders.der = require('./der'); +encoders.pem = require('./pem'); diff --git a/node_modules/asn1.js/lib/asn1/encoders/pem.js b/node_modules/asn1.js/lib/asn1/encoders/pem.js new file mode 100644 index 00000000..77fbdb47 --- /dev/null +++ b/node_modules/asn1.js/lib/asn1/encoders/pem.js @@ -0,0 +1,23 @@ +'use strict'; + +const inherits = require('inherits'); + +const DEREncoder = require('./der'); + +function PEMEncoder(entity) { + DEREncoder.call(this, entity); + this.enc = 'pem'; +} +inherits(PEMEncoder, DEREncoder); +module.exports = PEMEncoder; + +PEMEncoder.prototype.encode = function encode(data, options) { + const buf = DEREncoder.prototype.encode.call(this, data); + + const p = buf.toString('base64'); + const out = [ '-----BEGIN ' + options.label + '-----' ]; + for (let i = 0; i < p.length; i += 64) + out.push(p.slice(i, i + 64)); + out.push('-----END ' + options.label + '-----'); + return out.join('\n'); +}; diff --git a/node_modules/asn1.js/package.json b/node_modules/asn1.js/package.json new file mode 100644 index 00000000..7b7d0530 --- /dev/null +++ b/node_modules/asn1.js/package.json @@ -0,0 +1,36 @@ +{ + "name": "asn1.js", + "version": "5.4.1", + "description": "ASN.1 encoder and decoder", + "main": "lib/asn1.js", + "scripts": { + "lint-2560": "eslint --fix rfc/2560/*.js rfc/2560/test/*.js", + "lint-5280": "eslint --fix rfc/5280/*.js rfc/5280/test/*.js", + "lint": "eslint --fix lib/*.js lib/**/*.js lib/**/**/*.js && npm run lint-2560 && npm run lint-5280", + "test": "mocha --reporter spec test/*-test.js && cd rfc/2560 && npm i && npm test && cd ../../rfc/5280 && npm i && npm test && cd ../../ && npm run lint" + }, + "repository": { + "type": "git", + "url": "git@github.com:indutny/asn1.js" + }, + "keywords": [ + "asn.1", + "der" + ], + "author": "Fedor Indutny", + "license": "MIT", + "bugs": { + "url": "https://github.com/indutny/asn1.js/issues" + }, + "homepage": "https://github.com/indutny/asn1.js", + "devDependencies": { + "eslint": "^4.10.0", + "mocha": "^7.0.0" + }, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } +} diff --git a/node_modules/balanced-match/.github/FUNDING.yml b/node_modules/balanced-match/.github/FUNDING.yml new file mode 100644 index 00000000..cea8b16e --- /dev/null +++ b/node_modules/balanced-match/.github/FUNDING.yml @@ -0,0 +1,2 @@ +tidelift: "npm/balanced-match" +patreon: juliangruber diff --git a/node_modules/balanced-match/LICENSE.md b/node_modules/balanced-match/LICENSE.md new file mode 100644 index 00000000..2cdc8e41 --- /dev/null +++ b/node_modules/balanced-match/LICENSE.md @@ -0,0 +1,21 @@ +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/balanced-match/README.md b/node_modules/balanced-match/README.md new file mode 100644 index 00000000..d2a48b6b --- /dev/null +++ b/node_modules/balanced-match/README.md @@ -0,0 +1,97 @@ +# balanced-match + +Match balanced string pairs, like `{` and `}` or `` and ``. Supports regular expressions as well! + +[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match) +[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match) + +[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match) + +## Example + +Get the first matching pair of braces: + +```js +var balanced = require('balanced-match'); + +console.log(balanced('{', '}', 'pre{in{nested}}post')); +console.log(balanced('{', '}', 'pre{first}between{second}post')); +console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post')); +``` + +The matches are: + +```bash +$ node example.js +{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' } +{ start: 3, + end: 9, + pre: 'pre', + body: 'first', + post: 'between{second}post' } +{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' } +``` + +## API + +### var m = balanced(a, b, str) + +For the first non-nested matching pair of `a` and `b` in `str`, return an +object with those keys: + +* **start** the index of the first match of `a` +* **end** the index of the matching `b` +* **pre** the preamble, `a` and `b` not included +* **body** the match, `a` and `b` not included +* **post** the postscript, `a` and `b` not included + +If there's no match, `undefined` will be returned. + +If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`. + +### var r = balanced.range(a, b, str) + +For the first non-nested matching pair of `a` and `b` in `str`, return an +array with indexes: `[ , ]`. + +If there's no match, `undefined` will be returned. + +If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`. + +## Installation + +With [npm](https://npmjs.org) do: + +```bash +npm install balanced-match +``` + +## Security contact information + +To report a security vulnerability, please use the +[Tidelift security contact](https://tidelift.com/security). +Tidelift will coordinate the fix and disclosure. + +## License + +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/balanced-match/index.js b/node_modules/balanced-match/index.js new file mode 100644 index 00000000..c67a6460 --- /dev/null +++ b/node_modules/balanced-match/index.js @@ -0,0 +1,62 @@ +'use strict'; +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + if(a===b) { + return [ai, bi]; + } + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} diff --git a/node_modules/balanced-match/package.json b/node_modules/balanced-match/package.json new file mode 100644 index 00000000..ce6073e0 --- /dev/null +++ b/node_modules/balanced-match/package.json @@ -0,0 +1,48 @@ +{ + "name": "balanced-match", + "description": "Match balanced character pairs, like \"{\" and \"}\"", + "version": "1.0.2", + "repository": { + "type": "git", + "url": "git://github.com/juliangruber/balanced-match.git" + }, + "homepage": "https://github.com/juliangruber/balanced-match", + "main": "index.js", + "scripts": { + "test": "tape test/test.js", + "bench": "matcha test/bench.js" + }, + "devDependencies": { + "matcha": "^0.7.0", + "tape": "^4.6.0" + }, + "keywords": [ + "match", + "regexp", + "test", + "balanced", + "parse" + ], + "author": { + "name": "Julian Gruber", + "email": "mail@juliangruber.com", + "url": "http://juliangruber.com" + }, + "license": "MIT", + "testling": { + "files": "test/*.js", + "browsers": [ + "ie/8..latest", + "firefox/20..latest", + "firefox/nightly", + "chrome/25..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + } +} diff --git a/node_modules/before-after-hook/LICENSE b/node_modules/before-after-hook/LICENSE new file mode 100644 index 00000000..225063c3 --- /dev/null +++ b/node_modules/before-after-hook/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Gregor Martynus and other contributors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/node_modules/before-after-hook/README.md b/node_modules/before-after-hook/README.md new file mode 100644 index 00000000..1439db3c --- /dev/null +++ b/node_modules/before-after-hook/README.md @@ -0,0 +1,655 @@ +# before-after-hook + +> asynchronous hooks for internal functionality + +[![npm downloads](https://img.shields.io/npm/dw/before-after-hook.svg)](https://www.npmjs.com/package/before-after-hook) +[![Build Status](https://travis-ci.org/gr2m/before-after-hook.svg?branch=master)](https://travis-ci.org/gr2m/before-after-hook) +[![Coverage Status](https://coveralls.io/repos/gr2m/before-after-hook/badge.svg?branch=master)](https://coveralls.io/r/gr2m/before-after-hook?branch=master) +[![Greenkeeper badge](https://badges.greenkeeper.io/gr2m/before-after-hook.svg)](https://greenkeeper.io/) + +## Usage + +### Singular hook + +```js +// instantiate singular hook API +const hook = new Hook.Singular(); + +// Create a hook +function getData(options) { + return hook(fetchFromDatabase, options) + .then(handleData) + .catch(handleGetError); +} + +// register before/error/after hooks. +// The methods can be async or return a promise +hook.before(beforeHook); +hook.error(errorHook); +hook.after(afterHook); + +getData({ id: 123 }); +``` + +### Hook collection + +```js +// instantiate hook collection API +const hookCollection = new Hook.Collection(); + +// Create a hook +function getData(options) { + return hookCollection("get", fetchFromDatabase, options) + .then(handleData) + .catch(handleGetError); +} + +// register before/error/after hooks. +// The methods can be async or return a promise +hookCollection.before("get", beforeHook); +hookCollection.error("get", errorHook); +hookCollection.after("get", afterHook); + +getData({ id: 123 }); +``` + +### Hook.Singular vs Hook.Collection + +There's no fundamental difference between the `Hook.Singular` and `Hook.Collection` hooks except for the fact that a hook from a collection requires you to pass along the name. Therefore the following explanation applies to both code snippets as described above. + +The methods are executed in the following order + +1. `beforeHook` +2. `fetchFromDatabase` +3. `afterHook` +4. `handleData` + +`beforeHook` can mutate `options` before it’s passed to `fetchFromDatabase`. + +If an error is thrown in `beforeHook` or `fetchFromDatabase` then `errorHook` is +called next. + +If `afterHook` throws an error then `handleGetError` is called instead +of `handleData`. + +If `errorHook` throws an error then `handleGetError` is called next, otherwise +`afterHook` and `handleData`. + +You can also use `hook.wrap` to achieve the same thing as shown above (collection example): + +```js +hookCollection.wrap("get", async (getData, options) => { + await beforeHook(options); + + try { + const result = getData(options); + } catch (error) { + await errorHook(error, options); + } + + await afterHook(result, options); +}); +``` + +## Install + +``` +npm install before-after-hook +``` + +Or download [the latest `before-after-hook.min.js`](https://github.com/gr2m/before-after-hook/releases/latest). + +## API + +- [Singular Hook Constructor](#singular-hook-api) +- [Hook Collection Constructor](#hook-collection-api) + +## Singular hook API + +- [Singular constructor](#singular-constructor) +- [hook.api](#singular-api) +- [hook()](#singular-api) +- [hook.before()](#singular-api) +- [hook.error()](#singular-api) +- [hook.after()](#singular-api) +- [hook.wrap()](#singular-api) +- [hook.remove()](#singular-api) + +### Singular constructor + +The `Hook.Singular` constructor has no options and returns a `hook` instance with the +methods below: + +```js +const hook = new Hook.Singular(); +``` + +Using the singular hook is recommended for [TypeScript](#typescript) + +### Singular API + +The singular hook is a reference to a single hook. This means that there's no need to pass along any identifier (such as a `name` as can be seen in the [Hook.Collection API](#hookcollectionapi)). + +The API of a singular hook is exactly the same as a collection hook and we therefore suggest you read the [Hook.Collection API](#hookcollectionapi) and leave out any use of the `name` argument. Just skip it like described in this example: + +```js +const hook = new Hook.Singular(); + +// good +hook.before(beforeHook); +hook.after(afterHook); +hook(fetchFromDatabase, options); + +// bad +hook.before("get", beforeHook); +hook.after("get", afterHook); +hook("get", fetchFromDatabase, options); +``` + +## Hook collection API + +- [Collection constructor](#collection-constructor) +- [hookCollection.api](#hookcollectionapi) +- [hookCollection()](#hookcollection) +- [hookCollection.before()](#hookcollectionbefore) +- [hookCollection.error()](#hookcollectionerror) +- [hookCollection.after()](#hookcollectionafter) +- [hookCollection.wrap()](#hookcollectionwrap) +- [hookCollection.remove()](#hookcollectionremove) + +### Collection constructor + +The `Hook.Collection` constructor has no options and returns a `hookCollection` instance with the +methods below + +```js +const hookCollection = new Hook.Collection(); +``` + +### hookCollection.api + +Use the `api` property to return the public API: + +- [hookCollection.before()](#hookcollectionbefore) +- [hookCollection.after()](#hookcollectionafter) +- [hookCollection.error()](#hookcollectionerror) +- [hookCollection.wrap()](#hookcollectionwrap) +- [hookCollection.remove()](#hookcollectionremove) + +That way you don’t need to expose the [hookCollection()](#hookcollection) method to consumers of your library + +### hookCollection() + +Invoke before and after hooks. Returns a promise. + +```js +hookCollection(nameOrNames, method /*, options */); +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameString or Array of StringsHook name, for example 'save'. Or an array of names, see example below.Yes
methodFunctionCallback to be executed after all before hooks finished execution successfully. options is passed as first argumentYes
optionsObjectWill be passed to all before hooks as reference, so they can mutate itNo, defaults to empty object ({})
+ +Resolves with whatever `method` returns or resolves with. +Rejects with error that is thrown or rejected with by + +1. Any of the before hooks, whichever rejects / throws first +2. `method` +3. Any of the after hooks, whichever rejects / throws first + +Simple Example + +```js +hookCollection( + "save", + function (record) { + return store.save(record); + }, + record +); +// shorter: hookCollection('save', store.save, record) + +hookCollection.before("save", function addTimestamps(record) { + const now = new Date().toISOString(); + if (record.createdAt) { + record.updatedAt = now; + } else { + record.createdAt = now; + } +}); +``` + +Example defining multiple hooks at once. + +```js +hookCollection( + ["add", "save"], + function (record) { + return store.save(record); + }, + record +); + +hookCollection.before("add", function addTimestamps(record) { + if (!record.type) { + throw new Error("type property is required"); + } +}); + +hookCollection.before("save", function addTimestamps(record) { + if (!record.type) { + throw new Error("type property is required"); + } +}); +``` + +Defining multiple hooks is helpful if you have similar methods for which you want to define separate hooks, but also an additional hook that gets called for all at once. The example above is equal to this: + +```js +hookCollection( + "add", + function (record) { + return hookCollection( + "save", + function (record) { + return store.save(record); + }, + record + ); + }, + record +); +``` + +### hookCollection.before() + +Add before hook for given name. + +```js +hookCollection.before(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed before the wrapped method. Called with the hook’s + options argument. Before hooks can mutate the passed options + before they are passed to the wrapped method. + Yes
+ +Example + +```js +hookCollection.before("save", function validate(record) { + if (!record.name) { + throw new Error("name property is required"); + } +}); +``` + +### hookCollection.error() + +Add error hook for given name. + +```js +hookCollection.error(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed when an error occurred in either the wrapped method or a + before hook. Called with the thrown error + and the hook’s options argument. The first method + which does not throw an error will set the result that the after hook + methods will receive. + Yes
+ +Example + +```js +hookCollection.error("save", function (error, options) { + if (error.ignore) return; + throw error; +}); +``` + +### hookCollection.after() + +Add after hook for given name. + +```js +hookCollection.after(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed after wrapped method. Called with what the wrapped method + resolves with the hook’s options argument. + Yes
+ +Example + +```js +hookCollection.after("save", function (result, options) { + if (result.updatedAt) { + app.emit("update", result); + } else { + app.emit("create", result); + } +}); +``` + +### hookCollection.wrap() + +Add wrap hook for given name. + +```js +hookCollection.wrap(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Receives both the wrapped method and the passed options as arguments so it can add logic before and after the wrapped method, it can handle errors and even replace the wrapped method altogether + Yes
+ +Example + +```js +hookCollection.wrap("save", async function (saveInDatabase, options) { + if (!record.name) { + throw new Error("name property is required"); + } + + try { + const result = await saveInDatabase(options); + + if (result.updatedAt) { + app.emit("update", result); + } else { + app.emit("create", result); + } + + return result; + } catch (error) { + if (error.ignore) return; + throw error; + } +}); +``` + +See also: [Test mock example](examples/test-mock-example.md) + +### hookCollection.remove() + +Removes hook for given name. + +```js +hookCollection.remove(name, hookMethod); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
beforeHookMethodFunction + Same function that was previously passed to hookCollection.before(), hookCollection.error(), hookCollection.after() or hookCollection.wrap() + Yes
+ +Example + +```js +hookCollection.remove("save", validateRecord); +``` + +## TypeScript + +This library contains type definitions for TypeScript. + +### Type support for `Singular`: + +```ts +import { Hook } from "before-after-hook"; + +type TOptions = { foo: string }; // type for options +type TResult = { bar: number }; // type for result +type TError = Error; // type for error + +const hook = new Hook.Singular(); + +hook.before((options) => { + // `options.foo` has `string` type + + // not allowed + options.foo = 42; + + // allowed + options.foo = "Forty-Two"; +}); + +const hookedMethod = hook( + (options) => { + // `options.foo` has `string` type + + // not allowed, because it does not satisfy the `R` type + return { foo: 42 }; + + // allowed + return { bar: 42 }; + }, + { foo: "Forty-Two" } +); +``` + +You can choose not to pass the types for options, result or error. So, these are completely valid: + +```ts +const hook = new Hook.Singular(); +const hook = new Hook.Singular(); +const hook = new Hook.Singular(); +``` + +In these cases, the omitted types will implicitly be `any`. + +### Type support for `Collection`: + +`Collection` also has strict type support. You can use it like this: + +```ts +import { Hook } from "before-after-hook"; + +type HooksType = { + add: { + Options: { type: string }; + Result: { id: number }; + Error: Error; + }; + save: { + Options: { type: string }; + Result: { id: number }; + }; + read: { + Options: { id: number; foo: number }; + }; + destroy: { + Options: { id: number; foo: string }; + }; +}; + +const hooks = new Hook.Collection(); + +hooks.before("destroy", (options) => { + // `options.id` has `number` type +}); + +hooks.error("add", (err, options) => { + // `options.type` has `string` type + // `err` is `instanceof Error` +}); + +hooks.error("save", (err, options) => { + // `options.type` has `string` type + // `err` has type `any` +}); + +hooks.after("save", (result, options) => { + // `options.type` has `string` type + // `result.id` has `number` type +}); +``` + +You can choose not to pass the types altogether. In that case, everything will implicitly be `any`: + +```ts +const hook = new Hook.Collection(); +``` + +Alternative imports: + +```ts +import { Singular, Collection } from "before-after-hook"; + +const hook = new Singular(); +const hooks = new Collection(); +``` + +## Upgrading to 1.4 + +Since version 1.4 the `Hook` constructor has been deprecated in favor of returning `Hook.Singular` in an upcoming breaking release. + +Version 1.4 is still 100% backwards-compatible, but if you want to continue using hook collections, we recommend using the `Hook.Collection` constructor instead before the next release. + +For even more details, check out [the PR](https://github.com/gr2m/before-after-hook/pull/52). + +## See also + +If `before-after-hook` is not for you, have a look at one of these alternatives: + +- https://github.com/keystonejs/grappling-hook +- https://github.com/sebelga/promised-hooks +- https://github.com/bnoguchi/hooks-js +- https://github.com/cb1kenobi/hook-emitter + +## License + +[Apache 2.0](LICENSE) diff --git a/node_modules/before-after-hook/index.d.ts b/node_modules/before-after-hook/index.d.ts new file mode 100644 index 00000000..9c95de32 --- /dev/null +++ b/node_modules/before-after-hook/index.d.ts @@ -0,0 +1,186 @@ +type HookMethod = ( + options: Options +) => Result | Promise + +type BeforeHook = (options: Options) => void | Promise +type ErrorHook = ( + error: Error, + options: Options +) => void | Promise +type AfterHook = ( + result: Result, + options: Options +) => void | Promise +type WrapHook = ( + hookMethod: HookMethod, + options: Options +) => Result | Promise + +type AnyHook = + | BeforeHook + | ErrorHook + | AfterHook + | WrapHook + +type TypeStoreKeyLong = 'Options' | 'Result' | 'Error' +type TypeStoreKeyShort = 'O' | 'R' | 'E' +type TypeStore = + | ({ [key in TypeStoreKeyLong]?: any } & + { [key in TypeStoreKeyShort]?: never }) + | ({ [key in TypeStoreKeyLong]?: never } & + { [key in TypeStoreKeyShort]?: any }) +type GetType< + Store extends TypeStore, + LongKey extends TypeStoreKeyLong, + ShortKey extends TypeStoreKeyShort +> = LongKey extends keyof Store + ? Store[LongKey] + : ShortKey extends keyof Store + ? Store[ShortKey] + : any + +export interface HookCollection< + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + >, + HookName extends keyof HooksType = keyof HooksType +> { + /** + * Invoke before and after hooks + */ + ( + name: Name | Name[], + hookMethod: HookMethod< + GetType, + GetType + >, + options?: GetType + ): Promise> + /** + * Add `before` hook for given `name` + */ + before( + name: Name, + beforeHook: BeforeHook> + ): void + /** + * Add `error` hook for given `name` + */ + error( + name: Name, + errorHook: ErrorHook< + GetType, + GetType + > + ): void + /** + * Add `after` hook for given `name` + */ + after( + name: Name, + afterHook: AfterHook< + GetType, + GetType + > + ): void + /** + * Add `wrap` hook for given `name` + */ + wrap( + name: Name, + wrapHook: WrapHook< + GetType, + GetType + > + ): void + /** + * Remove added hook for given `name` + */ + remove( + name: Name, + hook: AnyHook< + GetType, + GetType, + GetType + > + ): void + /** + * Public API + */ + api: Pick< + HookCollection, + 'before' | 'error' | 'after' | 'wrap' | 'remove' + > +} + +export interface HookSingular { + /** + * Invoke before and after hooks + */ + (hookMethod: HookMethod, options?: Options): Promise + /** + * Add `before` hook + */ + before(beforeHook: BeforeHook): void + /** + * Add `error` hook + */ + error(errorHook: ErrorHook): void + /** + * Add `after` hook + */ + after(afterHook: AfterHook): void + /** + * Add `wrap` hook + */ + wrap(wrapHook: WrapHook): void + /** + * Remove added hook + */ + remove(hook: AnyHook): void + /** + * Public API + */ + api: Pick< + HookSingular, + 'before' | 'error' | 'after' | 'wrap' | 'remove' + > +} + +type Collection = new < + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + > +>() => HookCollection +type Singular = new < + Options = any, + Result = any, + Error = any +>() => HookSingular + +interface Hook { + new < + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + > + >(): HookCollection + + /** + * Creates a collection of hooks + */ + Collection: Collection + + /** + * Creates a nameless hook that supports strict typings + */ + Singular: Singular +} + +export const Hook: Hook +export const Collection: Collection +export const Singular: Singular + +export default Hook diff --git a/node_modules/before-after-hook/index.js b/node_modules/before-after-hook/index.js new file mode 100644 index 00000000..a97d89b7 --- /dev/null +++ b/node_modules/before-after-hook/index.js @@ -0,0 +1,57 @@ +var register = require('./lib/register') +var addHook = require('./lib/add') +var removeHook = require('./lib/remove') + +// bind with array of arguments: https://stackoverflow.com/a/21792913 +var bind = Function.bind +var bindable = bind.bind(bind) + +function bindApi (hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state]) + hook.api = { remove: removeHookRef } + hook.remove = removeHookRef + + ;['before', 'error', 'after', 'wrap'].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind] + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args) + }) +} + +function HookSingular () { + var singularHookName = 'h' + var singularHookState = { + registry: {} + } + var singularHook = register.bind(null, singularHookState, singularHookName) + bindApi(singularHook, singularHookState, singularHookName) + return singularHook +} + +function HookCollection () { + var state = { + registry: {} + } + + var hook = register.bind(null, state) + bindApi(hook, state) + + return hook +} + +var collectionHookDeprecationMessageDisplayed = false +function Hook () { + if (!collectionHookDeprecationMessageDisplayed) { + console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4') + collectionHookDeprecationMessageDisplayed = true + } + return HookCollection() +} + +Hook.Singular = HookSingular.bind() +Hook.Collection = HookCollection.bind() + +module.exports = Hook +// expose constructors as a named property for TypeScript +module.exports.Hook = Hook +module.exports.Singular = Hook.Singular +module.exports.Collection = Hook.Collection diff --git a/node_modules/before-after-hook/lib/add.js b/node_modules/before-after-hook/lib/add.js new file mode 100644 index 00000000..f379eab0 --- /dev/null +++ b/node_modules/before-after-hook/lib/add.js @@ -0,0 +1,46 @@ +module.exports = addHook; + +function addHook(state, kind, name, hook) { + var orig = hook; + if (!state.registry[name]) { + state.registry[name] = []; + } + + if (kind === "before") { + hook = function (method, options) { + return Promise.resolve() + .then(orig.bind(null, options)) + .then(method.bind(null, options)); + }; + } + + if (kind === "after") { + hook = function (method, options) { + var result; + return Promise.resolve() + .then(method.bind(null, options)) + .then(function (result_) { + result = result_; + return orig(result, options); + }) + .then(function () { + return result; + }); + }; + } + + if (kind === "error") { + hook = function (method, options) { + return Promise.resolve() + .then(method.bind(null, options)) + .catch(function (error) { + return orig(error, options); + }); + }; + } + + state.registry[name].push({ + hook: hook, + orig: orig, + }); +} diff --git a/node_modules/before-after-hook/lib/register.js b/node_modules/before-after-hook/lib/register.js new file mode 100644 index 00000000..f0d3d4e8 --- /dev/null +++ b/node_modules/before-after-hook/lib/register.js @@ -0,0 +1,27 @@ +module.exports = register; + +function register(state, name, method, options) { + if (typeof method !== "function") { + throw new Error("method for before hook must be a function"); + } + + if (!options) { + options = {}; + } + + if (Array.isArray(name)) { + return name.reverse().reduce(function (callback, name) { + return register.bind(null, state, name, callback, options); + }, method)(); + } + + return Promise.resolve().then(function () { + if (!state.registry[name]) { + return method(options); + } + + return state.registry[name].reduce(function (method, registered) { + return registered.hook.bind(null, method, options); + }, method)(); + }); +} diff --git a/node_modules/before-after-hook/lib/remove.js b/node_modules/before-after-hook/lib/remove.js new file mode 100644 index 00000000..590b9635 --- /dev/null +++ b/node_modules/before-after-hook/lib/remove.js @@ -0,0 +1,19 @@ +module.exports = removeHook; + +function removeHook(state, name, method) { + if (!state.registry[name]) { + return; + } + + var index = state.registry[name] + .map(function (registered) { + return registered.orig; + }) + .indexOf(method); + + if (index === -1) { + return; + } + + state.registry[name].splice(index, 1); +} diff --git a/node_modules/before-after-hook/package.json b/node_modules/before-after-hook/package.json new file mode 100644 index 00000000..25f47564 --- /dev/null +++ b/node_modules/before-after-hook/package.json @@ -0,0 +1,66 @@ +{ + "name": "before-after-hook", + "version": "2.2.2", + "description": "asynchronous before/error/after hooks for internal functionality", + "main": "index.js", + "files": [ + "index.js", + "index.d.ts", + "lib" + ], + "types": "./index.d.ts", + "scripts": { + "prebuild": "rimraf dist && mkdirp dist", + "build": "browserify index.js --standalone=Hook > dist/before-after-hook.js", + "postbuild": "uglifyjs dist/before-after-hook.js -mc > dist/before-after-hook.min.js", + "lint": "prettier --check '{lib,test,examples}/**/*' README.md package.json", + "lint:fix": "prettier --write '{lib,test,examples}/**/*' README.md package.json", + "pretest": "npm run -s lint", + "test": "npm run -s test:node | tap-spec", + "posttest": "npm run validate:ts", + "test:node": "node test", + "test:watch": "gaze 'clear && node test | tap-min' 'test/**/*.js' 'index.js' 'lib/**/*.js'", + "test:coverage": "istanbul cover test", + "test:coverage:upload": "istanbul-coveralls", + "validate:ts": "tsc --strict --target es6 index.d.ts", + "postvalidate:ts": "tsc --noEmit --strict --target es6 test/typescript-validate.ts", + "presemantic-release": "npm run build", + "semantic-release": "semantic-release" + }, + "repository": "github:gr2m/before-after-hook", + "keywords": [ + "hook", + "hooks", + "api" + ], + "author": "Gregor Martynus", + "license": "Apache-2.0", + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "gaze-cli": "^0.2.0", + "istanbul": "^0.4.0", + "istanbul-coveralls": "^1.0.3", + "mkdirp": "^1.0.3", + "prettier": "^2.0.0", + "rimraf": "^3.0.0", + "semantic-release": "^17.0.0", + "simple-mock": "^0.8.0", + "tap-min": "^2.0.0", + "tap-spec": "^5.0.0", + "tape": "^5.0.0", + "typescript": "^3.5.3", + "uglify-js": "^3.9.0" + }, + "release": { + "publish": [ + "@semantic-release/npm", + { + "path": "@semantic-release/github", + "assets": [ + "dist/*.js" + ] + } + ] + } +} diff --git a/node_modules/bn.js/LICENSE b/node_modules/bn.js/LICENSE new file mode 100644 index 00000000..c328f040 --- /dev/null +++ b/node_modules/bn.js/LICENSE @@ -0,0 +1,19 @@ +Copyright Fedor Indutny, 2015. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/bn.js/README.md b/node_modules/bn.js/README.md new file mode 100644 index 00000000..aecc3ba0 --- /dev/null +++ b/node_modules/bn.js/README.md @@ -0,0 +1,200 @@ +# bn.js + +> BigNum in pure javascript + +[![Build Status](https://secure.travis-ci.org/indutny/bn.js.png)](http://travis-ci.org/indutny/bn.js) + +## Install +`npm install --save bn.js` + +## Usage + +```js +const BN = require('bn.js'); + +var a = new BN('dead', 16); +var b = new BN('101010', 2); + +var res = a.add(b); +console.log(res.toString(10)); // 57047 +``` + +**Note**: decimals are not supported in this library. + +## Notation + +### Prefixes + +There are several prefixes to instructions that affect the way the work. Here +is the list of them in the order of appearance in the function name: + +* `i` - perform operation in-place, storing the result in the host object (on + which the method was invoked). Might be used to avoid number allocation costs +* `u` - unsigned, ignore the sign of operands when performing operation, or + always return positive value. Second case applies to reduction operations + like `mod()`. In such cases if the result will be negative - modulo will be + added to the result to make it positive + +### Postfixes + +The only available postfix at the moment is: + +* `n` - which means that the argument of the function must be a plain JavaScript + Number. Decimals are not supported. + +### Examples + +* `a.iadd(b)` - perform addition on `a` and `b`, storing the result in `a` +* `a.umod(b)` - reduce `a` modulo `b`, returning positive value +* `a.iushln(13)` - shift bits of `a` left by 13 + +## Instructions + +Prefixes/postfixes are put in parens at the of the line. `endian` - could be +either `le` (little-endian) or `be` (big-endian). + +### Utilities + +* `a.clone()` - clone number +* `a.toString(base, length)` - convert to base-string and pad with zeroes +* `a.toNumber()` - convert to Javascript Number (limited to 53 bits) +* `a.toJSON()` - convert to JSON compatible hex string (alias of `toString(16)`) +* `a.toArray(endian, length)` - convert to byte `Array`, and optionally zero + pad to length, throwing if already exceeding +* `a.toArrayLike(type, endian, length)` - convert to an instance of `type`, + which must behave like an `Array` +* `a.toBuffer(endian, length)` - convert to Node.js Buffer (if available). For + compatibility with browserify and similar tools, use this instead: + `a.toArrayLike(Buffer, endian, length)` +* `a.bitLength()` - get number of bits occupied +* `a.zeroBits()` - return number of less-significant consequent zero bits + (example: `1010000` has 4 zero bits) +* `a.byteLength()` - return number of bytes occupied +* `a.isNeg()` - true if the number is negative +* `a.isEven()` - no comments +* `a.isOdd()` - no comments +* `a.isZero()` - no comments +* `a.cmp(b)` - compare numbers and return `-1` (a `<` b), `0` (a `==` b), or `1` (a `>` b) + depending on the comparison result (`ucmp`, `cmpn`) +* `a.lt(b)` - `a` less than `b` (`n`) +* `a.lte(b)` - `a` less than or equals `b` (`n`) +* `a.gt(b)` - `a` greater than `b` (`n`) +* `a.gte(b)` - `a` greater than or equals `b` (`n`) +* `a.eq(b)` - `a` equals `b` (`n`) +* `a.toTwos(width)` - convert to two's complement representation, where `width` is bit width +* `a.fromTwos(width)` - convert from two's complement representation, where `width` is the bit width +* `BN.isBN(object)` - returns true if the supplied `object` is a BN.js instance + +### Arithmetics + +* `a.neg()` - negate sign (`i`) +* `a.abs()` - absolute value (`i`) +* `a.add(b)` - addition (`i`, `n`, `in`) +* `a.sub(b)` - subtraction (`i`, `n`, `in`) +* `a.mul(b)` - multiply (`i`, `n`, `in`) +* `a.sqr()` - square (`i`) +* `a.pow(b)` - raise `a` to the power of `b` +* `a.div(b)` - divide (`divn`, `idivn`) +* `a.mod(b)` - reduct (`u`, `n`) (but no `umodn`) +* `a.divRound(b)` - rounded division + +### Bit operations + +* `a.or(b)` - or (`i`, `u`, `iu`) +* `a.and(b)` - and (`i`, `u`, `iu`, `andln`) (NOTE: `andln` is going to be replaced + with `andn` in future) +* `a.xor(b)` - xor (`i`, `u`, `iu`) +* `a.setn(b)` - set specified bit to `1` +* `a.shln(b)` - shift left (`i`, `u`, `iu`) +* `a.shrn(b)` - shift right (`i`, `u`, `iu`) +* `a.testn(b)` - test if specified bit is set +* `a.maskn(b)` - clear bits with indexes higher or equal to `b` (`i`) +* `a.bincn(b)` - add `1 << b` to the number +* `a.notn(w)` - not (for the width specified by `w`) (`i`) + +### Reduction + +* `a.gcd(b)` - GCD +* `a.egcd(b)` - Extended GCD results (`{ a: ..., b: ..., gcd: ... }`) +* `a.invm(b)` - inverse `a` modulo `b` + +## Fast reduction + +When doing lots of reductions using the same modulo, it might be beneficial to +use some tricks: like [Montgomery multiplication][0], or using special algorithm +for [Mersenne Prime][1]. + +### Reduction context + +To enable this tricks one should create a reduction context: + +```js +var red = BN.red(num); +``` +where `num` is just a BN instance. + +Or: + +```js +var red = BN.red(primeName); +``` + +Where `primeName` is either of these [Mersenne Primes][1]: + +* `'k256'` +* `'p224'` +* `'p192'` +* `'p25519'` + +Or: + +```js +var red = BN.mont(num); +``` + +To reduce numbers with [Montgomery trick][0]. `.mont()` is generally faster than +`.red(num)`, but slower than `BN.red(primeName)`. + +### Converting numbers + +Before performing anything in reduction context - numbers should be converted +to it. Usually, this means that one should: + +* Convert inputs to reducted ones +* Operate on them in reduction context +* Convert outputs back from the reduction context + +Here is how one may convert numbers to `red`: + +```js +var redA = a.toRed(red); +``` +Where `red` is a reduction context created using instructions above + +Here is how to convert them back: + +```js +var a = redA.fromRed(); +``` + +### Red instructions + +Most of the instructions from the very start of this readme have their +counterparts in red context: + +* `a.redAdd(b)`, `a.redIAdd(b)` +* `a.redSub(b)`, `a.redISub(b)` +* `a.redShl(num)` +* `a.redMul(b)`, `a.redIMul(b)` +* `a.redSqr()`, `a.redISqr()` +* `a.redSqrt()` - square root modulo reduction context's prime +* `a.redInvm()` - modular inverse of the number +* `a.redNeg()` +* `a.redPow(b)` - modular exponentiation + +## LICENSE + +This software is licensed under the MIT License. + +[0]: https://en.wikipedia.org/wiki/Montgomery_modular_multiplication +[1]: https://en.wikipedia.org/wiki/Mersenne_prime diff --git a/node_modules/bn.js/lib/bn.js b/node_modules/bn.js/lib/bn.js new file mode 100644 index 00000000..3a4371ea --- /dev/null +++ b/node_modules/bn.js/lib/bn.js @@ -0,0 +1,3446 @@ +(function (module, exports) { + 'use strict'; + + // Utils + function assert (val, msg) { + if (!val) throw new Error(msg || 'Assertion failed'); + } + + // Could use `inherits` module, but don't want to move from single file + // architecture yet. + function inherits (ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function () {}; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + + // BN + + function BN (number, base, endian) { + if (BN.isBN(number)) { + return number; + } + + this.negative = 0; + this.words = null; + this.length = 0; + + // Reduction context + this.red = null; + + if (number !== null) { + if (base === 'le' || base === 'be') { + endian = base; + base = 10; + } + + this._init(number || 0, base || 10, endian || 'be'); + } + } + if (typeof module === 'object') { + module.exports = BN; + } else { + exports.BN = BN; + } + + BN.BN = BN; + BN.wordSize = 26; + + var Buffer; + try { + if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') { + Buffer = window.Buffer; + } else { + Buffer = require('buffer').Buffer; + } + } catch (e) { + } + + BN.isBN = function isBN (num) { + if (num instanceof BN) { + return true; + } + + return num !== null && typeof num === 'object' && + num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); + }; + + BN.max = function max (left, right) { + if (left.cmp(right) > 0) return left; + return right; + }; + + BN.min = function min (left, right) { + if (left.cmp(right) < 0) return left; + return right; + }; + + BN.prototype._init = function init (number, base, endian) { + if (typeof number === 'number') { + return this._initNumber(number, base, endian); + } + + if (typeof number === 'object') { + return this._initArray(number, base, endian); + } + + if (base === 'hex') { + base = 16; + } + assert(base === (base | 0) && base >= 2 && base <= 36); + + number = number.toString().replace(/\s+/g, ''); + var start = 0; + if (number[0] === '-') { + start++; + this.negative = 1; + } + + if (start < number.length) { + if (base === 16) { + this._parseHex(number, start, endian); + } else { + this._parseBase(number, base, start); + if (endian === 'le') { + this._initArray(this.toArray(), base, endian); + } + } + } + }; + + BN.prototype._initNumber = function _initNumber (number, base, endian) { + if (number < 0) { + this.negative = 1; + number = -number; + } + if (number < 0x4000000) { + this.words = [ number & 0x3ffffff ]; + this.length = 1; + } else if (number < 0x10000000000000) { + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff + ]; + this.length = 2; + } else { + assert(number < 0x20000000000000); // 2 ^ 53 (unsafe) + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff, + 1 + ]; + this.length = 3; + } + + if (endian !== 'le') return; + + // Reverse the bytes + this._initArray(this.toArray(), base, endian); + }; + + BN.prototype._initArray = function _initArray (number, base, endian) { + // Perhaps a Uint8Array + assert(typeof number.length === 'number'); + if (number.length <= 0) { + this.words = [ 0 ]; + this.length = 1; + return this; + } + + this.length = Math.ceil(number.length / 3); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + var j, w; + var off = 0; + if (endian === 'be') { + for (i = number.length - 1, j = 0; i >= 0; i -= 3) { + w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } else if (endian === 'le') { + for (i = 0, j = 0; i < number.length; i += 3) { + w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } + return this.strip(); + }; + + function parseHex4Bits (string, index) { + var c = string.charCodeAt(index); + // 'A' - 'F' + if (c >= 65 && c <= 70) { + return c - 55; + // 'a' - 'f' + } else if (c >= 97 && c <= 102) { + return c - 87; + // '0' - '9' + } else { + return (c - 48) & 0xf; + } + } + + function parseHexByte (string, lowerBound, index) { + var r = parseHex4Bits(string, index); + if (index - 1 >= lowerBound) { + r |= parseHex4Bits(string, index - 1) << 4; + } + return r; + } + + BN.prototype._parseHex = function _parseHex (number, start, endian) { + // Create possibly bigger array to ensure that it fits the number + this.length = Math.ceil((number.length - start) / 6); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + // 24-bits chunks + var off = 0; + var j = 0; + + var w; + if (endian === 'be') { + for (i = number.length - 1; i >= start; i -= 2) { + w = parseHexByte(number, start, i) << off; + this.words[j] |= w & 0x3ffffff; + if (off >= 18) { + off -= 18; + j += 1; + this.words[j] |= w >>> 26; + } else { + off += 8; + } + } + } else { + var parseLength = number.length - start; + for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) { + w = parseHexByte(number, start, i) << off; + this.words[j] |= w & 0x3ffffff; + if (off >= 18) { + off -= 18; + j += 1; + this.words[j] |= w >>> 26; + } else { + off += 8; + } + } + } + + this.strip(); + }; + + function parseBase (str, start, end, mul) { + var r = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + + r *= mul; + + // 'a' + if (c >= 49) { + r += c - 49 + 0xa; + + // 'A' + } else if (c >= 17) { + r += c - 17 + 0xa; + + // '0' - '9' + } else { + r += c; + } + } + return r; + } + + BN.prototype._parseBase = function _parseBase (number, base, start) { + // Initialize as zero + this.words = [ 0 ]; + this.length = 1; + + // Find length of limb in base + for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) { + limbLen++; + } + limbLen--; + limbPow = (limbPow / base) | 0; + + var total = number.length - start; + var mod = total % limbLen; + var end = Math.min(total, total - mod) + start; + + var word = 0; + for (var i = start; i < end; i += limbLen) { + word = parseBase(number, i, i + limbLen, base); + + this.imuln(limbPow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + + if (mod !== 0) { + var pow = 1; + word = parseBase(number, i, number.length, base); + + for (i = 0; i < mod; i++) { + pow *= base; + } + + this.imuln(pow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + + this.strip(); + }; + + BN.prototype.copy = function copy (dest) { + dest.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + dest.words[i] = this.words[i]; + } + dest.length = this.length; + dest.negative = this.negative; + dest.red = this.red; + }; + + BN.prototype.clone = function clone () { + var r = new BN(null); + this.copy(r); + return r; + }; + + BN.prototype._expand = function _expand (size) { + while (this.length < size) { + this.words[this.length++] = 0; + } + return this; + }; + + // Remove leading `0` from `this` + BN.prototype.strip = function strip () { + while (this.length > 1 && this.words[this.length - 1] === 0) { + this.length--; + } + return this._normSign(); + }; + + BN.prototype._normSign = function _normSign () { + // -0 = 0 + if (this.length === 1 && this.words[0] === 0) { + this.negative = 0; + } + return this; + }; + + BN.prototype.inspect = function inspect () { + return (this.red ? ''; + }; + + /* + + var zeros = []; + var groupSizes = []; + var groupBases = []; + + var s = ''; + var i = -1; + while (++i < BN.wordSize) { + zeros[i] = s; + s += '0'; + } + groupSizes[0] = 0; + groupSizes[1] = 0; + groupBases[0] = 0; + groupBases[1] = 0; + var base = 2 - 1; + while (++base < 36 + 1) { + var groupSize = 0; + var groupBase = 1; + while (groupBase < (1 << BN.wordSize) / base) { + groupBase *= base; + groupSize += 1; + } + groupSizes[base] = groupSize; + groupBases[base] = groupBase; + } + + */ + + var zeros = [ + '', + '0', + '00', + '000', + '0000', + '00000', + '000000', + '0000000', + '00000000', + '000000000', + '0000000000', + '00000000000', + '000000000000', + '0000000000000', + '00000000000000', + '000000000000000', + '0000000000000000', + '00000000000000000', + '000000000000000000', + '0000000000000000000', + '00000000000000000000', + '000000000000000000000', + '0000000000000000000000', + '00000000000000000000000', + '000000000000000000000000', + '0000000000000000000000000' + ]; + + var groupSizes = [ + 0, 0, + 25, 16, 12, 11, 10, 9, 8, + 8, 7, 7, 7, 7, 6, 6, + 6, 6, 6, 6, 6, 5, 5, + 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5 + ]; + + var groupBases = [ + 0, 0, + 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, + 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, + 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, + 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, + 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176 + ]; + + BN.prototype.toString = function toString (base, padding) { + base = base || 10; + padding = padding | 0 || 1; + + var out; + if (base === 16 || base === 'hex') { + out = ''; + var off = 0; + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = this.words[i]; + var word = (((w << off) | carry) & 0xffffff).toString(16); + carry = (w >>> (24 - off)) & 0xffffff; + if (carry !== 0 || i !== this.length - 1) { + out = zeros[6 - word.length] + word + out; + } else { + out = word + out; + } + off += 2; + if (off >= 26) { + off -= 26; + i--; + } + } + if (carry !== 0) { + out = carry.toString(16) + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + if (base === (base | 0) && base >= 2 && base <= 36) { + // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base)); + var groupSize = groupSizes[base]; + // var groupBase = Math.pow(base, groupSize); + var groupBase = groupBases[base]; + out = ''; + var c = this.clone(); + c.negative = 0; + while (!c.isZero()) { + var r = c.modn(groupBase).toString(base); + c = c.idivn(groupBase); + + if (!c.isZero()) { + out = zeros[groupSize - r.length] + r + out; + } else { + out = r + out; + } + } + if (this.isZero()) { + out = '0' + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + assert(false, 'Base should be between 2 and 36'); + }; + + BN.prototype.toNumber = function toNumber () { + var ret = this.words[0]; + if (this.length === 2) { + ret += this.words[1] * 0x4000000; + } else if (this.length === 3 && this.words[2] === 0x01) { + // NOTE: at this stage it is known that the top bit is set + ret += 0x10000000000000 + (this.words[1] * 0x4000000); + } else if (this.length > 2) { + assert(false, 'Number can only safely store up to 53 bits'); + } + return (this.negative !== 0) ? -ret : ret; + }; + + BN.prototype.toJSON = function toJSON () { + return this.toString(16); + }; + + BN.prototype.toBuffer = function toBuffer (endian, length) { + assert(typeof Buffer !== 'undefined'); + return this.toArrayLike(Buffer, endian, length); + }; + + BN.prototype.toArray = function toArray (endian, length) { + return this.toArrayLike(Array, endian, length); + }; + + BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) { + var byteLength = this.byteLength(); + var reqLength = length || Math.max(1, byteLength); + assert(byteLength <= reqLength, 'byte array longer than desired length'); + assert(reqLength > 0, 'Requested array length <= 0'); + + this.strip(); + var littleEndian = endian === 'le'; + var res = new ArrayType(reqLength); + + var b, i; + var q = this.clone(); + if (!littleEndian) { + // Assume big-endian + for (i = 0; i < reqLength - byteLength; i++) { + res[i] = 0; + } + + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[reqLength - i - 1] = b; + } + } else { + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[i] = b; + } + + for (; i < reqLength; i++) { + res[i] = 0; + } + } + + return res; + }; + + if (Math.clz32) { + BN.prototype._countBits = function _countBits (w) { + return 32 - Math.clz32(w); + }; + } else { + BN.prototype._countBits = function _countBits (w) { + var t = w; + var r = 0; + if (t >= 0x1000) { + r += 13; + t >>>= 13; + } + if (t >= 0x40) { + r += 7; + t >>>= 7; + } + if (t >= 0x8) { + r += 4; + t >>>= 4; + } + if (t >= 0x02) { + r += 2; + t >>>= 2; + } + return r + t; + }; + } + + BN.prototype._zeroBits = function _zeroBits (w) { + // Short-cut + if (w === 0) return 26; + + var t = w; + var r = 0; + if ((t & 0x1fff) === 0) { + r += 13; + t >>>= 13; + } + if ((t & 0x7f) === 0) { + r += 7; + t >>>= 7; + } + if ((t & 0xf) === 0) { + r += 4; + t >>>= 4; + } + if ((t & 0x3) === 0) { + r += 2; + t >>>= 2; + } + if ((t & 0x1) === 0) { + r++; + } + return r; + }; + + // Return number of used bits in a BN + BN.prototype.bitLength = function bitLength () { + var w = this.words[this.length - 1]; + var hi = this._countBits(w); + return (this.length - 1) * 26 + hi; + }; + + function toBitArray (num) { + var w = new Array(num.bitLength()); + + for (var bit = 0; bit < w.length; bit++) { + var off = (bit / 26) | 0; + var wbit = bit % 26; + + w[bit] = (num.words[off] & (1 << wbit)) >>> wbit; + } + + return w; + } + + // Number of trailing zero bits + BN.prototype.zeroBits = function zeroBits () { + if (this.isZero()) return 0; + + var r = 0; + for (var i = 0; i < this.length; i++) { + var b = this._zeroBits(this.words[i]); + r += b; + if (b !== 26) break; + } + return r; + }; + + BN.prototype.byteLength = function byteLength () { + return Math.ceil(this.bitLength() / 8); + }; + + BN.prototype.toTwos = function toTwos (width) { + if (this.negative !== 0) { + return this.abs().inotn(width).iaddn(1); + } + return this.clone(); + }; + + BN.prototype.fromTwos = function fromTwos (width) { + if (this.testn(width - 1)) { + return this.notn(width).iaddn(1).ineg(); + } + return this.clone(); + }; + + BN.prototype.isNeg = function isNeg () { + return this.negative !== 0; + }; + + // Return negative clone of `this` + BN.prototype.neg = function neg () { + return this.clone().ineg(); + }; + + BN.prototype.ineg = function ineg () { + if (!this.isZero()) { + this.negative ^= 1; + } + + return this; + }; + + // Or `num` with `this` in-place + BN.prototype.iuor = function iuor (num) { + while (this.length < num.length) { + this.words[this.length++] = 0; + } + + for (var i = 0; i < num.length; i++) { + this.words[i] = this.words[i] | num.words[i]; + } + + return this.strip(); + }; + + BN.prototype.ior = function ior (num) { + assert((this.negative | num.negative) === 0); + return this.iuor(num); + }; + + // Or `num` with `this` + BN.prototype.or = function or (num) { + if (this.length > num.length) return this.clone().ior(num); + return num.clone().ior(this); + }; + + BN.prototype.uor = function uor (num) { + if (this.length > num.length) return this.clone().iuor(num); + return num.clone().iuor(this); + }; + + // And `num` with `this` in-place + BN.prototype.iuand = function iuand (num) { + // b = min-length(num, this) + var b; + if (this.length > num.length) { + b = num; + } else { + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = this.words[i] & num.words[i]; + } + + this.length = b.length; + + return this.strip(); + }; + + BN.prototype.iand = function iand (num) { + assert((this.negative | num.negative) === 0); + return this.iuand(num); + }; + + // And `num` with `this` + BN.prototype.and = function and (num) { + if (this.length > num.length) return this.clone().iand(num); + return num.clone().iand(this); + }; + + BN.prototype.uand = function uand (num) { + if (this.length > num.length) return this.clone().iuand(num); + return num.clone().iuand(this); + }; + + // Xor `num` with `this` in-place + BN.prototype.iuxor = function iuxor (num) { + // a.length > b.length + var a; + var b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = a.words[i] ^ b.words[i]; + } + + if (this !== a) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = a.length; + + return this.strip(); + }; + + BN.prototype.ixor = function ixor (num) { + assert((this.negative | num.negative) === 0); + return this.iuxor(num); + }; + + // Xor `num` with `this` + BN.prototype.xor = function xor (num) { + if (this.length > num.length) return this.clone().ixor(num); + return num.clone().ixor(this); + }; + + BN.prototype.uxor = function uxor (num) { + if (this.length > num.length) return this.clone().iuxor(num); + return num.clone().iuxor(this); + }; + + // Not ``this`` with ``width`` bitwidth + BN.prototype.inotn = function inotn (width) { + assert(typeof width === 'number' && width >= 0); + + var bytesNeeded = Math.ceil(width / 26) | 0; + var bitsLeft = width % 26; + + // Extend the buffer with leading zeroes + this._expand(bytesNeeded); + + if (bitsLeft > 0) { + bytesNeeded--; + } + + // Handle complete words + for (var i = 0; i < bytesNeeded; i++) { + this.words[i] = ~this.words[i] & 0x3ffffff; + } + + // Handle the residue + if (bitsLeft > 0) { + this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft)); + } + + // And remove leading zeroes + return this.strip(); + }; + + BN.prototype.notn = function notn (width) { + return this.clone().inotn(width); + }; + + // Set `bit` of `this` + BN.prototype.setn = function setn (bit, val) { + assert(typeof bit === 'number' && bit >= 0); + + var off = (bit / 26) | 0; + var wbit = bit % 26; + + this._expand(off + 1); + + if (val) { + this.words[off] = this.words[off] | (1 << wbit); + } else { + this.words[off] = this.words[off] & ~(1 << wbit); + } + + return this.strip(); + }; + + // Add `num` to `this` in-place + BN.prototype.iadd = function iadd (num) { + var r; + + // negative + positive + if (this.negative !== 0 && num.negative === 0) { + this.negative = 0; + r = this.isub(num); + this.negative ^= 1; + return this._normSign(); + + // positive + negative + } else if (this.negative === 0 && num.negative !== 0) { + num.negative = 0; + r = this.isub(num); + num.negative = 1; + return r._normSign(); + } + + // a.length > b.length + var a, b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) + (b.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + + this.length = a.length; + if (carry !== 0) { + this.words[this.length] = carry; + this.length++; + // Copy the rest of the words + } else if (a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + return this; + }; + + // Add `num` to `this` + BN.prototype.add = function add (num) { + var res; + if (num.negative !== 0 && this.negative === 0) { + num.negative = 0; + res = this.sub(num); + num.negative ^= 1; + return res; + } else if (num.negative === 0 && this.negative !== 0) { + this.negative = 0; + res = num.sub(this); + this.negative = 1; + return res; + } + + if (this.length > num.length) return this.clone().iadd(num); + + return num.clone().iadd(this); + }; + + // Subtract `num` from `this` in-place + BN.prototype.isub = function isub (num) { + // this - (-num) = this + num + if (num.negative !== 0) { + num.negative = 0; + var r = this.iadd(num); + num.negative = 1; + return r._normSign(); + + // -this - num = -(this + num) + } else if (this.negative !== 0) { + this.negative = 0; + this.iadd(num); + this.negative = 1; + return this._normSign(); + } + + // At this point both numbers are positive + var cmp = this.cmp(num); + + // Optimization - zeroify + if (cmp === 0) { + this.negative = 0; + this.length = 1; + this.words[0] = 0; + return this; + } + + // a > b + var a, b; + if (cmp > 0) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) - (b.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + + // Copy rest of the words + if (carry === 0 && i < a.length && a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = Math.max(this.length, i); + + if (a !== this) { + this.negative = 1; + } + + return this.strip(); + }; + + // Subtract `num` from `this` + BN.prototype.sub = function sub (num) { + return this.clone().isub(num); + }; + + function smallMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + var len = (self.length + num.length) | 0; + out.length = len; + len = (len - 1) | 0; + + // Peel one iteration (compiler can't do it, because of code complexity) + var a = self.words[0] | 0; + var b = num.words[0] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + var carry = (r / 0x4000000) | 0; + out.words[0] = lo; + + for (var k = 1; k < len; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = carry >>> 26; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = (k - j) | 0; + a = self.words[i] | 0; + b = num.words[j] | 0; + r = a * b + rword; + ncarry += (r / 0x4000000) | 0; + rword = r & 0x3ffffff; + } + out.words[k] = rword | 0; + carry = ncarry | 0; + } + if (carry !== 0) { + out.words[k] = carry | 0; + } else { + out.length--; + } + + return out.strip(); + } + + // TODO(indutny): it may be reasonable to omit it for users who don't need + // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit + // multiplication (like elliptic secp256k1). + var comb10MulTo = function comb10MulTo (self, num, out) { + var a = self.words; + var b = num.words; + var o = out.words; + var c = 0; + var lo; + var mid; + var hi; + var a0 = a[0] | 0; + var al0 = a0 & 0x1fff; + var ah0 = a0 >>> 13; + var a1 = a[1] | 0; + var al1 = a1 & 0x1fff; + var ah1 = a1 >>> 13; + var a2 = a[2] | 0; + var al2 = a2 & 0x1fff; + var ah2 = a2 >>> 13; + var a3 = a[3] | 0; + var al3 = a3 & 0x1fff; + var ah3 = a3 >>> 13; + var a4 = a[4] | 0; + var al4 = a4 & 0x1fff; + var ah4 = a4 >>> 13; + var a5 = a[5] | 0; + var al5 = a5 & 0x1fff; + var ah5 = a5 >>> 13; + var a6 = a[6] | 0; + var al6 = a6 & 0x1fff; + var ah6 = a6 >>> 13; + var a7 = a[7] | 0; + var al7 = a7 & 0x1fff; + var ah7 = a7 >>> 13; + var a8 = a[8] | 0; + var al8 = a8 & 0x1fff; + var ah8 = a8 >>> 13; + var a9 = a[9] | 0; + var al9 = a9 & 0x1fff; + var ah9 = a9 >>> 13; + var b0 = b[0] | 0; + var bl0 = b0 & 0x1fff; + var bh0 = b0 >>> 13; + var b1 = b[1] | 0; + var bl1 = b1 & 0x1fff; + var bh1 = b1 >>> 13; + var b2 = b[2] | 0; + var bl2 = b2 & 0x1fff; + var bh2 = b2 >>> 13; + var b3 = b[3] | 0; + var bl3 = b3 & 0x1fff; + var bh3 = b3 >>> 13; + var b4 = b[4] | 0; + var bl4 = b4 & 0x1fff; + var bh4 = b4 >>> 13; + var b5 = b[5] | 0; + var bl5 = b5 & 0x1fff; + var bh5 = b5 >>> 13; + var b6 = b[6] | 0; + var bl6 = b6 & 0x1fff; + var bh6 = b6 >>> 13; + var b7 = b[7] | 0; + var bl7 = b7 & 0x1fff; + var bh7 = b7 >>> 13; + var b8 = b[8] | 0; + var bl8 = b8 & 0x1fff; + var bh8 = b8 >>> 13; + var b9 = b[9] | 0; + var bl9 = b9 & 0x1fff; + var bh9 = b9 >>> 13; + + out.negative = self.negative ^ num.negative; + out.length = 19; + /* k = 0 */ + lo = Math.imul(al0, bl0); + mid = Math.imul(al0, bh0); + mid = (mid + Math.imul(ah0, bl0)) | 0; + hi = Math.imul(ah0, bh0); + var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0; + w0 &= 0x3ffffff; + /* k = 1 */ + lo = Math.imul(al1, bl0); + mid = Math.imul(al1, bh0); + mid = (mid + Math.imul(ah1, bl0)) | 0; + hi = Math.imul(ah1, bh0); + lo = (lo + Math.imul(al0, bl1)) | 0; + mid = (mid + Math.imul(al0, bh1)) | 0; + mid = (mid + Math.imul(ah0, bl1)) | 0; + hi = (hi + Math.imul(ah0, bh1)) | 0; + var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0; + w1 &= 0x3ffffff; + /* k = 2 */ + lo = Math.imul(al2, bl0); + mid = Math.imul(al2, bh0); + mid = (mid + Math.imul(ah2, bl0)) | 0; + hi = Math.imul(ah2, bh0); + lo = (lo + Math.imul(al1, bl1)) | 0; + mid = (mid + Math.imul(al1, bh1)) | 0; + mid = (mid + Math.imul(ah1, bl1)) | 0; + hi = (hi + Math.imul(ah1, bh1)) | 0; + lo = (lo + Math.imul(al0, bl2)) | 0; + mid = (mid + Math.imul(al0, bh2)) | 0; + mid = (mid + Math.imul(ah0, bl2)) | 0; + hi = (hi + Math.imul(ah0, bh2)) | 0; + var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0; + w2 &= 0x3ffffff; + /* k = 3 */ + lo = Math.imul(al3, bl0); + mid = Math.imul(al3, bh0); + mid = (mid + Math.imul(ah3, bl0)) | 0; + hi = Math.imul(ah3, bh0); + lo = (lo + Math.imul(al2, bl1)) | 0; + mid = (mid + Math.imul(al2, bh1)) | 0; + mid = (mid + Math.imul(ah2, bl1)) | 0; + hi = (hi + Math.imul(ah2, bh1)) | 0; + lo = (lo + Math.imul(al1, bl2)) | 0; + mid = (mid + Math.imul(al1, bh2)) | 0; + mid = (mid + Math.imul(ah1, bl2)) | 0; + hi = (hi + Math.imul(ah1, bh2)) | 0; + lo = (lo + Math.imul(al0, bl3)) | 0; + mid = (mid + Math.imul(al0, bh3)) | 0; + mid = (mid + Math.imul(ah0, bl3)) | 0; + hi = (hi + Math.imul(ah0, bh3)) | 0; + var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0; + w3 &= 0x3ffffff; + /* k = 4 */ + lo = Math.imul(al4, bl0); + mid = Math.imul(al4, bh0); + mid = (mid + Math.imul(ah4, bl0)) | 0; + hi = Math.imul(ah4, bh0); + lo = (lo + Math.imul(al3, bl1)) | 0; + mid = (mid + Math.imul(al3, bh1)) | 0; + mid = (mid + Math.imul(ah3, bl1)) | 0; + hi = (hi + Math.imul(ah3, bh1)) | 0; + lo = (lo + Math.imul(al2, bl2)) | 0; + mid = (mid + Math.imul(al2, bh2)) | 0; + mid = (mid + Math.imul(ah2, bl2)) | 0; + hi = (hi + Math.imul(ah2, bh2)) | 0; + lo = (lo + Math.imul(al1, bl3)) | 0; + mid = (mid + Math.imul(al1, bh3)) | 0; + mid = (mid + Math.imul(ah1, bl3)) | 0; + hi = (hi + Math.imul(ah1, bh3)) | 0; + lo = (lo + Math.imul(al0, bl4)) | 0; + mid = (mid + Math.imul(al0, bh4)) | 0; + mid = (mid + Math.imul(ah0, bl4)) | 0; + hi = (hi + Math.imul(ah0, bh4)) | 0; + var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0; + w4 &= 0x3ffffff; + /* k = 5 */ + lo = Math.imul(al5, bl0); + mid = Math.imul(al5, bh0); + mid = (mid + Math.imul(ah5, bl0)) | 0; + hi = Math.imul(ah5, bh0); + lo = (lo + Math.imul(al4, bl1)) | 0; + mid = (mid + Math.imul(al4, bh1)) | 0; + mid = (mid + Math.imul(ah4, bl1)) | 0; + hi = (hi + Math.imul(ah4, bh1)) | 0; + lo = (lo + Math.imul(al3, bl2)) | 0; + mid = (mid + Math.imul(al3, bh2)) | 0; + mid = (mid + Math.imul(ah3, bl2)) | 0; + hi = (hi + Math.imul(ah3, bh2)) | 0; + lo = (lo + Math.imul(al2, bl3)) | 0; + mid = (mid + Math.imul(al2, bh3)) | 0; + mid = (mid + Math.imul(ah2, bl3)) | 0; + hi = (hi + Math.imul(ah2, bh3)) | 0; + lo = (lo + Math.imul(al1, bl4)) | 0; + mid = (mid + Math.imul(al1, bh4)) | 0; + mid = (mid + Math.imul(ah1, bl4)) | 0; + hi = (hi + Math.imul(ah1, bh4)) | 0; + lo = (lo + Math.imul(al0, bl5)) | 0; + mid = (mid + Math.imul(al0, bh5)) | 0; + mid = (mid + Math.imul(ah0, bl5)) | 0; + hi = (hi + Math.imul(ah0, bh5)) | 0; + var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0; + w5 &= 0x3ffffff; + /* k = 6 */ + lo = Math.imul(al6, bl0); + mid = Math.imul(al6, bh0); + mid = (mid + Math.imul(ah6, bl0)) | 0; + hi = Math.imul(ah6, bh0); + lo = (lo + Math.imul(al5, bl1)) | 0; + mid = (mid + Math.imul(al5, bh1)) | 0; + mid = (mid + Math.imul(ah5, bl1)) | 0; + hi = (hi + Math.imul(ah5, bh1)) | 0; + lo = (lo + Math.imul(al4, bl2)) | 0; + mid = (mid + Math.imul(al4, bh2)) | 0; + mid = (mid + Math.imul(ah4, bl2)) | 0; + hi = (hi + Math.imul(ah4, bh2)) | 0; + lo = (lo + Math.imul(al3, bl3)) | 0; + mid = (mid + Math.imul(al3, bh3)) | 0; + mid = (mid + Math.imul(ah3, bl3)) | 0; + hi = (hi + Math.imul(ah3, bh3)) | 0; + lo = (lo + Math.imul(al2, bl4)) | 0; + mid = (mid + Math.imul(al2, bh4)) | 0; + mid = (mid + Math.imul(ah2, bl4)) | 0; + hi = (hi + Math.imul(ah2, bh4)) | 0; + lo = (lo + Math.imul(al1, bl5)) | 0; + mid = (mid + Math.imul(al1, bh5)) | 0; + mid = (mid + Math.imul(ah1, bl5)) | 0; + hi = (hi + Math.imul(ah1, bh5)) | 0; + lo = (lo + Math.imul(al0, bl6)) | 0; + mid = (mid + Math.imul(al0, bh6)) | 0; + mid = (mid + Math.imul(ah0, bl6)) | 0; + hi = (hi + Math.imul(ah0, bh6)) | 0; + var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0; + w6 &= 0x3ffffff; + /* k = 7 */ + lo = Math.imul(al7, bl0); + mid = Math.imul(al7, bh0); + mid = (mid + Math.imul(ah7, bl0)) | 0; + hi = Math.imul(ah7, bh0); + lo = (lo + Math.imul(al6, bl1)) | 0; + mid = (mid + Math.imul(al6, bh1)) | 0; + mid = (mid + Math.imul(ah6, bl1)) | 0; + hi = (hi + Math.imul(ah6, bh1)) | 0; + lo = (lo + Math.imul(al5, bl2)) | 0; + mid = (mid + Math.imul(al5, bh2)) | 0; + mid = (mid + Math.imul(ah5, bl2)) | 0; + hi = (hi + Math.imul(ah5, bh2)) | 0; + lo = (lo + Math.imul(al4, bl3)) | 0; + mid = (mid + Math.imul(al4, bh3)) | 0; + mid = (mid + Math.imul(ah4, bl3)) | 0; + hi = (hi + Math.imul(ah4, bh3)) | 0; + lo = (lo + Math.imul(al3, bl4)) | 0; + mid = (mid + Math.imul(al3, bh4)) | 0; + mid = (mid + Math.imul(ah3, bl4)) | 0; + hi = (hi + Math.imul(ah3, bh4)) | 0; + lo = (lo + Math.imul(al2, bl5)) | 0; + mid = (mid + Math.imul(al2, bh5)) | 0; + mid = (mid + Math.imul(ah2, bl5)) | 0; + hi = (hi + Math.imul(ah2, bh5)) | 0; + lo = (lo + Math.imul(al1, bl6)) | 0; + mid = (mid + Math.imul(al1, bh6)) | 0; + mid = (mid + Math.imul(ah1, bl6)) | 0; + hi = (hi + Math.imul(ah1, bh6)) | 0; + lo = (lo + Math.imul(al0, bl7)) | 0; + mid = (mid + Math.imul(al0, bh7)) | 0; + mid = (mid + Math.imul(ah0, bl7)) | 0; + hi = (hi + Math.imul(ah0, bh7)) | 0; + var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0; + w7 &= 0x3ffffff; + /* k = 8 */ + lo = Math.imul(al8, bl0); + mid = Math.imul(al8, bh0); + mid = (mid + Math.imul(ah8, bl0)) | 0; + hi = Math.imul(ah8, bh0); + lo = (lo + Math.imul(al7, bl1)) | 0; + mid = (mid + Math.imul(al7, bh1)) | 0; + mid = (mid + Math.imul(ah7, bl1)) | 0; + hi = (hi + Math.imul(ah7, bh1)) | 0; + lo = (lo + Math.imul(al6, bl2)) | 0; + mid = (mid + Math.imul(al6, bh2)) | 0; + mid = (mid + Math.imul(ah6, bl2)) | 0; + hi = (hi + Math.imul(ah6, bh2)) | 0; + lo = (lo + Math.imul(al5, bl3)) | 0; + mid = (mid + Math.imul(al5, bh3)) | 0; + mid = (mid + Math.imul(ah5, bl3)) | 0; + hi = (hi + Math.imul(ah5, bh3)) | 0; + lo = (lo + Math.imul(al4, bl4)) | 0; + mid = (mid + Math.imul(al4, bh4)) | 0; + mid = (mid + Math.imul(ah4, bl4)) | 0; + hi = (hi + Math.imul(ah4, bh4)) | 0; + lo = (lo + Math.imul(al3, bl5)) | 0; + mid = (mid + Math.imul(al3, bh5)) | 0; + mid = (mid + Math.imul(ah3, bl5)) | 0; + hi = (hi + Math.imul(ah3, bh5)) | 0; + lo = (lo + Math.imul(al2, bl6)) | 0; + mid = (mid + Math.imul(al2, bh6)) | 0; + mid = (mid + Math.imul(ah2, bl6)) | 0; + hi = (hi + Math.imul(ah2, bh6)) | 0; + lo = (lo + Math.imul(al1, bl7)) | 0; + mid = (mid + Math.imul(al1, bh7)) | 0; + mid = (mid + Math.imul(ah1, bl7)) | 0; + hi = (hi + Math.imul(ah1, bh7)) | 0; + lo = (lo + Math.imul(al0, bl8)) | 0; + mid = (mid + Math.imul(al0, bh8)) | 0; + mid = (mid + Math.imul(ah0, bl8)) | 0; + hi = (hi + Math.imul(ah0, bh8)) | 0; + var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0; + w8 &= 0x3ffffff; + /* k = 9 */ + lo = Math.imul(al9, bl0); + mid = Math.imul(al9, bh0); + mid = (mid + Math.imul(ah9, bl0)) | 0; + hi = Math.imul(ah9, bh0); + lo = (lo + Math.imul(al8, bl1)) | 0; + mid = (mid + Math.imul(al8, bh1)) | 0; + mid = (mid + Math.imul(ah8, bl1)) | 0; + hi = (hi + Math.imul(ah8, bh1)) | 0; + lo = (lo + Math.imul(al7, bl2)) | 0; + mid = (mid + Math.imul(al7, bh2)) | 0; + mid = (mid + Math.imul(ah7, bl2)) | 0; + hi = (hi + Math.imul(ah7, bh2)) | 0; + lo = (lo + Math.imul(al6, bl3)) | 0; + mid = (mid + Math.imul(al6, bh3)) | 0; + mid = (mid + Math.imul(ah6, bl3)) | 0; + hi = (hi + Math.imul(ah6, bh3)) | 0; + lo = (lo + Math.imul(al5, bl4)) | 0; + mid = (mid + Math.imul(al5, bh4)) | 0; + mid = (mid + Math.imul(ah5, bl4)) | 0; + hi = (hi + Math.imul(ah5, bh4)) | 0; + lo = (lo + Math.imul(al4, bl5)) | 0; + mid = (mid + Math.imul(al4, bh5)) | 0; + mid = (mid + Math.imul(ah4, bl5)) | 0; + hi = (hi + Math.imul(ah4, bh5)) | 0; + lo = (lo + Math.imul(al3, bl6)) | 0; + mid = (mid + Math.imul(al3, bh6)) | 0; + mid = (mid + Math.imul(ah3, bl6)) | 0; + hi = (hi + Math.imul(ah3, bh6)) | 0; + lo = (lo + Math.imul(al2, bl7)) | 0; + mid = (mid + Math.imul(al2, bh7)) | 0; + mid = (mid + Math.imul(ah2, bl7)) | 0; + hi = (hi + Math.imul(ah2, bh7)) | 0; + lo = (lo + Math.imul(al1, bl8)) | 0; + mid = (mid + Math.imul(al1, bh8)) | 0; + mid = (mid + Math.imul(ah1, bl8)) | 0; + hi = (hi + Math.imul(ah1, bh8)) | 0; + lo = (lo + Math.imul(al0, bl9)) | 0; + mid = (mid + Math.imul(al0, bh9)) | 0; + mid = (mid + Math.imul(ah0, bl9)) | 0; + hi = (hi + Math.imul(ah0, bh9)) | 0; + var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0; + w9 &= 0x3ffffff; + /* k = 10 */ + lo = Math.imul(al9, bl1); + mid = Math.imul(al9, bh1); + mid = (mid + Math.imul(ah9, bl1)) | 0; + hi = Math.imul(ah9, bh1); + lo = (lo + Math.imul(al8, bl2)) | 0; + mid = (mid + Math.imul(al8, bh2)) | 0; + mid = (mid + Math.imul(ah8, bl2)) | 0; + hi = (hi + Math.imul(ah8, bh2)) | 0; + lo = (lo + Math.imul(al7, bl3)) | 0; + mid = (mid + Math.imul(al7, bh3)) | 0; + mid = (mid + Math.imul(ah7, bl3)) | 0; + hi = (hi + Math.imul(ah7, bh3)) | 0; + lo = (lo + Math.imul(al6, bl4)) | 0; + mid = (mid + Math.imul(al6, bh4)) | 0; + mid = (mid + Math.imul(ah6, bl4)) | 0; + hi = (hi + Math.imul(ah6, bh4)) | 0; + lo = (lo + Math.imul(al5, bl5)) | 0; + mid = (mid + Math.imul(al5, bh5)) | 0; + mid = (mid + Math.imul(ah5, bl5)) | 0; + hi = (hi + Math.imul(ah5, bh5)) | 0; + lo = (lo + Math.imul(al4, bl6)) | 0; + mid = (mid + Math.imul(al4, bh6)) | 0; + mid = (mid + Math.imul(ah4, bl6)) | 0; + hi = (hi + Math.imul(ah4, bh6)) | 0; + lo = (lo + Math.imul(al3, bl7)) | 0; + mid = (mid + Math.imul(al3, bh7)) | 0; + mid = (mid + Math.imul(ah3, bl7)) | 0; + hi = (hi + Math.imul(ah3, bh7)) | 0; + lo = (lo + Math.imul(al2, bl8)) | 0; + mid = (mid + Math.imul(al2, bh8)) | 0; + mid = (mid + Math.imul(ah2, bl8)) | 0; + hi = (hi + Math.imul(ah2, bh8)) | 0; + lo = (lo + Math.imul(al1, bl9)) | 0; + mid = (mid + Math.imul(al1, bh9)) | 0; + mid = (mid + Math.imul(ah1, bl9)) | 0; + hi = (hi + Math.imul(ah1, bh9)) | 0; + var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0; + w10 &= 0x3ffffff; + /* k = 11 */ + lo = Math.imul(al9, bl2); + mid = Math.imul(al9, bh2); + mid = (mid + Math.imul(ah9, bl2)) | 0; + hi = Math.imul(ah9, bh2); + lo = (lo + Math.imul(al8, bl3)) | 0; + mid = (mid + Math.imul(al8, bh3)) | 0; + mid = (mid + Math.imul(ah8, bl3)) | 0; + hi = (hi + Math.imul(ah8, bh3)) | 0; + lo = (lo + Math.imul(al7, bl4)) | 0; + mid = (mid + Math.imul(al7, bh4)) | 0; + mid = (mid + Math.imul(ah7, bl4)) | 0; + hi = (hi + Math.imul(ah7, bh4)) | 0; + lo = (lo + Math.imul(al6, bl5)) | 0; + mid = (mid + Math.imul(al6, bh5)) | 0; + mid = (mid + Math.imul(ah6, bl5)) | 0; + hi = (hi + Math.imul(ah6, bh5)) | 0; + lo = (lo + Math.imul(al5, bl6)) | 0; + mid = (mid + Math.imul(al5, bh6)) | 0; + mid = (mid + Math.imul(ah5, bl6)) | 0; + hi = (hi + Math.imul(ah5, bh6)) | 0; + lo = (lo + Math.imul(al4, bl7)) | 0; + mid = (mid + Math.imul(al4, bh7)) | 0; + mid = (mid + Math.imul(ah4, bl7)) | 0; + hi = (hi + Math.imul(ah4, bh7)) | 0; + lo = (lo + Math.imul(al3, bl8)) | 0; + mid = (mid + Math.imul(al3, bh8)) | 0; + mid = (mid + Math.imul(ah3, bl8)) | 0; + hi = (hi + Math.imul(ah3, bh8)) | 0; + lo = (lo + Math.imul(al2, bl9)) | 0; + mid = (mid + Math.imul(al2, bh9)) | 0; + mid = (mid + Math.imul(ah2, bl9)) | 0; + hi = (hi + Math.imul(ah2, bh9)) | 0; + var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0; + w11 &= 0x3ffffff; + /* k = 12 */ + lo = Math.imul(al9, bl3); + mid = Math.imul(al9, bh3); + mid = (mid + Math.imul(ah9, bl3)) | 0; + hi = Math.imul(ah9, bh3); + lo = (lo + Math.imul(al8, bl4)) | 0; + mid = (mid + Math.imul(al8, bh4)) | 0; + mid = (mid + Math.imul(ah8, bl4)) | 0; + hi = (hi + Math.imul(ah8, bh4)) | 0; + lo = (lo + Math.imul(al7, bl5)) | 0; + mid = (mid + Math.imul(al7, bh5)) | 0; + mid = (mid + Math.imul(ah7, bl5)) | 0; + hi = (hi + Math.imul(ah7, bh5)) | 0; + lo = (lo + Math.imul(al6, bl6)) | 0; + mid = (mid + Math.imul(al6, bh6)) | 0; + mid = (mid + Math.imul(ah6, bl6)) | 0; + hi = (hi + Math.imul(ah6, bh6)) | 0; + lo = (lo + Math.imul(al5, bl7)) | 0; + mid = (mid + Math.imul(al5, bh7)) | 0; + mid = (mid + Math.imul(ah5, bl7)) | 0; + hi = (hi + Math.imul(ah5, bh7)) | 0; + lo = (lo + Math.imul(al4, bl8)) | 0; + mid = (mid + Math.imul(al4, bh8)) | 0; + mid = (mid + Math.imul(ah4, bl8)) | 0; + hi = (hi + Math.imul(ah4, bh8)) | 0; + lo = (lo + Math.imul(al3, bl9)) | 0; + mid = (mid + Math.imul(al3, bh9)) | 0; + mid = (mid + Math.imul(ah3, bl9)) | 0; + hi = (hi + Math.imul(ah3, bh9)) | 0; + var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0; + w12 &= 0x3ffffff; + /* k = 13 */ + lo = Math.imul(al9, bl4); + mid = Math.imul(al9, bh4); + mid = (mid + Math.imul(ah9, bl4)) | 0; + hi = Math.imul(ah9, bh4); + lo = (lo + Math.imul(al8, bl5)) | 0; + mid = (mid + Math.imul(al8, bh5)) | 0; + mid = (mid + Math.imul(ah8, bl5)) | 0; + hi = (hi + Math.imul(ah8, bh5)) | 0; + lo = (lo + Math.imul(al7, bl6)) | 0; + mid = (mid + Math.imul(al7, bh6)) | 0; + mid = (mid + Math.imul(ah7, bl6)) | 0; + hi = (hi + Math.imul(ah7, bh6)) | 0; + lo = (lo + Math.imul(al6, bl7)) | 0; + mid = (mid + Math.imul(al6, bh7)) | 0; + mid = (mid + Math.imul(ah6, bl7)) | 0; + hi = (hi + Math.imul(ah6, bh7)) | 0; + lo = (lo + Math.imul(al5, bl8)) | 0; + mid = (mid + Math.imul(al5, bh8)) | 0; + mid = (mid + Math.imul(ah5, bl8)) | 0; + hi = (hi + Math.imul(ah5, bh8)) | 0; + lo = (lo + Math.imul(al4, bl9)) | 0; + mid = (mid + Math.imul(al4, bh9)) | 0; + mid = (mid + Math.imul(ah4, bl9)) | 0; + hi = (hi + Math.imul(ah4, bh9)) | 0; + var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0; + w13 &= 0x3ffffff; + /* k = 14 */ + lo = Math.imul(al9, bl5); + mid = Math.imul(al9, bh5); + mid = (mid + Math.imul(ah9, bl5)) | 0; + hi = Math.imul(ah9, bh5); + lo = (lo + Math.imul(al8, bl6)) | 0; + mid = (mid + Math.imul(al8, bh6)) | 0; + mid = (mid + Math.imul(ah8, bl6)) | 0; + hi = (hi + Math.imul(ah8, bh6)) | 0; + lo = (lo + Math.imul(al7, bl7)) | 0; + mid = (mid + Math.imul(al7, bh7)) | 0; + mid = (mid + Math.imul(ah7, bl7)) | 0; + hi = (hi + Math.imul(ah7, bh7)) | 0; + lo = (lo + Math.imul(al6, bl8)) | 0; + mid = (mid + Math.imul(al6, bh8)) | 0; + mid = (mid + Math.imul(ah6, bl8)) | 0; + hi = (hi + Math.imul(ah6, bh8)) | 0; + lo = (lo + Math.imul(al5, bl9)) | 0; + mid = (mid + Math.imul(al5, bh9)) | 0; + mid = (mid + Math.imul(ah5, bl9)) | 0; + hi = (hi + Math.imul(ah5, bh9)) | 0; + var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0; + w14 &= 0x3ffffff; + /* k = 15 */ + lo = Math.imul(al9, bl6); + mid = Math.imul(al9, bh6); + mid = (mid + Math.imul(ah9, bl6)) | 0; + hi = Math.imul(ah9, bh6); + lo = (lo + Math.imul(al8, bl7)) | 0; + mid = (mid + Math.imul(al8, bh7)) | 0; + mid = (mid + Math.imul(ah8, bl7)) | 0; + hi = (hi + Math.imul(ah8, bh7)) | 0; + lo = (lo + Math.imul(al7, bl8)) | 0; + mid = (mid + Math.imul(al7, bh8)) | 0; + mid = (mid + Math.imul(ah7, bl8)) | 0; + hi = (hi + Math.imul(ah7, bh8)) | 0; + lo = (lo + Math.imul(al6, bl9)) | 0; + mid = (mid + Math.imul(al6, bh9)) | 0; + mid = (mid + Math.imul(ah6, bl9)) | 0; + hi = (hi + Math.imul(ah6, bh9)) | 0; + var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0; + w15 &= 0x3ffffff; + /* k = 16 */ + lo = Math.imul(al9, bl7); + mid = Math.imul(al9, bh7); + mid = (mid + Math.imul(ah9, bl7)) | 0; + hi = Math.imul(ah9, bh7); + lo = (lo + Math.imul(al8, bl8)) | 0; + mid = (mid + Math.imul(al8, bh8)) | 0; + mid = (mid + Math.imul(ah8, bl8)) | 0; + hi = (hi + Math.imul(ah8, bh8)) | 0; + lo = (lo + Math.imul(al7, bl9)) | 0; + mid = (mid + Math.imul(al7, bh9)) | 0; + mid = (mid + Math.imul(ah7, bl9)) | 0; + hi = (hi + Math.imul(ah7, bh9)) | 0; + var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0; + w16 &= 0x3ffffff; + /* k = 17 */ + lo = Math.imul(al9, bl8); + mid = Math.imul(al9, bh8); + mid = (mid + Math.imul(ah9, bl8)) | 0; + hi = Math.imul(ah9, bh8); + lo = (lo + Math.imul(al8, bl9)) | 0; + mid = (mid + Math.imul(al8, bh9)) | 0; + mid = (mid + Math.imul(ah8, bl9)) | 0; + hi = (hi + Math.imul(ah8, bh9)) | 0; + var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0; + w17 &= 0x3ffffff; + /* k = 18 */ + lo = Math.imul(al9, bl9); + mid = Math.imul(al9, bh9); + mid = (mid + Math.imul(ah9, bl9)) | 0; + hi = Math.imul(ah9, bh9); + var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0; + w18 &= 0x3ffffff; + o[0] = w0; + o[1] = w1; + o[2] = w2; + o[3] = w3; + o[4] = w4; + o[5] = w5; + o[6] = w6; + o[7] = w7; + o[8] = w8; + o[9] = w9; + o[10] = w10; + o[11] = w11; + o[12] = w12; + o[13] = w13; + o[14] = w14; + o[15] = w15; + o[16] = w16; + o[17] = w17; + o[18] = w18; + if (c !== 0) { + o[19] = c; + out.length++; + } + return out; + }; + + // Polyfill comb + if (!Math.imul) { + comb10MulTo = smallMulTo; + } + + function bigMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + out.length = self.length + num.length; + + var carry = 0; + var hncarry = 0; + for (var k = 0; k < out.length - 1; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = hncarry; + hncarry = 0; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = k - j; + var a = self.words[i] | 0; + var b = num.words[j] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0; + lo = (lo + rword) | 0; + rword = lo & 0x3ffffff; + ncarry = (ncarry + (lo >>> 26)) | 0; + + hncarry += ncarry >>> 26; + ncarry &= 0x3ffffff; + } + out.words[k] = rword; + carry = ncarry; + ncarry = hncarry; + } + if (carry !== 0) { + out.words[k] = carry; + } else { + out.length--; + } + + return out.strip(); + } + + function jumboMulTo (self, num, out) { + var fftm = new FFTM(); + return fftm.mulp(self, num, out); + } + + BN.prototype.mulTo = function mulTo (num, out) { + var res; + var len = this.length + num.length; + if (this.length === 10 && num.length === 10) { + res = comb10MulTo(this, num, out); + } else if (len < 63) { + res = smallMulTo(this, num, out); + } else if (len < 1024) { + res = bigMulTo(this, num, out); + } else { + res = jumboMulTo(this, num, out); + } + + return res; + }; + + // Cooley-Tukey algorithm for FFT + // slightly revisited to rely on looping instead of recursion + + function FFTM (x, y) { + this.x = x; + this.y = y; + } + + FFTM.prototype.makeRBT = function makeRBT (N) { + var t = new Array(N); + var l = BN.prototype._countBits(N) - 1; + for (var i = 0; i < N; i++) { + t[i] = this.revBin(i, l, N); + } + + return t; + }; + + // Returns binary-reversed representation of `x` + FFTM.prototype.revBin = function revBin (x, l, N) { + if (x === 0 || x === N - 1) return x; + + var rb = 0; + for (var i = 0; i < l; i++) { + rb |= (x & 1) << (l - i - 1); + x >>= 1; + } + + return rb; + }; + + // Performs "tweedling" phase, therefore 'emulating' + // behaviour of the recursive algorithm + FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) { + for (var i = 0; i < N; i++) { + rtws[i] = rws[rbt[i]]; + itws[i] = iws[rbt[i]]; + } + }; + + FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) { + this.permute(rbt, rws, iws, rtws, itws, N); + + for (var s = 1; s < N; s <<= 1) { + var l = s << 1; + + var rtwdf = Math.cos(2 * Math.PI / l); + var itwdf = Math.sin(2 * Math.PI / l); + + for (var p = 0; p < N; p += l) { + var rtwdf_ = rtwdf; + var itwdf_ = itwdf; + + for (var j = 0; j < s; j++) { + var re = rtws[p + j]; + var ie = itws[p + j]; + + var ro = rtws[p + j + s]; + var io = itws[p + j + s]; + + var rx = rtwdf_ * ro - itwdf_ * io; + + io = rtwdf_ * io + itwdf_ * ro; + ro = rx; + + rtws[p + j] = re + ro; + itws[p + j] = ie + io; + + rtws[p + j + s] = re - ro; + itws[p + j + s] = ie - io; + + /* jshint maxdepth : false */ + if (j !== l) { + rx = rtwdf * rtwdf_ - itwdf * itwdf_; + + itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; + rtwdf_ = rx; + } + } + } + } + }; + + FFTM.prototype.guessLen13b = function guessLen13b (n, m) { + var N = Math.max(m, n) | 1; + var odd = N & 1; + var i = 0; + for (N = N / 2 | 0; N; N = N >>> 1) { + i++; + } + + return 1 << i + 1 + odd; + }; + + FFTM.prototype.conjugate = function conjugate (rws, iws, N) { + if (N <= 1) return; + + for (var i = 0; i < N / 2; i++) { + var t = rws[i]; + + rws[i] = rws[N - i - 1]; + rws[N - i - 1] = t; + + t = iws[i]; + + iws[i] = -iws[N - i - 1]; + iws[N - i - 1] = -t; + } + }; + + FFTM.prototype.normalize13b = function normalize13b (ws, N) { + var carry = 0; + for (var i = 0; i < N / 2; i++) { + var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + + Math.round(ws[2 * i] / N) + + carry; + + ws[i] = w & 0x3ffffff; + + if (w < 0x4000000) { + carry = 0; + } else { + carry = w / 0x4000000 | 0; + } + } + + return ws; + }; + + FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) { + var carry = 0; + for (var i = 0; i < len; i++) { + carry = carry + (ws[i] | 0); + + rws[2 * i] = carry & 0x1fff; carry = carry >>> 13; + rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13; + } + + // Pad with zeroes + for (i = 2 * len; i < N; ++i) { + rws[i] = 0; + } + + assert(carry === 0); + assert((carry & ~0x1fff) === 0); + }; + + FFTM.prototype.stub = function stub (N) { + var ph = new Array(N); + for (var i = 0; i < N; i++) { + ph[i] = 0; + } + + return ph; + }; + + FFTM.prototype.mulp = function mulp (x, y, out) { + var N = 2 * this.guessLen13b(x.length, y.length); + + var rbt = this.makeRBT(N); + + var _ = this.stub(N); + + var rws = new Array(N); + var rwst = new Array(N); + var iwst = new Array(N); + + var nrws = new Array(N); + var nrwst = new Array(N); + var niwst = new Array(N); + + var rmws = out.words; + rmws.length = N; + + this.convert13b(x.words, x.length, rws, N); + this.convert13b(y.words, y.length, nrws, N); + + this.transform(rws, _, rwst, iwst, N, rbt); + this.transform(nrws, _, nrwst, niwst, N, rbt); + + for (var i = 0; i < N; i++) { + var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; + iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; + rwst[i] = rx; + } + + this.conjugate(rwst, iwst, N); + this.transform(rwst, iwst, rmws, _, N, rbt); + this.conjugate(rmws, _, N); + this.normalize13b(rmws, N); + + out.negative = x.negative ^ y.negative; + out.length = x.length + y.length; + return out.strip(); + }; + + // Multiply `this` by `num` + BN.prototype.mul = function mul (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return this.mulTo(num, out); + }; + + // Multiply employing FFT + BN.prototype.mulf = function mulf (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return jumboMulTo(this, num, out); + }; + + // In-place Multiplication + BN.prototype.imul = function imul (num) { + return this.clone().mulTo(num, this); + }; + + BN.prototype.imuln = function imuln (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + + // Carry + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = (this.words[i] | 0) * num; + var lo = (w & 0x3ffffff) + (carry & 0x3ffffff); + carry >>= 26; + carry += (w / 0x4000000) | 0; + // NOTE: lo is 27bit maximum + carry += lo >>> 26; + this.words[i] = lo & 0x3ffffff; + } + + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + + return this; + }; + + BN.prototype.muln = function muln (num) { + return this.clone().imuln(num); + }; + + // `this` * `this` + BN.prototype.sqr = function sqr () { + return this.mul(this); + }; + + // `this` * `this` in-place + BN.prototype.isqr = function isqr () { + return this.imul(this.clone()); + }; + + // Math.pow(`this`, `num`) + BN.prototype.pow = function pow (num) { + var w = toBitArray(num); + if (w.length === 0) return new BN(1); + + // Skip leading zeroes + var res = this; + for (var i = 0; i < w.length; i++, res = res.sqr()) { + if (w[i] !== 0) break; + } + + if (++i < w.length) { + for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { + if (w[i] === 0) continue; + + res = res.mul(q); + } + } + + return res; + }; + + // Shift-left in-place + BN.prototype.iushln = function iushln (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r); + var i; + + if (r !== 0) { + var carry = 0; + + for (i = 0; i < this.length; i++) { + var newCarry = this.words[i] & carryMask; + var c = ((this.words[i] | 0) - newCarry) << r; + this.words[i] = c | carry; + carry = newCarry >>> (26 - r); + } + + if (carry) { + this.words[i] = carry; + this.length++; + } + } + + if (s !== 0) { + for (i = this.length - 1; i >= 0; i--) { + this.words[i + s] = this.words[i]; + } + + for (i = 0; i < s; i++) { + this.words[i] = 0; + } + + this.length += s; + } + + return this.strip(); + }; + + BN.prototype.ishln = function ishln (bits) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushln(bits); + }; + + // Shift-right in-place + // NOTE: `hint` is a lowest bit before trailing zeroes + // NOTE: if `extended` is present - it will be filled with destroyed bits + BN.prototype.iushrn = function iushrn (bits, hint, extended) { + assert(typeof bits === 'number' && bits >= 0); + var h; + if (hint) { + h = (hint - (hint % 26)) / 26; + } else { + h = 0; + } + + var r = bits % 26; + var s = Math.min((bits - r) / 26, this.length); + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + var maskedWords = extended; + + h -= s; + h = Math.max(0, h); + + // Extended mode, copy masked part + if (maskedWords) { + for (var i = 0; i < s; i++) { + maskedWords.words[i] = this.words[i]; + } + maskedWords.length = s; + } + + if (s === 0) { + // No-op, we should not move anything at all + } else if (this.length > s) { + this.length -= s; + for (i = 0; i < this.length; i++) { + this.words[i] = this.words[i + s]; + } + } else { + this.words[0] = 0; + this.length = 1; + } + + var carry = 0; + for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { + var word = this.words[i] | 0; + this.words[i] = (carry << (26 - r)) | (word >>> r); + carry = word & mask; + } + + // Push carried bits as a mask + if (maskedWords && carry !== 0) { + maskedWords.words[maskedWords.length++] = carry; + } + + if (this.length === 0) { + this.words[0] = 0; + this.length = 1; + } + + return this.strip(); + }; + + BN.prototype.ishrn = function ishrn (bits, hint, extended) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushrn(bits, hint, extended); + }; + + // Shift-left + BN.prototype.shln = function shln (bits) { + return this.clone().ishln(bits); + }; + + BN.prototype.ushln = function ushln (bits) { + return this.clone().iushln(bits); + }; + + // Shift-right + BN.prototype.shrn = function shrn (bits) { + return this.clone().ishrn(bits); + }; + + BN.prototype.ushrn = function ushrn (bits) { + return this.clone().iushrn(bits); + }; + + // Test if n bit is set + BN.prototype.testn = function testn (bit) { + assert(typeof bit === 'number' && bit >= 0); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) return false; + + // Check bit and return + var w = this.words[s]; + + return !!(w & q); + }; + + // Return only lowers bits of number (in-place) + BN.prototype.imaskn = function imaskn (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + + assert(this.negative === 0, 'imaskn works only with positive numbers'); + + if (this.length <= s) { + return this; + } + + if (r !== 0) { + s++; + } + this.length = Math.min(s, this.length); + + if (r !== 0) { + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + this.words[this.length - 1] &= mask; + } + + return this.strip(); + }; + + // Return only lowers bits of number + BN.prototype.maskn = function maskn (bits) { + return this.clone().imaskn(bits); + }; + + // Add plain number `num` to `this` + BN.prototype.iaddn = function iaddn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.isubn(-num); + + // Possible sign change + if (this.negative !== 0) { + if (this.length === 1 && (this.words[0] | 0) < num) { + this.words[0] = num - (this.words[0] | 0); + this.negative = 0; + return this; + } + + this.negative = 0; + this.isubn(num); + this.negative = 1; + return this; + } + + // Add without checks + return this._iaddn(num); + }; + + BN.prototype._iaddn = function _iaddn (num) { + this.words[0] += num; + + // Carry + for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) { + this.words[i] -= 0x4000000; + if (i === this.length - 1) { + this.words[i + 1] = 1; + } else { + this.words[i + 1]++; + } + } + this.length = Math.max(this.length, i + 1); + + return this; + }; + + // Subtract plain number `num` from `this` + BN.prototype.isubn = function isubn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.iaddn(-num); + + if (this.negative !== 0) { + this.negative = 0; + this.iaddn(num); + this.negative = 1; + return this; + } + + this.words[0] -= num; + + if (this.length === 1 && this.words[0] < 0) { + this.words[0] = -this.words[0]; + this.negative = 1; + } else { + // Carry + for (var i = 0; i < this.length && this.words[i] < 0; i++) { + this.words[i] += 0x4000000; + this.words[i + 1] -= 1; + } + } + + return this.strip(); + }; + + BN.prototype.addn = function addn (num) { + return this.clone().iaddn(num); + }; + + BN.prototype.subn = function subn (num) { + return this.clone().isubn(num); + }; + + BN.prototype.iabs = function iabs () { + this.negative = 0; + + return this; + }; + + BN.prototype.abs = function abs () { + return this.clone().iabs(); + }; + + BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) { + var len = num.length + shift; + var i; + + this._expand(len); + + var w; + var carry = 0; + for (i = 0; i < num.length; i++) { + w = (this.words[i + shift] | 0) + carry; + var right = (num.words[i] | 0) * mul; + w -= right & 0x3ffffff; + carry = (w >> 26) - ((right / 0x4000000) | 0); + this.words[i + shift] = w & 0x3ffffff; + } + for (; i < this.length - shift; i++) { + w = (this.words[i + shift] | 0) + carry; + carry = w >> 26; + this.words[i + shift] = w & 0x3ffffff; + } + + if (carry === 0) return this.strip(); + + // Subtraction overflow + assert(carry === -1); + carry = 0; + for (i = 0; i < this.length; i++) { + w = -(this.words[i] | 0) + carry; + carry = w >> 26; + this.words[i] = w & 0x3ffffff; + } + this.negative = 1; + + return this.strip(); + }; + + BN.prototype._wordDiv = function _wordDiv (num, mode) { + var shift = this.length - num.length; + + var a = this.clone(); + var b = num; + + // Normalize + var bhi = b.words[b.length - 1] | 0; + var bhiBits = this._countBits(bhi); + shift = 26 - bhiBits; + if (shift !== 0) { + b = b.ushln(shift); + a.iushln(shift); + bhi = b.words[b.length - 1] | 0; + } + + // Initialize quotient + var m = a.length - b.length; + var q; + + if (mode !== 'mod') { + q = new BN(null); + q.length = m + 1; + q.words = new Array(q.length); + for (var i = 0; i < q.length; i++) { + q.words[i] = 0; + } + } + + var diff = a.clone()._ishlnsubmul(b, 1, m); + if (diff.negative === 0) { + a = diff; + if (q) { + q.words[m] = 1; + } + } + + for (var j = m - 1; j >= 0; j--) { + var qj = (a.words[b.length + j] | 0) * 0x4000000 + + (a.words[b.length + j - 1] | 0); + + // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max + // (0x7ffffff) + qj = Math.min((qj / bhi) | 0, 0x3ffffff); + + a._ishlnsubmul(b, qj, j); + while (a.negative !== 0) { + qj--; + a.negative = 0; + a._ishlnsubmul(b, 1, j); + if (!a.isZero()) { + a.negative ^= 1; + } + } + if (q) { + q.words[j] = qj; + } + } + if (q) { + q.strip(); + } + a.strip(); + + // Denormalize + if (mode !== 'div' && shift !== 0) { + a.iushrn(shift); + } + + return { + div: q || null, + mod: a + }; + }; + + // NOTE: 1) `mode` can be set to `mod` to request mod only, + // to `div` to request div only, or be absent to + // request both div & mod + // 2) `positive` is true if unsigned mod is requested + BN.prototype.divmod = function divmod (num, mode, positive) { + assert(!num.isZero()); + + if (this.isZero()) { + return { + div: new BN(0), + mod: new BN(0) + }; + } + + var div, mod, res; + if (this.negative !== 0 && num.negative === 0) { + res = this.neg().divmod(num, mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.iadd(num); + } + } + + return { + div: div, + mod: mod + }; + } + + if (this.negative === 0 && num.negative !== 0) { + res = this.divmod(num.neg(), mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + return { + div: div, + mod: res.mod + }; + } + + if ((this.negative & num.negative) !== 0) { + res = this.neg().divmod(num.neg(), mode); + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.isub(num); + } + } + + return { + div: res.div, + mod: mod + }; + } + + // Both numbers are positive at this point + + // Strip both numbers to approximate shift value + if (num.length > this.length || this.cmp(num) < 0) { + return { + div: new BN(0), + mod: this + }; + } + + // Very short reduction + if (num.length === 1) { + if (mode === 'div') { + return { + div: this.divn(num.words[0]), + mod: null + }; + } + + if (mode === 'mod') { + return { + div: null, + mod: new BN(this.modn(num.words[0])) + }; + } + + return { + div: this.divn(num.words[0]), + mod: new BN(this.modn(num.words[0])) + }; + } + + return this._wordDiv(num, mode); + }; + + // Find `this` / `num` + BN.prototype.div = function div (num) { + return this.divmod(num, 'div', false).div; + }; + + // Find `this` % `num` + BN.prototype.mod = function mod (num) { + return this.divmod(num, 'mod', false).mod; + }; + + BN.prototype.umod = function umod (num) { + return this.divmod(num, 'mod', true).mod; + }; + + // Find Round(`this` / `num`) + BN.prototype.divRound = function divRound (num) { + var dm = this.divmod(num); + + // Fast case - exact division + if (dm.mod.isZero()) return dm.div; + + var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; + + var half = num.ushrn(1); + var r2 = num.andln(1); + var cmp = mod.cmp(half); + + // Round down + if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div; + + // Round up + return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); + }; + + BN.prototype.modn = function modn (num) { + assert(num <= 0x3ffffff); + var p = (1 << 26) % num; + + var acc = 0; + for (var i = this.length - 1; i >= 0; i--) { + acc = (p * acc + (this.words[i] | 0)) % num; + } + + return acc; + }; + + // In-place division by number + BN.prototype.idivn = function idivn (num) { + assert(num <= 0x3ffffff); + + var carry = 0; + for (var i = this.length - 1; i >= 0; i--) { + var w = (this.words[i] | 0) + carry * 0x4000000; + this.words[i] = (w / num) | 0; + carry = w % num; + } + + return this.strip(); + }; + + BN.prototype.divn = function divn (num) { + return this.clone().idivn(num); + }; + + BN.prototype.egcd = function egcd (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var x = this; + var y = p.clone(); + + if (x.negative !== 0) { + x = x.umod(p); + } else { + x = x.clone(); + } + + // A * x + B * y = x + var A = new BN(1); + var B = new BN(0); + + // C * x + D * y = y + var C = new BN(0); + var D = new BN(1); + + var g = 0; + + while (x.isEven() && y.isEven()) { + x.iushrn(1); + y.iushrn(1); + ++g; + } + + var yp = y.clone(); + var xp = x.clone(); + + while (!x.isZero()) { + for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + x.iushrn(i); + while (i-- > 0) { + if (A.isOdd() || B.isOdd()) { + A.iadd(yp); + B.isub(xp); + } + + A.iushrn(1); + B.iushrn(1); + } + } + + for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + y.iushrn(j); + while (j-- > 0) { + if (C.isOdd() || D.isOdd()) { + C.iadd(yp); + D.isub(xp); + } + + C.iushrn(1); + D.iushrn(1); + } + } + + if (x.cmp(y) >= 0) { + x.isub(y); + A.isub(C); + B.isub(D); + } else { + y.isub(x); + C.isub(A); + D.isub(B); + } + } + + return { + a: C, + b: D, + gcd: y.iushln(g) + }; + }; + + // This is reduced incarnation of the binary EEA + // above, designated to invert members of the + // _prime_ fields F(p) at a maximal speed + BN.prototype._invmp = function _invmp (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var a = this; + var b = p.clone(); + + if (a.negative !== 0) { + a = a.umod(p); + } else { + a = a.clone(); + } + + var x1 = new BN(1); + var x2 = new BN(0); + + var delta = b.clone(); + + while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { + for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + a.iushrn(i); + while (i-- > 0) { + if (x1.isOdd()) { + x1.iadd(delta); + } + + x1.iushrn(1); + } + } + + for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + b.iushrn(j); + while (j-- > 0) { + if (x2.isOdd()) { + x2.iadd(delta); + } + + x2.iushrn(1); + } + } + + if (a.cmp(b) >= 0) { + a.isub(b); + x1.isub(x2); + } else { + b.isub(a); + x2.isub(x1); + } + } + + var res; + if (a.cmpn(1) === 0) { + res = x1; + } else { + res = x2; + } + + if (res.cmpn(0) < 0) { + res.iadd(p); + } + + return res; + }; + + BN.prototype.gcd = function gcd (num) { + if (this.isZero()) return num.abs(); + if (num.isZero()) return this.abs(); + + var a = this.clone(); + var b = num.clone(); + a.negative = 0; + b.negative = 0; + + // Remove common factor of two + for (var shift = 0; a.isEven() && b.isEven(); shift++) { + a.iushrn(1); + b.iushrn(1); + } + + do { + while (a.isEven()) { + a.iushrn(1); + } + while (b.isEven()) { + b.iushrn(1); + } + + var r = a.cmp(b); + if (r < 0) { + // Swap `a` and `b` to make `a` always bigger than `b` + var t = a; + a = b; + b = t; + } else if (r === 0 || b.cmpn(1) === 0) { + break; + } + + a.isub(b); + } while (true); + + return b.iushln(shift); + }; + + // Invert number in the field F(num) + BN.prototype.invm = function invm (num) { + return this.egcd(num).a.umod(num); + }; + + BN.prototype.isEven = function isEven () { + return (this.words[0] & 1) === 0; + }; + + BN.prototype.isOdd = function isOdd () { + return (this.words[0] & 1) === 1; + }; + + // And first word and num + BN.prototype.andln = function andln (num) { + return this.words[0] & num; + }; + + // Increment at the bit position in-line + BN.prototype.bincn = function bincn (bit) { + assert(typeof bit === 'number'); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) { + this._expand(s + 1); + this.words[s] |= q; + return this; + } + + // Add bit and propagate, if needed + var carry = q; + for (var i = s; carry !== 0 && i < this.length; i++) { + var w = this.words[i] | 0; + w += carry; + carry = w >>> 26; + w &= 0x3ffffff; + this.words[i] = w; + } + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + return this; + }; + + BN.prototype.isZero = function isZero () { + return this.length === 1 && this.words[0] === 0; + }; + + BN.prototype.cmpn = function cmpn (num) { + var negative = num < 0; + + if (this.negative !== 0 && !negative) return -1; + if (this.negative === 0 && negative) return 1; + + this.strip(); + + var res; + if (this.length > 1) { + res = 1; + } else { + if (negative) { + num = -num; + } + + assert(num <= 0x3ffffff, 'Number is too big'); + + var w = this.words[0] | 0; + res = w === num ? 0 : w < num ? -1 : 1; + } + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Compare two numbers and return: + // 1 - if `this` > `num` + // 0 - if `this` == `num` + // -1 - if `this` < `num` + BN.prototype.cmp = function cmp (num) { + if (this.negative !== 0 && num.negative === 0) return -1; + if (this.negative === 0 && num.negative !== 0) return 1; + + var res = this.ucmp(num); + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Unsigned comparison + BN.prototype.ucmp = function ucmp (num) { + // At this point both numbers have the same sign + if (this.length > num.length) return 1; + if (this.length < num.length) return -1; + + var res = 0; + for (var i = this.length - 1; i >= 0; i--) { + var a = this.words[i] | 0; + var b = num.words[i] | 0; + + if (a === b) continue; + if (a < b) { + res = -1; + } else if (a > b) { + res = 1; + } + break; + } + return res; + }; + + BN.prototype.gtn = function gtn (num) { + return this.cmpn(num) === 1; + }; + + BN.prototype.gt = function gt (num) { + return this.cmp(num) === 1; + }; + + BN.prototype.gten = function gten (num) { + return this.cmpn(num) >= 0; + }; + + BN.prototype.gte = function gte (num) { + return this.cmp(num) >= 0; + }; + + BN.prototype.ltn = function ltn (num) { + return this.cmpn(num) === -1; + }; + + BN.prototype.lt = function lt (num) { + return this.cmp(num) === -1; + }; + + BN.prototype.lten = function lten (num) { + return this.cmpn(num) <= 0; + }; + + BN.prototype.lte = function lte (num) { + return this.cmp(num) <= 0; + }; + + BN.prototype.eqn = function eqn (num) { + return this.cmpn(num) === 0; + }; + + BN.prototype.eq = function eq (num) { + return this.cmp(num) === 0; + }; + + // + // A reduce context, could be using montgomery or something better, depending + // on the `m` itself. + // + BN.red = function red (num) { + return new Red(num); + }; + + BN.prototype.toRed = function toRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + assert(this.negative === 0, 'red works only with positives'); + return ctx.convertTo(this)._forceRed(ctx); + }; + + BN.prototype.fromRed = function fromRed () { + assert(this.red, 'fromRed works only with numbers in reduction context'); + return this.red.convertFrom(this); + }; + + BN.prototype._forceRed = function _forceRed (ctx) { + this.red = ctx; + return this; + }; + + BN.prototype.forceRed = function forceRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + return this._forceRed(ctx); + }; + + BN.prototype.redAdd = function redAdd (num) { + assert(this.red, 'redAdd works only with red numbers'); + return this.red.add(this, num); + }; + + BN.prototype.redIAdd = function redIAdd (num) { + assert(this.red, 'redIAdd works only with red numbers'); + return this.red.iadd(this, num); + }; + + BN.prototype.redSub = function redSub (num) { + assert(this.red, 'redSub works only with red numbers'); + return this.red.sub(this, num); + }; + + BN.prototype.redISub = function redISub (num) { + assert(this.red, 'redISub works only with red numbers'); + return this.red.isub(this, num); + }; + + BN.prototype.redShl = function redShl (num) { + assert(this.red, 'redShl works only with red numbers'); + return this.red.shl(this, num); + }; + + BN.prototype.redMul = function redMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.mul(this, num); + }; + + BN.prototype.redIMul = function redIMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.imul(this, num); + }; + + BN.prototype.redSqr = function redSqr () { + assert(this.red, 'redSqr works only with red numbers'); + this.red._verify1(this); + return this.red.sqr(this); + }; + + BN.prototype.redISqr = function redISqr () { + assert(this.red, 'redISqr works only with red numbers'); + this.red._verify1(this); + return this.red.isqr(this); + }; + + // Square root over p + BN.prototype.redSqrt = function redSqrt () { + assert(this.red, 'redSqrt works only with red numbers'); + this.red._verify1(this); + return this.red.sqrt(this); + }; + + BN.prototype.redInvm = function redInvm () { + assert(this.red, 'redInvm works only with red numbers'); + this.red._verify1(this); + return this.red.invm(this); + }; + + // Return negative clone of `this` % `red modulo` + BN.prototype.redNeg = function redNeg () { + assert(this.red, 'redNeg works only with red numbers'); + this.red._verify1(this); + return this.red.neg(this); + }; + + BN.prototype.redPow = function redPow (num) { + assert(this.red && !num.red, 'redPow(normalNum)'); + this.red._verify1(this); + return this.red.pow(this, num); + }; + + // Prime numbers with efficient reduction + var primes = { + k256: null, + p224: null, + p192: null, + p25519: null + }; + + // Pseudo-Mersenne prime + function MPrime (name, p) { + // P = 2 ^ N - K + this.name = name; + this.p = new BN(p, 16); + this.n = this.p.bitLength(); + this.k = new BN(1).iushln(this.n).isub(this.p); + + this.tmp = this._tmp(); + } + + MPrime.prototype._tmp = function _tmp () { + var tmp = new BN(null); + tmp.words = new Array(Math.ceil(this.n / 13)); + return tmp; + }; + + MPrime.prototype.ireduce = function ireduce (num) { + // Assumes that `num` is less than `P^2` + // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P) + var r = num; + var rlen; + + do { + this.split(r, this.tmp); + r = this.imulK(r); + r = r.iadd(this.tmp); + rlen = r.bitLength(); + } while (rlen > this.n); + + var cmp = rlen < this.n ? -1 : r.ucmp(this.p); + if (cmp === 0) { + r.words[0] = 0; + r.length = 1; + } else if (cmp > 0) { + r.isub(this.p); + } else { + if (r.strip !== undefined) { + // r is BN v4 instance + r.strip(); + } else { + // r is BN v5 instance + r._strip(); + } + } + + return r; + }; + + MPrime.prototype.split = function split (input, out) { + input.iushrn(this.n, 0, out); + }; + + MPrime.prototype.imulK = function imulK (num) { + return num.imul(this.k); + }; + + function K256 () { + MPrime.call( + this, + 'k256', + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f'); + } + inherits(K256, MPrime); + + K256.prototype.split = function split (input, output) { + // 256 = 9 * 26 + 22 + var mask = 0x3fffff; + + var outLen = Math.min(input.length, 9); + for (var i = 0; i < outLen; i++) { + output.words[i] = input.words[i]; + } + output.length = outLen; + + if (input.length <= 9) { + input.words[0] = 0; + input.length = 1; + return; + } + + // Shift by 9 limbs + var prev = input.words[9]; + output.words[output.length++] = prev & mask; + + for (i = 10; i < input.length; i++) { + var next = input.words[i] | 0; + input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22); + prev = next; + } + prev >>>= 22; + input.words[i - 10] = prev; + if (prev === 0 && input.length > 10) { + input.length -= 10; + } else { + input.length -= 9; + } + }; + + K256.prototype.imulK = function imulK (num) { + // K = 0x1000003d1 = [ 0x40, 0x3d1 ] + num.words[num.length] = 0; + num.words[num.length + 1] = 0; + num.length += 2; + + // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390 + var lo = 0; + for (var i = 0; i < num.length; i++) { + var w = num.words[i] | 0; + lo += w * 0x3d1; + num.words[i] = lo & 0x3ffffff; + lo = w * 0x40 + ((lo / 0x4000000) | 0); + } + + // Fast length reduction + if (num.words[num.length - 1] === 0) { + num.length--; + if (num.words[num.length - 1] === 0) { + num.length--; + } + } + return num; + }; + + function P224 () { + MPrime.call( + this, + 'p224', + 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001'); + } + inherits(P224, MPrime); + + function P192 () { + MPrime.call( + this, + 'p192', + 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff'); + } + inherits(P192, MPrime); + + function P25519 () { + // 2 ^ 255 - 19 + MPrime.call( + this, + '25519', + '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed'); + } + inherits(P25519, MPrime); + + P25519.prototype.imulK = function imulK (num) { + // K = 0x13 + var carry = 0; + for (var i = 0; i < num.length; i++) { + var hi = (num.words[i] | 0) * 0x13 + carry; + var lo = hi & 0x3ffffff; + hi >>>= 26; + + num.words[i] = lo; + carry = hi; + } + if (carry !== 0) { + num.words[num.length++] = carry; + } + return num; + }; + + // Exported mostly for testing purposes, use plain name instead + BN._prime = function prime (name) { + // Cached version of prime + if (primes[name]) return primes[name]; + + var prime; + if (name === 'k256') { + prime = new K256(); + } else if (name === 'p224') { + prime = new P224(); + } else if (name === 'p192') { + prime = new P192(); + } else if (name === 'p25519') { + prime = new P25519(); + } else { + throw new Error('Unknown prime ' + name); + } + primes[name] = prime; + + return prime; + }; + + // + // Base reduction engine + // + function Red (m) { + if (typeof m === 'string') { + var prime = BN._prime(m); + this.m = prime.p; + this.prime = prime; + } else { + assert(m.gtn(1), 'modulus must be greater than 1'); + this.m = m; + this.prime = null; + } + } + + Red.prototype._verify1 = function _verify1 (a) { + assert(a.negative === 0, 'red works only with positives'); + assert(a.red, 'red works only with red numbers'); + }; + + Red.prototype._verify2 = function _verify2 (a, b) { + assert((a.negative | b.negative) === 0, 'red works only with positives'); + assert(a.red && a.red === b.red, + 'red works only with red numbers'); + }; + + Red.prototype.imod = function imod (a) { + if (this.prime) return this.prime.ireduce(a)._forceRed(this); + return a.umod(this.m)._forceRed(this); + }; + + Red.prototype.neg = function neg (a) { + if (a.isZero()) { + return a.clone(); + } + + return this.m.sub(a)._forceRed(this); + }; + + Red.prototype.add = function add (a, b) { + this._verify2(a, b); + + var res = a.add(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.iadd = function iadd (a, b) { + this._verify2(a, b); + + var res = a.iadd(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res; + }; + + Red.prototype.sub = function sub (a, b) { + this._verify2(a, b); + + var res = a.sub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.isub = function isub (a, b) { + this._verify2(a, b); + + var res = a.isub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res; + }; + + Red.prototype.shl = function shl (a, num) { + this._verify1(a); + return this.imod(a.ushln(num)); + }; + + Red.prototype.imul = function imul (a, b) { + this._verify2(a, b); + return this.imod(a.imul(b)); + }; + + Red.prototype.mul = function mul (a, b) { + this._verify2(a, b); + return this.imod(a.mul(b)); + }; + + Red.prototype.isqr = function isqr (a) { + return this.imul(a, a.clone()); + }; + + Red.prototype.sqr = function sqr (a) { + return this.mul(a, a); + }; + + Red.prototype.sqrt = function sqrt (a) { + if (a.isZero()) return a.clone(); + + var mod3 = this.m.andln(3); + assert(mod3 % 2 === 1); + + // Fast case + if (mod3 === 3) { + var pow = this.m.add(new BN(1)).iushrn(2); + return this.pow(a, pow); + } + + // Tonelli-Shanks algorithm (Totally unoptimized and slow) + // + // Find Q and S, that Q * 2 ^ S = (P - 1) + var q = this.m.subn(1); + var s = 0; + while (!q.isZero() && q.andln(1) === 0) { + s++; + q.iushrn(1); + } + assert(!q.isZero()); + + var one = new BN(1).toRed(this); + var nOne = one.redNeg(); + + // Find quadratic non-residue + // NOTE: Max is such because of generalized Riemann hypothesis. + var lpow = this.m.subn(1).iushrn(1); + var z = this.m.bitLength(); + z = new BN(2 * z * z).toRed(this); + + while (this.pow(z, lpow).cmp(nOne) !== 0) { + z.redIAdd(nOne); + } + + var c = this.pow(z, q); + var r = this.pow(a, q.addn(1).iushrn(1)); + var t = this.pow(a, q); + var m = s; + while (t.cmp(one) !== 0) { + var tmp = t; + for (var i = 0; tmp.cmp(one) !== 0; i++) { + tmp = tmp.redSqr(); + } + assert(i < m); + var b = this.pow(c, new BN(1).iushln(m - i - 1)); + + r = r.redMul(b); + c = b.redSqr(); + t = t.redMul(c); + m = i; + } + + return r; + }; + + Red.prototype.invm = function invm (a) { + var inv = a._invmp(this.m); + if (inv.negative !== 0) { + inv.negative = 0; + return this.imod(inv).redNeg(); + } else { + return this.imod(inv); + } + }; + + Red.prototype.pow = function pow (a, num) { + if (num.isZero()) return new BN(1).toRed(this); + if (num.cmpn(1) === 0) return a.clone(); + + var windowSize = 4; + var wnd = new Array(1 << windowSize); + wnd[0] = new BN(1).toRed(this); + wnd[1] = a; + for (var i = 2; i < wnd.length; i++) { + wnd[i] = this.mul(wnd[i - 1], a); + } + + var res = wnd[0]; + var current = 0; + var currentLen = 0; + var start = num.bitLength() % 26; + if (start === 0) { + start = 26; + } + + for (i = num.length - 1; i >= 0; i--) { + var word = num.words[i]; + for (var j = start - 1; j >= 0; j--) { + var bit = (word >> j) & 1; + if (res !== wnd[0]) { + res = this.sqr(res); + } + + if (bit === 0 && current === 0) { + currentLen = 0; + continue; + } + + current <<= 1; + current |= bit; + currentLen++; + if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue; + + res = this.mul(res, wnd[current]); + currentLen = 0; + current = 0; + } + start = 26; + } + + return res; + }; + + Red.prototype.convertTo = function convertTo (num) { + var r = num.umod(this.m); + + return r === num ? r.clone() : r; + }; + + Red.prototype.convertFrom = function convertFrom (num) { + var res = num.clone(); + res.red = null; + return res; + }; + + // + // Montgomery method engine + // + + BN.mont = function mont (num) { + return new Mont(num); + }; + + function Mont (m) { + Red.call(this, m); + + this.shift = this.m.bitLength(); + if (this.shift % 26 !== 0) { + this.shift += 26 - (this.shift % 26); + } + + this.r = new BN(1).iushln(this.shift); + this.r2 = this.imod(this.r.sqr()); + this.rinv = this.r._invmp(this.m); + + this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); + this.minv = this.minv.umod(this.r); + this.minv = this.r.sub(this.minv); + } + inherits(Mont, Red); + + Mont.prototype.convertTo = function convertTo (num) { + return this.imod(num.ushln(this.shift)); + }; + + Mont.prototype.convertFrom = function convertFrom (num) { + var r = this.imod(num.mul(this.rinv)); + r.red = null; + return r; + }; + + Mont.prototype.imul = function imul (a, b) { + if (a.isZero() || b.isZero()) { + a.words[0] = 0; + a.length = 1; + return a; + } + + var t = a.imul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.mul = function mul (a, b) { + if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this); + + var t = a.mul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.invm = function invm (a) { + // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R + var res = this.imod(a._invmp(this.m).mul(this.r2)); + return res._forceRed(this); + }; +})(typeof module === 'undefined' || module, this); diff --git a/node_modules/bn.js/package.json b/node_modules/bn.js/package.json new file mode 100644 index 00000000..098b805f --- /dev/null +++ b/node_modules/bn.js/package.json @@ -0,0 +1,36 @@ +{ + "name": "bn.js", + "version": "4.12.0", + "description": "Big number implementation in pure javascript", + "main": "lib/bn.js", + "scripts": { + "lint": "semistandard", + "unit": "mocha --reporter=spec test/*-test.js", + "test": "npm run lint && npm run unit" + }, + "repository": { + "type": "git", + "url": "git@github.com:indutny/bn.js" + }, + "keywords": [ + "BN", + "BigNum", + "Big number", + "Modulo", + "Montgomery" + ], + "author": "Fedor Indutny ", + "license": "MIT", + "bugs": { + "url": "https://github.com/indutny/bn.js/issues" + }, + "homepage": "https://github.com/indutny/bn.js", + "browser": { + "buffer": false + }, + "devDependencies": { + "istanbul": "^0.3.5", + "mocha": "^2.1.0", + "semistandard": "^7.0.4" + } +} diff --git a/node_modules/brace-expansion/LICENSE b/node_modules/brace-expansion/LICENSE new file mode 100644 index 00000000..de322667 --- /dev/null +++ b/node_modules/brace-expansion/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/brace-expansion/README.md b/node_modules/brace-expansion/README.md new file mode 100644 index 00000000..6b4e0e16 --- /dev/null +++ b/node_modules/brace-expansion/README.md @@ -0,0 +1,129 @@ +# brace-expansion + +[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), +as known from sh/bash, in JavaScript. + +[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion) +[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion) +[![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/) + +[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion) + +## Example + +```js +var expand = require('brace-expansion'); + +expand('file-{a,b,c}.jpg') +// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] + +expand('-v{,,}') +// => ['-v', '-v', '-v'] + +expand('file{0..2}.jpg') +// => ['file0.jpg', 'file1.jpg', 'file2.jpg'] + +expand('file-{a..c}.jpg') +// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] + +expand('file{2..0}.jpg') +// => ['file2.jpg', 'file1.jpg', 'file0.jpg'] + +expand('file{0..4..2}.jpg') +// => ['file0.jpg', 'file2.jpg', 'file4.jpg'] + +expand('file-{a..e..2}.jpg') +// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg'] + +expand('file{00..10..5}.jpg') +// => ['file00.jpg', 'file05.jpg', 'file10.jpg'] + +expand('{{A..C},{a..c}}') +// => ['A', 'B', 'C', 'a', 'b', 'c'] + +expand('ppp{,config,oe{,conf}}') +// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf'] +``` + +## API + +```js +var expand = require('brace-expansion'); +``` + +### var expanded = expand(str) + +Return an array of all possible and valid expansions of `str`. If none are +found, `[str]` is returned. + +Valid expansions are: + +```js +/^(.*,)+(.+)?$/ +// {a,b,...} +``` + +A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`. + +```js +/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ +// {x..y[..incr]} +``` + +A numeric sequence from `x` to `y` inclusive, with optional increment. +If `x` or `y` start with a leading `0`, all the numbers will be padded +to have equal length. Negative numbers and backwards iteration work too. + +```js +/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ +// {x..y[..incr]} +``` + +An alphabetic sequence from `x` to `y` inclusive, with optional increment. +`x` and `y` must be exactly one character, and if given, `incr` must be a +number. + +For compatibility reasons, the string `${` is not eligible for brace expansion. + +## Installation + +With [npm](https://npmjs.org) do: + +```bash +npm install brace-expansion +``` + +## Contributors + +- [Julian Gruber](https://github.com/juliangruber) +- [Isaac Z. Schlueter](https://github.com/isaacs) + +## Sponsors + +This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)! + +Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)! + +## License + +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/brace-expansion/index.js b/node_modules/brace-expansion/index.js new file mode 100644 index 00000000..0478be81 --- /dev/null +++ b/node_modules/brace-expansion/index.js @@ -0,0 +1,201 @@ +var concatMap = require('concat-map'); +var balanced = require('balanced-match'); + +module.exports = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balanced('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function identity(e) { + return e; +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balanced('{', '}', str); + if (!m || /\$$/.test(m.pre)) return [str]; + + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + var post = m.post.length + ? expand(m.post, false) + : ['']; + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = concatMap(n, function(el) { return expand(el, false) }); + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + + return expansions; +} + diff --git a/node_modules/brace-expansion/package.json b/node_modules/brace-expansion/package.json new file mode 100644 index 00000000..a18faa8f --- /dev/null +++ b/node_modules/brace-expansion/package.json @@ -0,0 +1,47 @@ +{ + "name": "brace-expansion", + "description": "Brace expansion as known from sh/bash", + "version": "1.1.11", + "repository": { + "type": "git", + "url": "git://github.com/juliangruber/brace-expansion.git" + }, + "homepage": "https://github.com/juliangruber/brace-expansion", + "main": "index.js", + "scripts": { + "test": "tape test/*.js", + "gentest": "bash test/generate.sh", + "bench": "matcha test/perf/bench.js" + }, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + }, + "devDependencies": { + "matcha": "^0.7.0", + "tape": "^4.6.0" + }, + "keywords": [], + "author": { + "name": "Julian Gruber", + "email": "mail@juliangruber.com", + "url": "http://juliangruber.com" + }, + "license": "MIT", + "testling": { + "files": "test/*.js", + "browsers": [ + "ie/8..latest", + "firefox/20..latest", + "firefox/nightly", + "chrome/25..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + } +} diff --git a/node_modules/browserslist/LICENSE b/node_modules/browserslist/LICENSE new file mode 100644 index 00000000..90b6b916 --- /dev/null +++ b/node_modules/browserslist/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright 2014 Andrey Sitnik and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/browserslist/README.md b/node_modules/browserslist/README.md new file mode 100644 index 00000000..3eb62d67 --- /dev/null +++ b/node_modules/browserslist/README.md @@ -0,0 +1,710 @@ +# Browserslist [![Cult Of Martians][cult-img]][cult] + +Browserslist logo by Anton Lovchikov + +The config to share target browsers and Node.js versions between different +front-end tools. It is used in: + +* [Autoprefixer] +* [Babel] +* [postcss-preset-env] +* [eslint-plugin-compat] +* [stylelint-no-unsupported-browser-features] +* [postcss-normalize] +* [obsolete-webpack-plugin] + +All tools will find target browsers automatically, +when you add the following to `package.json`: + +```json + "browserslist": [ + "defaults", + "not IE 11", + "maintained node versions" + ] +``` + +Or in `.browserslistrc` config: + +```yaml +# Browsers that we support + +defaults +not IE 11 +maintained node versions +``` + +Developers set their version lists using queries like `last 2 versions` +to be free from updating versions manually. +Browserslist will use [`caniuse-lite`] with [Can I Use] data for this queries. + +Browserslist will take queries from tool option, +`browserslist` config, `.browserslistrc` config, +`browserslist` section in `package.json` or environment variables. + +[cult-img]: https://cultofmartians.com/assets/badges/badge.svg +[cult]: https://cultofmartians.com/done.html + +
+ Sponsored by Evil Martians + + +[stylelint-no-unsupported-browser-features]: https://github.com/ismay/stylelint-no-unsupported-browser-features +[eslint-plugin-compat]: https://github.com/amilajack/eslint-plugin-compat +[Browserslist Example]: https://github.com/browserslist/browserslist-example +[postcss-preset-env]: https://github.com/jonathantneal/postcss-preset-env +[postcss-normalize]: https://github.com/jonathantneal/postcss-normalize +[`caniuse-lite`]: https://github.com/ben-eb/caniuse-lite +[Autoprefixer]: https://github.com/postcss/autoprefixer +[Can I Use]: https://caniuse.com/ +[Babel]: https://github.com/babel/babel/tree/master/packages/babel-preset-env +[obsolete-webpack-plugin]: https://github.com/ElemeFE/obsolete-webpack-plugin + +## Table of Contents + +* [Tools](#tools) + * [Text Editors](#text-editors) +* [Best Practices](#best-practices) +* [Browsers Data Updating](#browsers-data-updating) +* [Queries](#queries) + * [Query Composition](#query-composition) + * [Full List](#full-list) + * [Debug](#debug) + * [Browsers](#browsers) +* [Config File](#config-file) + * [`package.json`](#packagejson) + * [`.browserslistrc`](#browserslistrc) +* [Shareable Configs](#shareable-configs) +* [Configuring for Different Environments](#configuring-for-different-environments) +* [Custom Usage Data](#custom-usage-data) +* [JS API](#js-api) +* [Environment Variables](#environment-variables) +* [Cache](#cache) +* [Security Contact](#security-contact) +* [For Enterprise](#for-enterprise) + +## Tools + +* [`browserl.ist`](https://browserl.ist/) is an online tool to check + what browsers will be selected by some query. +* [`browserslist-ga`] and [`browserslist-ga-export`] download your website + browsers statistics to use it in `> 0.5% in my stats` query. +* [`browserslist-useragent-regexp`] compiles Browserslist query to a RegExp + to test browser useragent. +* [`browserslist-useragent-ruby`] is a Ruby library to checks browser + by user agent string to match Browserslist. +* [`browserslist-browserstack`] runs BrowserStack tests for all browsers + in Browserslist config. +* [`browserslist-adobe-analytics`] use Adobe Analytics data to target browsers. +* [`browserslist-new-relic`] generate a custom usage data file for Browserslist + from your New Relic Browser data. +* [`caniuse-api`] returns browsers which support some specific feature. +* Run `npx browserslist` in your project directory to see project’s + target browsers. This CLI tool is built-in and available in any project + with Autoprefixer. + +[`browserslist-useragent-regexp`]: https://github.com/browserslist/browserslist-useragent-regexp +[`browserslist-adobe-analytics`]: https://github.com/xeroxinteractive/browserslist-adobe-analytics +[`browserslist-useragent-ruby`]: https://github.com/browserslist/browserslist-useragent-ruby +[`browserslist-browserstack`]: https://github.com/xeroxinteractive/browserslist-browserstack +[`browserslist-ga-export`]: https://github.com/browserslist/browserslist-ga-export +[`browserslist-useragent`]: https://github.com/pastelsky/browserslist-useragent +[`browserslist-ga`]: https://github.com/browserslist/browserslist-ga +[`browserslist-new-relic`]: https://github.com/syntactic-salt/browserslist-new-relic +[`caniuse-api`]: https://github.com/Nyalab/caniuse-api + + +### Text Editors + +These extensions will add syntax highlighting for `.browserslistrc` files. + +* [VS Code](https://marketplace.visualstudio.com/items?itemName=webben.browserslist) +* [Vim](https://github.com/browserslist/vim-browserslist) + +## Best Practices + +* There is a `defaults` query, which gives a reasonable configuration + for most users: + + ```json + "browserslist": [ + "defaults" + ] + ``` + +* If you want to change the default set of browsers, we recommend combining + `last 2 versions`, `not dead` with a usage number like `> 0.2%`. This is + because `last n versions` on its own does not add popular old versions, while + only using a percentage above `0.2%` will in the long run make popular + browsers even more popular. We might run into a monopoly and stagnation + situation, as we had with Internet Explorer 6. Please use this setting + with caution. +* Select browsers directly (`last 2 Chrome versions`) only if you are making + a web app for a kiosk with one browser. There are a lot of browsers + on the market. If you are making general web app you should respect + browsers diversity. +* Don’t remove browsers just because you don’t know them. Opera Mini has + 100 million users in Africa and it is more popular in the global market + than Microsoft Edge. Chinese QQ Browsers has more market share than Firefox + and desktop Safari combined. + + +## Browsers Data Updating + +`npx browserslist@latest --update-db` updates `caniuse-lite` version +in your npm, yarn or pnpm lock file. + +You need to do it regularly for two reasons: + +1. To use the latest browser’s versions and statistics in queries like + `last 2 versions` or `>1%`. For example, if you created your project + 2 years ago and did not update your dependencies, `last 1 version` + will return 2 year old browsers. +2. `caniuse-lite` deduplication: to synchronize version in different tools. + +> What is deduplication? + +Due to how npm architecture is setup, you may have a situation +where you have multiple versions of a single dependency required. + +Imagine you begin a project, and you add `autoprefixer` as a dependency. +npm looks for the latest `caniuse-lite` version (1.0.30000700) and adds it to +`package-lock.json` under `autoprefixer` dependencies. + +A year later, you decide to add Babel. At this moment, we have a +new version of `canuse-lite` (1.0.30000900). npm took the latest version +and added it to your lock file under `@babel/preset-env` dependencies. + +Now your lock file looks like this: + +```ocaml +autoprefixer 7.1.4 + browserslist 3.1.1 + caniuse-lite 1.0.30000700 +@babel/preset-env 7.10.0 + browserslist 4.13.0 + caniuse-lite 1.0.30000900 +``` + +As you can see, we now have two versions of `caniuse-lite` installed. + + +## Queries + +Browserslist will use browsers and Node.js versions query +from one of these sources: + +1. `browserslist` key in `package.json` file in current or parent directories. + **We recommend this way.** +2. `.browserslistrc` config file in current or parent directories. +3. `browserslist` config file in current or parent directories. +4. `BROWSERSLIST` environment variable. +5. If the above methods did not produce a valid result + Browserslist will use defaults: + `> 0.5%, last 2 versions, Firefox ESR, not dead`. + + +### Query Composition + +An `or` combiner can use the keyword `or` as well as `,`. +`last 1 version or > 1%` is equal to `last 1 version, > 1%`. + +`and` query combinations are also supported to perform an +intersection of all the previous queries: +`last 1 version or chrome > 75 and > 1%` will select +(`browser last version` or `Chrome since 76`) and `more than 1% marketshare`. + +There are 3 different ways to combine queries as depicted below. First you start +with a single query and then we combine the queries to get our final list. + +Obviously you can *not* start with a `not` combiner, since there is no left-hand +side query to combine it with. The left-hand is always resolved as `and` +combiner even if `or` is used (this is an API implementation specificity). + +| Query combiner type | Illustration | Example | +| ------------------- | :----------: | ------- | +|`or`/`,` combiner
(union) | ![Union of queries](img/union.svg) | `> .5% or last 2 versions`
`> .5%, last 2 versions` | +| `and` combiner
(intersection) | ![intersection of queries](img/intersection.svg) | `> .5% and last 2 versions` | +| `not` combiner
(relative complement) | ![Relative complement of queries](img/complement.svg) | All those three are equivalent to the first one
`> .5% and not last 2 versions`
`> .5% or not last 2 versions`
`> .5%, not last 2 versions` | + +_A quick way to test your query is to do `npx browserslist '> 0.5%, not IE 11'` +in your terminal._ + +### Full List + +You can specify the browser and Node.js versions by queries (case insensitive): + +* `defaults`: Browserslist’s default browsers + (`> 0.5%, last 2 versions, Firefox ESR, not dead`). +* By usage statistics: + * `> 5%`: browsers versions selected by global usage statistics. + `>=`, `<` and `<=` work too. + * `> 5% in US`: uses USA usage statistics. + It accepts [two-letter country code]. + * `> 5% in alt-AS`: uses Asia region usage statistics. + List of all region codes can be found at [`caniuse-lite/data/regions`]. + * `> 5% in my stats`: uses [custom usage data]. + * `> 5% in browserslist-config-mycompany stats`: uses [custom usage data] + from `browserslist-config-mycompany/browserslist-stats.json`. + * `cover 99.5%`: most popular browsers that provide coverage. + * `cover 99.5% in US`: same as above, with [two-letter country code]. + * `cover 99.5% in my stats`: uses [custom usage data]. +* Last versions: + * `last 2 versions`: the last 2 versions for *each* browser. + * `last 2 Chrome versions`: the last 2 versions of Chrome browser. + * `last 2 major versions` or `last 2 iOS major versions`: + all minor/patch releases of last 2 major versions. +* `dead`: browsers without official support or updates for 24 months. + Right now it is `IE 10`, `IE_Mob 11`, `BlackBerry 10`, `BlackBerry 7`, + `Samsung 4` and `OperaMobile 12.1`. +* Node.js versions: + * `node 10` and `node 10.4`: selects latest Node.js `10.x.x` + or `10.4.x` release. + * `current node`: Node.js version used by Browserslist right now. + * `maintained node versions`: all Node.js versions, which are [still maintained] + by Node.js Foundation. +* Browsers versions: + * `iOS 7`: the iOS browser version 7 directly. + * `Firefox > 20`: versions of Firefox newer than 20. + `>=`, `<` and `<=` work too. It also works with Node.js. + * `ie 6-8`: selects an inclusive range of versions. + * `Firefox ESR`: the latest [Firefox Extended Support Release]. + * `PhantomJS 2.1` and `PhantomJS 1.9`: selects Safari versions similar + to PhantomJS runtime. +* `extends browserslist-config-mycompany`: take queries from + `browserslist-config-mycompany` npm package. +* `supports es6-module`: browsers with support for specific features. + `es6-module` here is the `feat` parameter at the URL of the [Can I Use] + page. A list of all available features can be found at + [`caniuse-lite/data/features`]. +* `browserslist config`: the browsers defined in Browserslist config. Useful + in Differential Serving to modify user’s config like + `browserslist config and supports es6-module`. +* `since 2015` or `last 2 years`: all versions released since year 2015 + (also `since 2015-03` and `since 2015-03-10`). +* `unreleased versions` or `unreleased Chrome versions`: + alpha and beta versions. +* `not ie <= 8`: exclude IE 8 and lower from previous queries. + +You can add `not ` to any query. + +[`caniuse-lite/data/regions`]: https://github.com/ben-eb/caniuse-lite/tree/master/data/regions +[`caniuse-lite/data/features`]: https://github.com/ben-eb/caniuse-lite/tree/master/data/features +[two-letter country code]: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements +[custom usage data]: #custom-usage-data +[still maintained]: https://github.com/nodejs/Release +[Can I Use]: https://caniuse.com/ +[Firefox Extended Support Release]: https://support.mozilla.org/en-US/kb/choosing-firefox-update-channel + + +### Debug + +Run `npx browserslist` in project directory to see what browsers was selected +by your queries. + +```sh +$ npx browserslist +and_chr 61 +and_ff 56 +and_qq 1.2 +and_uc 11.4 +android 56 +baidu 7.12 +bb 10 +chrome 62 +edge 16 +firefox 56 +ios_saf 11 +opera 48 +safari 11 +samsung 5 +``` + + +### Browsers + +Names are case insensitive: + +* `Android` for Android WebView. +* `Baidu` for Baidu Browser. +* `BlackBerry` or `bb` for Blackberry browser. +* `Chrome` for Google Chrome. +* `ChromeAndroid` or `and_chr` for Chrome for Android +* `Edge` for Microsoft Edge. +* `Electron` for Electron framework. It will be converted to Chrome version. +* `Explorer` or `ie` for Internet Explorer. +* `ExplorerMobile` or `ie_mob` for Internet Explorer Mobile. +* `Firefox` or `ff` for Mozilla Firefox. +* `FirefoxAndroid` or `and_ff` for Firefox for Android. +* `iOS` or `ios_saf` for iOS Safari. +* `Node` for Node.js. +* `Opera` for Opera. +* `OperaMini` or `op_mini` for Opera Mini. +* `OperaMobile` or `op_mob` for Opera Mobile. +* `QQAndroid` or `and_qq` for QQ Browser for Android. +* `Safari` for desktop Safari. +* `Samsung` for Samsung Internet. +* `UCAndroid` or `and_uc` for UC Browser for Android. +* `kaios` for KaiOS Browser. + + +## Config File + +### `package.json` + +If you want to reduce config files in project root, you can specify +browsers in `package.json` with `browserslist` key: + +```json +{ + "private": true, + "dependencies": { + "autoprefixer": "^6.5.4" + }, + "browserslist": [ + "last 1 version", + "> 1%", + "IE 10" + ] +} +``` + + +### `.browserslistrc` + +Separated Browserslist config should be named `.browserslistrc` +and have browsers queries split by a new line. +Each line is combined with the `or` combiner. Comments starts with `#` symbol: + +```yaml +# Browsers that we support + +last 1 version +> 1% +IE 10 # sorry +``` + +Browserslist will check config in every directory in `path`. +So, if tool process `app/styles/main.css`, you can put config to root, +`app/` or `app/styles`. + +You can specify direct path in `BROWSERSLIST_CONFIG` environment variables. + + +## Shareable Configs + +You can use the following query to reference an exported Browserslist config +from another package: + +```json + "browserslist": [ + "extends browserslist-config-mycompany" + ] +``` + +For security reasons, external configuration only supports packages that have +the `browserslist-config-` prefix. npm scoped packages are also supported, by +naming or prefixing the module with `@scope/browserslist-config`, such as +`@scope/browserslist-config` or `@scope/browserslist-config-mycompany`. + +If you don’t accept Browserslist queries from users, you can disable the +validation by using the or `BROWSERSLIST_DANGEROUS_EXTEND` environment variable. + +```sh +BROWSERSLIST_DANGEROUS_EXTEND=1 npx webpack +``` + +Because this uses `npm`'s resolution, you can also reference specific files +in a package: + +```json + "browserslist": [ + "extends browserslist-config-mycompany/desktop", + "extends browserslist-config-mycompany/mobile" + ] +``` + +When writing a shared Browserslist package, just export an array. +`browserslist-config-mycompany/index.js`: + +```js +module.exports = [ + 'last 1 version', + '> 1%', + 'ie 10' +] +``` + +You can also include a `browserslist-stats.json` file as part of your shareable +config at the root and query it using +`> 5% in browserslist-config-mycompany stats`. It uses the same format +as `extends` and the `dangerousExtend` property as above. + +You can export configs for different environments and select environment +by `BROWSERSLIST_ENV` or `env` option in your tool: + +```js +module.exports = { + development: [ + 'last 1 version' + ], + production: [ + 'last 1 version', + '> 1%', + 'ie 10' + ] +} +``` + + +## Configuring for Different Environments + +You can also specify different browser queries for various environments. +Browserslist will choose query according to `BROWSERSLIST_ENV` or `NODE_ENV` +variables. If none of them is declared, Browserslist will firstly look +for `production` queries and then use defaults. + +In `package.json`: + +```js + "browserslist": { + "production": [ + "> 1%", + "ie 10" + ], + "modern": [ + "last 1 chrome version", + "last 1 firefox version" + ], + "ssr": [ + "node 12" + ] + } +``` + +In `.browserslistrc` config: + +```ini +[production] +> 1% +ie 10 + +[modern] +last 1 chrome version +last 1 firefox version + +[ssr] +node 12 +``` + + +## Custom Usage Data + +If you have a website, you can query against the usage statistics of your site. +[`browserslist-ga`] will ask access to Google Analytics and then generate +`browserslist-stats.json`: + +``` +npx browserslist-ga +``` + +Or you can use [`browserslist-ga-export`] to convert Google Analytics data without giving a password for Google account. + +You can generate usage statistics file by any other method. File format should +be like: + +```js +{ + "ie": { + "6": 0.01, + "7": 0.4, + "8": 1.5 + }, + "chrome": { + … + }, + … +} +``` + +Note that you can query against your custom usage data while also querying +against global or regional data. For example, the query +`> 1% in my stats, > 5% in US, 10%` is permitted. + +[`browserslist-ga-export`]: https://github.com/browserslist/browserslist-ga-export +[`browserslist-ga`]: https://github.com/browserslist/browserslist-ga +[Can I Use]: https://caniuse.com/ + + +## JS API + +```js +const browserslist = require('browserslist') + +// Your CSS/JS build tool code +function process (source, opts) { + const browsers = browserslist(opts.overrideBrowserslist, { + stats: opts.stats, + path: opts.file, + env: opts.env + }) + // Your code to add features for selected browsers +} +``` + +Queries can be a string `"> 1%, IE 10"` +or an array `['> 1%', 'IE 10']`. + +If a query is missing, Browserslist will look for a config file. +You can provide a `path` option (that can be a file) to find the config file +relatively to it. + +Options: + +* `path`: file or a directory path to look for config file. Default is `.`. +* `env`: what environment section use from config. Default is `production`. +* `stats`: custom usage statistics data. +* `config`: path to config if you want to set it manually. +* `ignoreUnknownVersions`: do not throw on direct query (like `ie 12`). + Default is `false`. +* `dangerousExtend`: Disable security checks for `extend` query. + Default is `false`. +* `mobileToDesktop`: Use desktop browsers if Can I Use doesn’t have data + about this mobile version. Can I Use has only data only about + latest versions of mobile browsers. By default, `last 2 and_ff versions` + returns `and_ff 90` and with this option it returns `and_ff 91, and_ff 90`. + This option may lead to unknown browser version error (in example Can I Use + doesn’t have data for `and_ff 91` yet). Default is `false`. + +For non-JS environment and debug purpose you can use CLI tool: + +```sh +browserslist "> 1%, IE 10" +``` + +You can get total users coverage for selected browsers by JS API: + +```js +browserslist.coverage(browserslist('> 1%')) +//=> 81.4 +``` + +```js +browserslist.coverage(browserslist('> 1% in US'), 'US') +//=> 83.1 +``` + +```js +browserslist.coverage(browserslist('> 1% in my stats'), 'my stats') +//=> 83.1 +``` + +```js +browserslist.coverage(browserslist('> 1% in my stats', { stats }), stats) +//=> 82.2 +``` + +Or by CLI: + +```sh +$ browserslist --coverage "> 1%" +These browsers account for 81.4% of all users globally +``` + +```sh +$ browserslist --coverage=US "> 1% in US" +These browsers account for 83.1% of all users in the US +``` + +```sh +$ browserslist --coverage "> 1% in my stats" +These browsers account for 83.1% of all users in custom statistics +``` + +```sh +$ browserslist --coverage "> 1% in my stats" --stats=./stats.json +These browsers account for 83.1% of all users in custom statistics +``` + + +## Environment Variables + +If a tool uses Browserslist inside, you can change the Browserslist settings +with [environment variables]: + +* `BROWSERSLIST` with browsers queries. + + ```sh + BROWSERSLIST="> 5%" npx webpack + ``` + +* `BROWSERSLIST_CONFIG` with path to config file. + + ```sh + BROWSERSLIST_CONFIG=./config/browserslist npx webpack + ``` + +* `BROWSERSLIST_ENV` with environments string. + + ```sh + BROWSERSLIST_ENV="development" npx webpack + ``` + +* `BROWSERSLIST_STATS` with path to the custom usage data + for `> 1% in my stats` query. + + ```sh + BROWSERSLIST_STATS=./config/usage_data.json npx webpack + ``` + +* `BROWSERSLIST_DISABLE_CACHE` if you want to disable config reading cache. + + ```sh + BROWSERSLIST_DISABLE_CACHE=1 npx webpack + ``` + +* `BROWSERSLIST_DANGEROUS_EXTEND` to disable security shareable config + name check. + + ```sh + BROWSERSLIST_DANGEROUS_EXTEND=1 npx webpack + ``` + +[environment variables]: https://en.wikipedia.org/wiki/Environment_variable + + +## Cache + +Browserslist caches the configuration it reads from `package.json` and +`browserslist` files, as well as knowledge about the existence of files, +for the duration of the hosting process. + +To clear these caches, use: + +```js +browserslist.clearCaches() +``` + +To disable the caching altogether, set the `BROWSERSLIST_DISABLE_CACHE` +environment variable. + + +## Security Contact + +To report a security vulnerability, please use the [Tidelift security contact]. +Tidelift will coordinate the fix and disclosure. + +[Tidelift security contact]: https://tidelift.com/security + + +## For Enterprise + +Available as part of the Tidelift Subscription. + +The maintainers of `browserslist` and thousands of other packages are working +with Tidelift to deliver commercial support and maintenance for the open source +dependencies you use to build your applications. Save time, reduce risk, +and improve code health, while paying the maintainers of the exact dependencies +you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-browserslist?utm_source=npm-browserslist&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) diff --git a/node_modules/browserslist/browser.js b/node_modules/browserslist/browser.js new file mode 100644 index 00000000..39e9ec34 --- /dev/null +++ b/node_modules/browserslist/browser.js @@ -0,0 +1,46 @@ +var BrowserslistError = require('./error') + +function noop () { } + +module.exports = { + loadQueries: function loadQueries () { + throw new BrowserslistError( + 'Sharable configs are not supported in client-side build of Browserslist') + }, + + getStat: function getStat (opts) { + return opts.stats + }, + + loadConfig: function loadConfig (opts) { + if (opts.config) { + throw new BrowserslistError( + 'Browserslist config are not supported in client-side build') + } + }, + + loadCountry: function loadCountry () { + throw new BrowserslistError( + 'Country statistics are not supported ' + + 'in client-side build of Browserslist') + }, + + loadFeature: function loadFeature () { + throw new BrowserslistError( + 'Supports queries are not available in client-side build of Browserslist') + }, + + currentNode: function currentNode (resolve, context) { + return resolve(['maintained node versions'], context)[0] + }, + + parseConfig: noop, + + readConfig: noop, + + findConfig: noop, + + clearCaches: noop, + + oldDataWarning: noop +} diff --git a/node_modules/browserslist/cli.js b/node_modules/browserslist/cli.js new file mode 100755 index 00000000..526885fd --- /dev/null +++ b/node_modules/browserslist/cli.js @@ -0,0 +1,145 @@ +#!/usr/bin/env node + +var fs = require('fs') + +var browserslist = require('./') +var updateDb = require('./update-db') +var pkg = require('./package.json') + +var args = process.argv.slice(2) + +var USAGE = 'Usage:\n' + + ' npx browserslist\n' + + ' npx browserslist "QUERIES"\n' + + ' npx browserslist --json "QUERIES"\n' + + ' npx browserslist --config="path/to/browserlist/file"\n' + + ' npx browserslist --coverage "QUERIES"\n' + + ' npx browserslist --coverage=US "QUERIES"\n' + + ' npx browserslist --coverage=US,RU,global "QUERIES"\n' + + ' npx browserslist --env="environment name defined in config"\n' + + ' npx browserslist --stats="path/to/browserlist/stats/file"\n' + + ' npx browserslist --mobile-to-desktop\n' + + ' npx browserslist --update-db' + +function isArg (arg) { + return args.some(function (str) { + return str === arg || str.indexOf(arg + '=') === 0 + }) +} + +function error (msg) { + process.stderr.write('browserslist: ' + msg + '\n') + process.exit(1) +} + +if (isArg('--help') || isArg('-h')) { + process.stdout.write(pkg.description + '.\n\n' + USAGE + '\n') +} else if (isArg('--version') || isArg('-v')) { + process.stdout.write('browserslist ' + pkg.version + '\n') +} else if (isArg('--update-db')) { + updateDb(function (str) { + process.stdout.write(str) + }) +} else { + var mode = 'browsers' + var opts = { } + var queries + var areas + + for (var i = 0; i < args.length; i++) { + if (args[i][0] !== '-') { + queries = args[i].replace(/^["']|["']$/g, '') + continue + } + + var arg = args[i].split('=') + var name = arg[0] + var value = arg[1] + + if (value) value = value.replace(/^["']|["']$/g, '') + + if (name === '--config' || name === '-b') { + opts.config = value + } else if (name === '--env' || name === '-e') { + opts.env = value + } else if (name === '--stats' || name === '-s') { + opts.stats = value + } else if (name === '--coverage' || name === '-c') { + if (mode !== 'json') mode = 'coverage' + if (value) { + areas = value.split(',') + } else { + areas = ['global'] + } + } else if (name === '--json') { + mode = 'json' + } else if (name === '--mobile-to-desktop') { + opts.mobileToDesktop = true + } else { + error('Unknown arguments ' + args[i] + '.\n\n' + USAGE) + } + } + + var browsers + try { + browsers = browserslist(queries, opts) + } catch (e) { + if (e.name === 'BrowserslistError') { + error(e.message) + } else { + throw e + } + } + + var coverage + if (mode === 'browsers') { + browsers.forEach(function (browser) { + process.stdout.write(browser + '\n') + }) + } else if (areas) { + coverage = areas.map(function (area) { + var stats + if (area !== 'global') { + stats = area + } else if (opts.stats) { + stats = JSON.parse(fs.readFileSync(opts.stats)) + } + var result = browserslist.coverage(browsers, stats) + var round = Math.round(result * 100) / 100.0 + + return [area, round] + }) + + if (mode === 'coverage') { + var prefix = 'These browsers account for ' + process.stdout.write(prefix) + coverage.forEach(function (data, index) { + var area = data[0] + var round = data[1] + var end = 'globally' + if (area && area !== 'global') { + end = 'in the ' + area.toUpperCase() + } else if (opts.stats) { + end = 'in custom statistics' + } + + if (index !== 0) { + process.stdout.write(prefix.replace(/./g, ' ')) + } + + process.stdout.write(round + '% of all users ' + end + '\n') + }) + } + } + + if (mode === 'json') { + var data = { browsers: browsers } + if (coverage) { + data.coverage = coverage.reduce(function (object, j) { + object[j[0]] = j[1] + return object + }, { }) + } + process.stdout.write(JSON.stringify(data, null, ' ') + '\n') + } +} diff --git a/node_modules/browserslist/error.d.ts b/node_modules/browserslist/error.d.ts new file mode 100644 index 00000000..91329ca6 --- /dev/null +++ b/node_modules/browserslist/error.d.ts @@ -0,0 +1,7 @@ +declare class BrowserslistError extends Error { + constructor(message: any); + name: 'BrowserslistError'; + browserslist: true; +} + +export = BrowserslistError; diff --git a/node_modules/browserslist/error.js b/node_modules/browserslist/error.js new file mode 100644 index 00000000..b3bc0fe9 --- /dev/null +++ b/node_modules/browserslist/error.js @@ -0,0 +1,12 @@ +function BrowserslistError (message) { + this.name = 'BrowserslistError' + this.message = message + this.browserslist = true + if (Error.captureStackTrace) { + Error.captureStackTrace(this, BrowserslistError) + } +} + +BrowserslistError.prototype = Error.prototype + +module.exports = BrowserslistError diff --git a/node_modules/browserslist/index.d.ts b/node_modules/browserslist/index.d.ts new file mode 100644 index 00000000..bd48cf3d --- /dev/null +++ b/node_modules/browserslist/index.d.ts @@ -0,0 +1,172 @@ +/** + * Return array of browsers by selection queries. + * + * ```js + * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] + * ``` + * + * @param queries Browser queries. + * @returns Array with browser names in Can I Use. + */ +declare function browserslist ( + queries?: string | readonly string[] | null, + opts?: browserslist.Options +): string[] + +declare namespace browserslist { + interface Options { + /** + * Path to processed file. It will be used to find config files. + */ + path?: string | false + /** + * Processing environment. It will be used to take right queries + * from config file. + */ + env?: string + /** + * Custom browser usage statistics for "> 1% in my stats" query. + */ + stats?: Stats | string + /** + * Path to config file with queries. + */ + config?: string + /** + * Do not throw on unknown version in direct query. + */ + ignoreUnknownVersions?: boolean + /** + * Disable security checks for extend query. + */ + dangerousExtend?: boolean + /** + * Alias mobile browsers to the desktop version when Can I Use + * doesn’t have data about the specified version. + */ + mobileToDesktop?: boolean + } + + type Config = { + defaults: string[] + [section: string]: string[] | undefined + } + + interface Stats { + [browser: string]: { + [version: string]: number + } + } + + /** + * Browser names aliases. + */ + let aliases: { + [alias: string]: string | undefined + } + + /** + * Aliases to work with joined versions like `ios_saf 7.0-7.1`. + */ + let versionAliases: { + [browser: string]: + | { + [version: string]: string | undefined + } + | undefined + } + + /** + * Can I Use only provides a few versions for some browsers (e.g. `and_chr`). + * + * Fallback to a similar browser for unknown versions. + */ + let desktopNames: { + [browser: string]: string | undefined + } + + let data: { + [browser: string]: + | { + name: string + versions: string[] + released: string[] + releaseDate: { + [version: string]: number | undefined | null + } + } + | undefined + } + + interface Usage { + [version: string]: number + } + + let usage: { + global?: Usage + custom?: Usage | null + [country: string]: Usage | undefined | null + } + + let cache: { + [feature: string]: { + [name: string]: 'y' | 'n' + } + } + + /** + * Default browsers query + */ + let defaults: readonly string[] + + /** + * Which statistics should be used. Country code or custom statistics. + * Pass `"my stats"` to load statistics from `Browserslist` files. + */ + type StatsOptions = string | 'my stats' | Stats | { dataByBrowser: Stats } + + /** + * Return browsers market coverage. + * + * ```js + * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 + * ``` + * + * @param browsers Browsers names in Can I Use. + * @param stats Which statistics should be used. + * @returns Total market coverage for all selected browsers. + */ + function coverage (browsers: readonly string[], stats?: StatsOptions): number + + function clearCaches (): void + + function parseConfig (string: string): Config + + function readConfig (file: string): Config + + function findConfig (...pathSegments: string[]): Config | undefined + + interface LoadConfigOptions { + config?: string + path?: string + env?: string + } + + function loadConfig (options: LoadConfigOptions): string[] | undefined +} + +declare global { + namespace NodeJS { + interface ProcessEnv { + BROWSERSLIST?: string + BROWSERSLIST_CONFIG?: string + BROWSERSLIST_DANGEROUS_EXTEND?: string + BROWSERSLIST_DISABLE_CACHE?: string + BROWSERSLIST_ENV?: string + BROWSERSLIST_IGNORE_OLD_DATA?: string + BROWSERSLIST_STATS?: string + } + } +} + +export = browserslist diff --git a/node_modules/browserslist/index.js b/node_modules/browserslist/index.js new file mode 100644 index 00000000..e1785be0 --- /dev/null +++ b/node_modules/browserslist/index.js @@ -0,0 +1,1215 @@ +var jsReleases = require('node-releases/data/processed/envs.json') +var agents = require('caniuse-lite/dist/unpacker/agents').agents +var jsEOL = require('node-releases/data/release-schedule/release-schedule.json') +var path = require('path') +var e2c = require('electron-to-chromium/versions') + +var BrowserslistError = require('./error') +var env = require('./node') // Will load browser.js in webpack + +var YEAR = 365.259641 * 24 * 60 * 60 * 1000 +var ANDROID_EVERGREEN_FIRST = 37 + +var QUERY_OR = 1 +var QUERY_AND = 2 + +function isVersionsMatch (versionA, versionB) { + return (versionA + '.').indexOf(versionB + '.') === 0 +} + +function isEolReleased (name) { + var version = name.slice(1) + return jsReleases.some(function (i) { + return isVersionsMatch(i.version, version) + }) +} + +function normalize (versions) { + return versions.filter(function (version) { + return typeof version === 'string' + }) +} + +function normalizeElectron (version) { + var versionToUse = version + if (version.split('.').length === 3) { + versionToUse = version + .split('.') + .slice(0, -1) + .join('.') + } + return versionToUse +} + +function nameMapper (name) { + return function mapName (version) { + return name + ' ' + version + } +} + +function getMajor (version) { + return parseInt(version.split('.')[0]) +} + +function getMajorVersions (released, number) { + if (released.length === 0) return [] + var majorVersions = uniq(released.map(getMajor)) + var minimum = majorVersions[majorVersions.length - number] + if (!minimum) { + return released + } + var selected = [] + for (var i = released.length - 1; i >= 0; i--) { + if (minimum > getMajor(released[i])) break + selected.unshift(released[i]) + } + return selected +} + +function uniq (array) { + var filtered = [] + for (var i = 0; i < array.length; i++) { + if (filtered.indexOf(array[i]) === -1) filtered.push(array[i]) + } + return filtered +} + +// Helpers + +function fillUsage (result, name, data) { + for (var i in data) { + result[name + ' ' + i] = data[i] + } +} + +function generateFilter (sign, version) { + version = parseFloat(version) + if (sign === '>') { + return function (v) { + return parseFloat(v) > version + } + } else if (sign === '>=') { + return function (v) { + return parseFloat(v) >= version + } + } else if (sign === '<') { + return function (v) { + return parseFloat(v) < version + } + } else { + return function (v) { + return parseFloat(v) <= version + } + } +} + +function generateSemverFilter (sign, version) { + version = version.split('.').map(parseSimpleInt) + version[1] = version[1] || 0 + version[2] = version[2] || 0 + if (sign === '>') { + return function (v) { + v = v.split('.').map(parseSimpleInt) + return compareSemver(v, version) > 0 + } + } else if (sign === '>=') { + return function (v) { + v = v.split('.').map(parseSimpleInt) + return compareSemver(v, version) >= 0 + } + } else if (sign === '<') { + return function (v) { + v = v.split('.').map(parseSimpleInt) + return compareSemver(version, v) > 0 + } + } else { + return function (v) { + v = v.split('.').map(parseSimpleInt) + return compareSemver(version, v) >= 0 + } + } +} + +function parseSimpleInt (x) { + return parseInt(x) +} + +function compare (a, b) { + if (a < b) return -1 + if (a > b) return +1 + return 0 +} + +function compareSemver (a, b) { + return ( + compare(parseInt(a[0]), parseInt(b[0])) || + compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) || + compare(parseInt(a[2] || '0'), parseInt(b[2] || '0')) + ) +} + +// this follows the npm-like semver behavior +function semverFilterLoose (operator, range) { + range = range.split('.').map(parseSimpleInt) + if (typeof range[1] === 'undefined') { + range[1] = 'x' + } + // ignore any patch version because we only return minor versions + // range[2] = 'x' + switch (operator) { + case '<=': + return function (version) { + version = version.split('.').map(parseSimpleInt) + return compareSemverLoose(version, range) <= 0 + } + default: + case '>=': + return function (version) { + version = version.split('.').map(parseSimpleInt) + return compareSemverLoose(version, range) >= 0 + } + } +} + +// this follows the npm-like semver behavior +function compareSemverLoose (version, range) { + if (version[0] !== range[0]) { + return version[0] < range[0] ? -1 : +1 + } + if (range[1] === 'x') { + return 0 + } + if (version[1] !== range[1]) { + return version[1] < range[1] ? -1 : +1 + } + return 0 +} + +function resolveVersion (data, version) { + if (data.versions.indexOf(version) !== -1) { + return version + } else if (browserslist.versionAliases[data.name][version]) { + return browserslist.versionAliases[data.name][version] + } else { + return false + } +} + +function normalizeVersion (data, version) { + var resolved = resolveVersion(data, version) + if (resolved) { + return resolved + } else if (data.versions.length === 1) { + return data.versions[0] + } else { + return false + } +} + +function filterByYear (since, context) { + since = since / 1000 + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context) + if (!data) return selected + var versions = Object.keys(data.releaseDate).filter(function (v) { + return data.releaseDate[v] >= since + }) + return selected.concat(versions.map(nameMapper(data.name))) + }, []) +} + +function cloneData (data) { + return { + name: data.name, + versions: data.versions, + released: data.released, + releaseDate: data.releaseDate + } +} + +function mapVersions (data, map) { + data.versions = data.versions.map(function (i) { + return map[i] || i + }) + data.released = data.versions.map(function (i) { + return map[i] || i + }) + var fixedDate = { } + for (var i in data.releaseDate) { + fixedDate[map[i] || i] = data.releaseDate[i] + } + data.releaseDate = fixedDate + return data +} + +function byName (name, context) { + name = name.toLowerCase() + name = browserslist.aliases[name] || name + if (context.mobileToDesktop && browserslist.desktopNames[name]) { + var desktop = browserslist.data[browserslist.desktopNames[name]] + if (name === 'android') { + return normalizeAndroidData(cloneData(browserslist.data[name]), desktop) + } else { + var cloned = cloneData(desktop) + cloned.name = name + if (name === 'op_mob') { + cloned = mapVersions(cloned, { '10.0-10.1': '10' }) + } + return cloned + } + } + return browserslist.data[name] +} + +function normalizeAndroidVersions (androidVersions, chromeVersions) { + var firstEvergreen = ANDROID_EVERGREEN_FIRST + var last = chromeVersions[chromeVersions.length - 1] + return androidVersions + .filter(function (version) { return /^(?:[2-4]\.|[34]$)/.test(version) }) + .concat(chromeVersions.slice(firstEvergreen - last - 1)) +} + +function normalizeAndroidData (android, chrome) { + android.released = normalizeAndroidVersions(android.released, chrome.released) + android.versions = normalizeAndroidVersions(android.versions, chrome.versions) + return android +} + +function checkName (name, context) { + var data = byName(name, context) + if (!data) throw new BrowserslistError('Unknown browser ' + name) + return data +} + +function unknownQuery (query) { + return new BrowserslistError( + 'Unknown browser query `' + query + '`. ' + + 'Maybe you are using old Browserslist or made typo in query.' + ) +} + +function filterAndroid (list, versions, context) { + if (context.mobileToDesktop) return list + var released = browserslist.data.android.released + var last = released[released.length - 1] + var diff = last - ANDROID_EVERGREEN_FIRST - versions + if (diff > 0) { + return list.slice(-1) + } else { + return list.slice(diff - 1) + } +} + +/** + * Resolves queries into a browser list. + * @param {string|string[]} queries Queries to combine. + * Either an array of queries or a long string of queries. + * @param {object} [context] Optional arguments to + * the select function in `queries`. + * @returns {string[]} A list of browsers + */ +function resolve (queries, context) { + if (Array.isArray(queries)) { + queries = flatten(queries.map(parse)) + } else { + queries = parse(queries) + } + + return queries.reduce(function (result, query, index) { + var selection = query.queryString + + var isExclude = selection.indexOf('not ') === 0 + if (isExclude) { + if (index === 0) { + throw new BrowserslistError( + 'Write any browsers query (for instance, `defaults`) ' + + 'before `' + selection + '`') + } + selection = selection.slice(4) + } + + for (var i = 0; i < QUERIES.length; i++) { + var type = QUERIES[i] + var match = selection.match(type.regexp) + if (match) { + var args = [context].concat(match.slice(1)) + var array = type.select.apply(browserslist, args).map(function (j) { + var parts = j.split(' ') + if (parts[1] === '0') { + return parts[0] + ' ' + byName(parts[0], context).versions[0] + } else { + return j + } + }) + + switch (query.type) { + case QUERY_AND: + if (isExclude) { + return result.filter(function (j) { + return array.indexOf(j) === -1 + }) + } else { + return result.filter(function (j) { + return array.indexOf(j) !== -1 + }) + } + case QUERY_OR: + default: + if (isExclude) { + var filter = { } + array.forEach(function (j) { + filter[j] = true + }) + return result.filter(function (j) { + return !filter[j] + }) + } + return result.concat(array) + } + } + } + + throw unknownQuery(selection) + }, []) +} + +var cache = { } + +/** + * Return array of browsers by selection queries. + * + * @param {(string|string[])} [queries=browserslist.defaults] Browser queries. + * @param {object} [opts] Options. + * @param {string} [opts.path="."] Path to processed file. + * It will be used to find config files. + * @param {string} [opts.env="production"] Processing environment. + * It will be used to take right + * queries from config file. + * @param {string} [opts.config] Path to config file with queries. + * @param {object} [opts.stats] Custom browser usage statistics + * for "> 1% in my stats" query. + * @param {boolean} [opts.ignoreUnknownVersions=false] Do not throw on unknown + * version in direct query. + * @param {boolean} [opts.dangerousExtend] Disable security checks + * for extend query. + * @param {boolean} [opts.mobileToDesktop] Alias mobile browsers to the desktop + * version when Can I Use doesn't have + * data about the specified version. + * @returns {string[]} Array with browser names in Can I Use. + * + * @example + * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] + */ +function browserslist (queries, opts) { + if (typeof opts === 'undefined') opts = { } + + if (typeof opts.path === 'undefined') { + opts.path = path.resolve ? path.resolve('.') : '.' + } + + if (typeof queries === 'undefined' || queries === null) { + var config = browserslist.loadConfig(opts) + if (config) { + queries = config + } else { + queries = browserslist.defaults + } + } + + if (!(typeof queries === 'string' || Array.isArray(queries))) { + throw new BrowserslistError( + 'Browser queries must be an array or string. Got ' + typeof queries + '.') + } + + var context = { + ignoreUnknownVersions: opts.ignoreUnknownVersions, + dangerousExtend: opts.dangerousExtend, + mobileToDesktop: opts.mobileToDesktop, + path: opts.path, + env: opts.env + } + + env.oldDataWarning(browserslist.data) + var stats = env.getStat(opts, browserslist.data) + if (stats) { + context.customUsage = { } + for (var browser in stats) { + fillUsage(context.customUsage, browser, stats[browser]) + } + } + + var cacheKey = JSON.stringify([queries, context]) + if (cache[cacheKey]) return cache[cacheKey] + + var result = uniq(resolve(queries, context)).sort(function (name1, name2) { + name1 = name1.split(' ') + name2 = name2.split(' ') + if (name1[0] === name2[0]) { + // assumptions on caniuse data + // 1) version ranges never overlaps + // 2) if version is not a range, it never contains `-` + var version1 = name1[1].split('-')[0] + var version2 = name2[1].split('-')[0] + return compareSemver(version2.split('.'), version1.split('.')) + } else { + return compare(name1[0], name2[0]) + } + }) + if (!process.env.BROWSERSLIST_DISABLE_CACHE) { + cache[cacheKey] = result + } + return result +} + +function parse (queries) { + var qs = [] + do { + queries = doMatch(queries, qs) + } while (queries) + return qs +} + +function doMatch (string, qs) { + var or = /^(?:,\s*|\s+or\s+)(.*)/i + var and = /^\s+and\s+(.*)/i + + return find(string, function (parsed, n, max) { + if (and.test(parsed)) { + qs.unshift({ type: QUERY_AND, queryString: parsed.match(and)[1] }) + return true + } else if (or.test(parsed)) { + qs.unshift({ type: QUERY_OR, queryString: parsed.match(or)[1] }) + return true + } else if (n === max) { + qs.unshift({ type: QUERY_OR, queryString: parsed.trim() }) + return true + } + return false + }) +} + +function find (string, predicate) { + for (var n = 1, max = string.length; n <= max; n++) { + var parsed = string.substr(-n, n) + if (predicate(parsed, n, max)) { + return string.slice(0, -n) + } + } + return '' +} + +function flatten (array) { + if (!Array.isArray(array)) return [array] + return array.reduce(function (a, b) { + return a.concat(flatten(b)) + }, []) +} + +// Will be filled by Can I Use data below +browserslist.cache = { } +browserslist.data = { } +browserslist.usage = { + global: { }, + custom: null +} + +// Default browsers query +browserslist.defaults = [ + '> 0.5%', + 'last 2 versions', + 'Firefox ESR', + 'not dead' +] + +// Browser names aliases +browserslist.aliases = { + fx: 'firefox', + ff: 'firefox', + ios: 'ios_saf', + explorer: 'ie', + blackberry: 'bb', + explorermobile: 'ie_mob', + operamini: 'op_mini', + operamobile: 'op_mob', + chromeandroid: 'and_chr', + firefoxandroid: 'and_ff', + ucandroid: 'and_uc', + qqandroid: 'and_qq' +} + +// Can I Use only provides a few versions for some browsers (e.g. and_chr). +// Fallback to a similar browser for unknown versions +browserslist.desktopNames = { + and_chr: 'chrome', + and_ff: 'firefox', + ie_mob: 'ie', + op_mob: 'opera', + android: 'chrome' // has extra processing logic +} + +// Aliases to work with joined versions like `ios_saf 7.0-7.1` +browserslist.versionAliases = { } + +browserslist.clearCaches = env.clearCaches +browserslist.parseConfig = env.parseConfig +browserslist.readConfig = env.readConfig +browserslist.findConfig = env.findConfig +browserslist.loadConfig = env.loadConfig + +/** + * Return browsers market coverage. + * + * @param {string[]} browsers Browsers names in Can I Use. + * @param {string|object} [stats="global"] Which statistics should be used. + * Country code or custom statistics. + * Pass `"my stats"` to load statistics + * from Browserslist files. + * + * @return {number} Total market coverage for all selected browsers. + * + * @example + * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 + */ +browserslist.coverage = function (browsers, stats) { + var data + if (typeof stats === 'undefined') { + data = browserslist.usage.global + } else if (stats === 'my stats') { + var opts = {} + opts.path = path.resolve ? path.resolve('.') : '.' + var customStats = env.getStat(opts) + if (!customStats) { + throw new BrowserslistError('Custom usage statistics was not provided') + } + data = {} + for (var browser in customStats) { + fillUsage(data, browser, customStats[browser]) + } + } else if (typeof stats === 'string') { + if (stats.length > 2) { + stats = stats.toLowerCase() + } else { + stats = stats.toUpperCase() + } + env.loadCountry(browserslist.usage, stats, browserslist.data) + data = browserslist.usage[stats] + } else { + if ('dataByBrowser' in stats) { + stats = stats.dataByBrowser + } + data = { } + for (var name in stats) { + for (var version in stats[name]) { + data[name + ' ' + version] = stats[name][version] + } + } + } + + return browsers.reduce(function (all, i) { + var usage = data[i] + if (usage === undefined) { + usage = data[i.replace(/ \S+$/, ' 0')] + } + return all + (usage || 0) + }, 0) +} + +function nodeQuery (context, version) { + var nodeReleases = jsReleases.filter(function (i) { + return i.name === 'nodejs' + }) + var matched = nodeReleases.filter(function (i) { + return isVersionsMatch(i.version, version) + }) + if (matched.length === 0) { + if (context.ignoreUnknownVersions) { + return [] + } else { + throw new BrowserslistError('Unknown version ' + version + ' of Node.js') + } + } + return ['node ' + matched[matched.length - 1].version] +} + +function sinceQuery (context, year, month, date) { + year = parseInt(year) + month = parseInt(month || '01') - 1 + date = parseInt(date || '01') + return filterByYear(Date.UTC(year, month, date, 0, 0, 0), context) +} + +function coverQuery (context, coverage, statMode) { + coverage = parseFloat(coverage) + var usage = browserslist.usage.global + if (statMode) { + if (statMode.match(/^my\s+stats$/)) { + if (!context.customUsage) { + throw new BrowserslistError( + 'Custom usage statistics was not provided' + ) + } + usage = context.customUsage + } else { + var place + if (statMode.length === 2) { + place = statMode.toUpperCase() + } else { + place = statMode.toLowerCase() + } + env.loadCountry(browserslist.usage, place, browserslist.data) + usage = browserslist.usage[place] + } + } + var versions = Object.keys(usage).sort(function (a, b) { + return usage[b] - usage[a] + }) + var coveraged = 0 + var result = [] + var version + for (var i = 0; i <= versions.length; i++) { + version = versions[i] + if (usage[version] === 0) break + coveraged += usage[version] + result.push(version) + if (coveraged >= coverage) break + } + return result +} + +var QUERIES = [ + { + regexp: /^last\s+(\d+)\s+major\s+versions?$/i, + select: function (context, versions) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context) + if (!data) return selected + var list = getMajorVersions(data.released, versions) + list = list.map(nameMapper(data.name)) + if (data.name === 'android') { + list = filterAndroid(list, versions, context) + } + return selected.concat(list) + }, []) + } + }, + { + regexp: /^last\s+(\d+)\s+versions?$/i, + select: function (context, versions) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context) + if (!data) return selected + var list = data.released.slice(-versions) + list = list.map(nameMapper(data.name)) + if (data.name === 'android') { + list = filterAndroid(list, versions, context) + } + return selected.concat(list) + }, []) + } + }, + { + regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i, + select: function (context, versions) { + var validVersions = getMajorVersions(Object.keys(e2c), versions) + return validVersions.map(function (i) { + return 'chrome ' + e2c[i] + }) + } + }, + { + regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i, + select: function (context, versions, name) { + var data = checkName(name, context) + var validVersions = getMajorVersions(data.released, versions) + var list = validVersions.map(nameMapper(data.name)) + if (data.name === 'android') { + list = filterAndroid(list, versions, context) + } + return list + } + }, + { + regexp: /^last\s+(\d+)\s+electron\s+versions?$/i, + select: function (context, versions) { + return Object.keys(e2c) + .slice(-versions) + .map(function (i) { + return 'chrome ' + e2c[i] + }) + } + }, + { + regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i, + select: function (context, versions, name) { + var data = checkName(name, context) + var list = data.released.slice(-versions).map(nameMapper(data.name)) + if (data.name === 'android') { + list = filterAndroid(list, versions, context) + } + return list + } + }, + { + regexp: /^unreleased\s+versions$/i, + select: function (context) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context) + if (!data) return selected + var list = data.versions.filter(function (v) { + return data.released.indexOf(v) === -1 + }) + list = list.map(nameMapper(data.name)) + return selected.concat(list) + }, []) + } + }, + { + regexp: /^unreleased\s+electron\s+versions?$/i, + select: function () { + return [] + } + }, + { + regexp: /^unreleased\s+(\w+)\s+versions?$/i, + select: function (context, name) { + var data = checkName(name, context) + return data.versions + .filter(function (v) { + return data.released.indexOf(v) === -1 + }) + .map(nameMapper(data.name)) + } + }, + { + regexp: /^last\s+(\d*.?\d+)\s+years?$/i, + select: function (context, years) { + return filterByYear(Date.now() - YEAR * years, context) + } + }, + { + regexp: /^since (\d+)$/i, + select: sinceQuery + }, + { + regexp: /^since (\d+)-(\d+)$/i, + select: sinceQuery + }, + { + regexp: /^since (\d+)-(\d+)-(\d+)$/i, + select: sinceQuery + }, + { + regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/, + select: function (context, sign, popularity) { + popularity = parseFloat(popularity) + var usage = browserslist.usage.global + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version) + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version) + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version) + } + } else if (usage[version] >= popularity) { + result.push(version) + } + return result + }, []) + } + }, + { + regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/, + select: function (context, sign, popularity) { + popularity = parseFloat(popularity) + if (!context.customUsage) { + throw new BrowserslistError('Custom usage statistics was not provided') + } + var usage = context.customUsage + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version) + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version) + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version) + } + } else if (usage[version] >= popularity) { + result.push(version) + } + return result + }, []) + } + }, + { + regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/, + select: function (context, sign, popularity, name) { + popularity = parseFloat(popularity) + var stats = env.loadStat(context, name, browserslist.data) + if (stats) { + context.customUsage = {} + for (var browser in stats) { + fillUsage(context.customUsage, browser, stats[browser]) + } + } + if (!context.customUsage) { + throw new BrowserslistError('Custom usage statistics was not provided') + } + var usage = context.customUsage + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version) + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version) + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version) + } + } else if (usage[version] >= popularity) { + result.push(version) + } + return result + }, []) + } + }, + { + regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/, + select: function (context, sign, popularity, place) { + popularity = parseFloat(popularity) + if (place.length === 2) { + place = place.toUpperCase() + } else { + place = place.toLowerCase() + } + env.loadCountry(browserslist.usage, place, browserslist.data) + var usage = browserslist.usage[place] + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version) + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version) + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version) + } + } else if (usage[version] >= popularity) { + result.push(version) + } + return result + }, []) + } + }, + { + regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/, + select: coverQuery + }, + { + regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/, + select: coverQuery + }, + { + regexp: /^supports\s+([\w-]+)$/, + select: function (context, feature) { + env.loadFeature(browserslist.cache, feature) + var features = browserslist.cache[feature] + return Object.keys(features).reduce(function (result, version) { + var flags = features[version] + if (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) { + result.push(version) + } + return result + }, []) + } + }, + { + regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function (context, from, to) { + var fromToUse = normalizeElectron(from) + var toToUse = normalizeElectron(to) + if (!e2c[fromToUse]) { + throw new BrowserslistError('Unknown version ' + from + ' of electron') + } + if (!e2c[toToUse]) { + throw new BrowserslistError('Unknown version ' + to + ' of electron') + } + from = parseFloat(from) + to = parseFloat(to) + return Object.keys(e2c) + .filter(function (i) { + var parsed = parseFloat(i) + return parsed >= from && parsed <= to + }) + .map(function (i) { + return 'chrome ' + e2c[i] + }) + } + }, + { + regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function (context, from, to) { + var nodeVersions = jsReleases + .filter(function (i) { + return i.name === 'nodejs' + }) + .map(function (i) { + return i.version + }) + return nodeVersions + .filter(semverFilterLoose('>=', from)) + .filter(semverFilterLoose('<=', to)) + .map(function (v) { + return 'node ' + v + }) + } + }, + { + regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function (context, name, from, to) { + var data = checkName(name, context) + from = parseFloat(normalizeVersion(data, from) || from) + to = parseFloat(normalizeVersion(data, to) || to) + function filter (v) { + var parsed = parseFloat(v) + return parsed >= from && parsed <= to + } + return data.released.filter(filter).map(nameMapper(data.name)) + } + }, + { + regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i, + select: function (context, sign, version) { + var versionToUse = normalizeElectron(version) + return Object.keys(e2c) + .filter(generateFilter(sign, versionToUse)) + .map(function (i) { + return 'chrome ' + e2c[i] + }) + } + }, + { + regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i, + select: function (context, sign, version) { + var nodeVersions = jsReleases + .filter(function (i) { + return i.name === 'nodejs' + }) + .map(function (i) { + return i.version + }) + return nodeVersions + .filter(generateSemverFilter(sign, version)) + .map(function (v) { + return 'node ' + v + }) + } + }, + { + regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/, + select: function (context, name, sign, version) { + var data = checkName(name, context) + var alias = browserslist.versionAliases[data.name][version] + if (alias) { + version = alias + } + return data.released + .filter(generateFilter(sign, version)) + .map(function (v) { + return data.name + ' ' + v + }) + } + }, + { + regexp: /^(firefox|ff|fx)\s+esr$/i, + select: function () { + return ['firefox 78', 'firefox 91'] + } + }, + { + regexp: /(operamini|op_mini)\s+all/i, + select: function () { + return ['op_mini all'] + } + }, + { + regexp: /^electron\s+([\d.]+)$/i, + select: function (context, version) { + var versionToUse = normalizeElectron(version) + var chrome = e2c[versionToUse] + if (!chrome) { + throw new BrowserslistError( + 'Unknown version ' + version + ' of electron' + ) + } + return ['chrome ' + chrome] + } + }, + { + regexp: /^node\s+(\d+)$/i, + select: nodeQuery + }, + { + regexp: /^node\s+(\d+\.\d+)$/i, + select: nodeQuery + }, + { + regexp: /^node\s+(\d+\.\d+\.\d+)$/i, + select: nodeQuery + }, + { + regexp: /^current\s+node$/i, + select: function (context) { + return [env.currentNode(resolve, context)] + } + }, + { + regexp: /^maintained\s+node\s+versions$/i, + select: function (context) { + var now = Date.now() + var queries = Object.keys(jsEOL) + .filter(function (key) { + return ( + now < Date.parse(jsEOL[key].end) && + now > Date.parse(jsEOL[key].start) && + isEolReleased(key) + ) + }) + .map(function (key) { + return 'node ' + key.slice(1) + }) + return resolve(queries, context) + } + }, + { + regexp: /^phantomjs\s+1.9$/i, + select: function () { + return ['safari 5'] + } + }, + { + regexp: /^phantomjs\s+2.1$/i, + select: function () { + return ['safari 6'] + } + }, + { + regexp: /^(\w+)\s+(tp|[\d.]+)$/i, + select: function (context, name, version) { + if (/^tp$/i.test(version)) version = 'TP' + var data = checkName(name, context) + var alias = normalizeVersion(data, version) + if (alias) { + version = alias + } else { + if (version.indexOf('.') === -1) { + alias = version + '.0' + } else { + alias = version.replace(/\.0$/, '') + } + alias = normalizeVersion(data, alias) + if (alias) { + version = alias + } else if (context.ignoreUnknownVersions) { + return [] + } else { + throw new BrowserslistError( + 'Unknown version ' + version + ' of ' + name + ) + } + } + return [data.name + ' ' + version] + } + }, + { + regexp: /^browserslist config$/i, + select: function (context) { + return browserslist(undefined, context) + } + }, + { + regexp: /^extends (.+)$/i, + select: function (context, name) { + return resolve(env.loadQueries(context, name), context) + } + }, + { + regexp: /^defaults$/i, + select: function (context) { + return resolve(browserslist.defaults, context) + } + }, + { + regexp: /^dead$/i, + select: function (context) { + var dead = [ + 'ie <= 10', + 'ie_mob <= 11', + 'bb <= 10', + 'op_mob <= 12.1', + 'samsung 4' + ] + return resolve(dead, context) + } + }, + { + regexp: /^(\w+)$/i, + select: function (context, name) { + if (byName(name, context)) { + throw new BrowserslistError( + 'Specify versions in Browserslist query for browser ' + name + ) + } else { + throw unknownQuery(name) + } + } + } +]; + +// Get and convert Can I Use data + +(function () { + for (var name in agents) { + var browser = agents[name] + browserslist.data[name] = { + name: name, + versions: normalize(agents[name].versions), + released: normalize(agents[name].versions.slice(0, -3)), + releaseDate: agents[name].release_date + } + fillUsage(browserslist.usage.global, name, browser.usage_global) + + browserslist.versionAliases[name] = { } + for (var i = 0; i < browser.versions.length; i++) { + var full = browser.versions[i] + if (!full) continue + + if (full.indexOf('-') !== -1) { + var interval = full.split('-') + for (var j = 0; j < interval.length; j++) { + browserslist.versionAliases[name][interval[j]] = full + } + } + } + } + + browserslist.versionAliases.op_mob['59'] = '58' +}()) + +module.exports = browserslist diff --git a/node_modules/browserslist/node.js b/node_modules/browserslist/node.js new file mode 100644 index 00000000..e6bdf79d --- /dev/null +++ b/node_modules/browserslist/node.js @@ -0,0 +1,388 @@ +var feature = require('caniuse-lite/dist/unpacker/feature').default +var region = require('caniuse-lite/dist/unpacker/region').default +var path = require('path') +var fs = require('fs') + +var BrowserslistError = require('./error') + +var IS_SECTION = /^\s*\[(.+)]\s*$/ +var CONFIG_PATTERN = /^browserslist-config-/ +var SCOPED_CONFIG__PATTERN = /@[^/]+\/browserslist-config(-|$|\/)/ +var TIME_TO_UPDATE_CANIUSE = 6 * 30 * 24 * 60 * 60 * 1000 +var FORMAT = 'Browserslist config should be a string or an array ' + + 'of strings with browser queries' + +var dataTimeChecked = false +var filenessCache = { } +var configCache = { } +function checkExtend (name) { + var use = ' Use `dangerousExtend` option to disable.' + if (!CONFIG_PATTERN.test(name) && !SCOPED_CONFIG__PATTERN.test(name)) { + throw new BrowserslistError( + 'Browserslist config needs `browserslist-config-` prefix. ' + use) + } + if (name.replace(/^@[^/]+\//, '').indexOf('.') !== -1) { + throw new BrowserslistError( + '`.` not allowed in Browserslist config name. ' + use) + } + if (name.indexOf('node_modules') !== -1) { + throw new BrowserslistError( + '`node_modules` not allowed in Browserslist config.' + use) + } +} + +function isFile (file) { + if (file in filenessCache) { + return filenessCache[file] + } + var result = fs.existsSync(file) && fs.statSync(file).isFile() + if (!process.env.BROWSERSLIST_DISABLE_CACHE) { + filenessCache[file] = result + } + return result +} + +function eachParent (file, callback) { + var dir = isFile(file) ? path.dirname(file) : file + var loc = path.resolve(dir) + do { + var result = callback(loc) + if (typeof result !== 'undefined') return result + } while (loc !== (loc = path.dirname(loc))) + return undefined +} + +function check (section) { + if (Array.isArray(section)) { + for (var i = 0; i < section.length; i++) { + if (typeof section[i] !== 'string') { + throw new BrowserslistError(FORMAT) + } + } + } else if (typeof section !== 'string') { + throw new BrowserslistError(FORMAT) + } +} + +function pickEnv (config, opts) { + if (typeof config !== 'object') return config + + var name + if (typeof opts.env === 'string') { + name = opts.env + } else if (process.env.BROWSERSLIST_ENV) { + name = process.env.BROWSERSLIST_ENV + } else if (process.env.NODE_ENV) { + name = process.env.NODE_ENV + } else { + name = 'production' + } + + return config[name] || config.defaults +} + +function parsePackage (file) { + var config = JSON.parse(fs.readFileSync(file)) + if (config.browserlist && !config.browserslist) { + throw new BrowserslistError( + '`browserlist` key instead of `browserslist` in ' + file + ) + } + var list = config.browserslist + if (Array.isArray(list) || typeof list === 'string') { + list = { defaults: list } + } + for (var i in list) { + check(list[i]) + } + + return list +} + +function latestReleaseTime (agents) { + var latest = 0 + for (var name in agents) { + var dates = agents[name].releaseDate || { } + for (var key in dates) { + if (latest < dates[key]) { + latest = dates[key] + } + } + } + return latest * 1000 +} + +function normalizeStats (data, stats) { + if (!data) { + data = {} + } + if (stats && 'dataByBrowser' in stats) { + stats = stats.dataByBrowser + } + + if (typeof stats !== 'object') return undefined + + var normalized = { } + for (var i in stats) { + var versions = Object.keys(stats[i]) + if ( + versions.length === 1 && + data[i] && + data[i].versions.length === 1 + ) { + var normal = data[i].versions[0] + normalized[i] = { } + normalized[i][normal] = stats[i][versions[0]] + } else { + normalized[i] = stats[i] + } + } + + return normalized +} + +function normalizeUsageData (usageData, data) { + for (var browser in usageData) { + var browserUsage = usageData[browser] + // eslint-disable-next-line max-len + // https://github.com/browserslist/browserslist/issues/431#issuecomment-565230615 + // caniuse-db returns { 0: "percentage" } for `and_*` regional stats + if ('0' in browserUsage) { + var versions = data[browser].versions + browserUsage[versions[versions.length - 1]] = browserUsage[0] + delete browserUsage[0] + } + } +} + +module.exports = { + loadQueries: function loadQueries (ctx, name) { + if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) { + checkExtend(name) + } + // eslint-disable-next-line security/detect-non-literal-require + var queries = require(require.resolve(name, { paths: ['.'] })) + if (queries) { + if (Array.isArray(queries)) { + return queries + } else if (typeof queries === 'object') { + if (!queries.defaults) queries.defaults = [] + return pickEnv(queries, ctx, name) + } + } + throw new BrowserslistError( + '`' + name + '` config exports not an array of queries' + + ' or an object of envs' + ) + }, + + loadStat: function loadStat (ctx, name, data) { + if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) { + checkExtend(name) + } + // eslint-disable-next-line security/detect-non-literal-require + var stats = require( + require.resolve( + path.join(name, 'browserslist-stats.json'), + { paths: ['.'] } + ) + ) + return normalizeStats(data, stats) + }, + + getStat: function getStat (opts, data) { + var stats + if (opts.stats) { + stats = opts.stats + } else if (process.env.BROWSERSLIST_STATS) { + stats = process.env.BROWSERSLIST_STATS + } else if (opts.path && path.resolve && fs.existsSync) { + stats = eachParent(opts.path, function (dir) { + var file = path.join(dir, 'browserslist-stats.json') + return isFile(file) ? file : undefined + }) + } + if (typeof stats === 'string') { + try { + stats = JSON.parse(fs.readFileSync(stats)) + } catch (e) { + throw new BrowserslistError('Can\'t read ' + stats) + } + } + return normalizeStats(data, stats) + }, + + loadConfig: function loadConfig (opts) { + if (process.env.BROWSERSLIST) { + return process.env.BROWSERSLIST + } else if (opts.config || process.env.BROWSERSLIST_CONFIG) { + var file = opts.config || process.env.BROWSERSLIST_CONFIG + if (path.basename(file) === 'package.json') { + return pickEnv(parsePackage(file), opts) + } else { + return pickEnv(module.exports.readConfig(file), opts) + } + } else if (opts.path) { + return pickEnv(module.exports.findConfig(opts.path), opts) + } else { + return undefined + } + }, + + loadCountry: function loadCountry (usage, country, data) { + var code = country.replace(/[^\w-]/g, '') + if (!usage[code]) { + // eslint-disable-next-line security/detect-non-literal-require + var compressed = require('caniuse-lite/data/regions/' + code + '.js') + var usageData = region(compressed) + normalizeUsageData(usageData, data) + usage[country] = { } + for (var i in usageData) { + for (var j in usageData[i]) { + usage[country][i + ' ' + j] = usageData[i][j] + } + } + } + }, + + loadFeature: function loadFeature (features, name) { + name = name.replace(/[^\w-]/g, '') + if (features[name]) return + + // eslint-disable-next-line security/detect-non-literal-require + var compressed = require('caniuse-lite/data/features/' + name + '.js') + var stats = feature(compressed).stats + features[name] = { } + for (var i in stats) { + for (var j in stats[i]) { + features[name][i + ' ' + j] = stats[i][j] + } + } + }, + + parseConfig: function parseConfig (string) { + var result = { defaults: [] } + var sections = ['defaults'] + + string.toString() + .replace(/#[^\n]*/g, '') + .split(/\n|,/) + .map(function (line) { + return line.trim() + }) + .filter(function (line) { + return line !== '' + }) + .forEach(function (line) { + if (IS_SECTION.test(line)) { + sections = line.match(IS_SECTION)[1].trim().split(' ') + sections.forEach(function (section) { + if (result[section]) { + throw new BrowserslistError( + 'Duplicate section ' + section + ' in Browserslist config' + ) + } + result[section] = [] + }) + } else { + sections.forEach(function (section) { + result[section].push(line) + }) + } + }) + + return result + }, + + readConfig: function readConfig (file) { + if (!isFile(file)) { + throw new BrowserslistError('Can\'t read ' + file + ' config') + } + return module.exports.parseConfig(fs.readFileSync(file)) + }, + + findConfig: function findConfig (from) { + from = path.resolve(from) + + var passed = [] + var resolved = eachParent(from, function (dir) { + if (dir in configCache) { + return configCache[dir] + } + + passed.push(dir) + + var config = path.join(dir, 'browserslist') + var pkg = path.join(dir, 'package.json') + var rc = path.join(dir, '.browserslistrc') + + var pkgBrowserslist + if (isFile(pkg)) { + try { + pkgBrowserslist = parsePackage(pkg) + } catch (e) { + if (e.name === 'BrowserslistError') throw e + console.warn( + '[Browserslist] Could not parse ' + pkg + '. Ignoring it.' + ) + } + } + + if (isFile(config) && pkgBrowserslist) { + throw new BrowserslistError( + dir + ' contains both browserslist and package.json with browsers' + ) + } else if (isFile(rc) && pkgBrowserslist) { + throw new BrowserslistError( + dir + ' contains both .browserslistrc and package.json with browsers' + ) + } else if (isFile(config) && isFile(rc)) { + throw new BrowserslistError( + dir + ' contains both .browserslistrc and browserslist' + ) + } else if (isFile(config)) { + return module.exports.readConfig(config) + } else if (isFile(rc)) { + return module.exports.readConfig(rc) + } else { + return pkgBrowserslist + } + }) + if (!process.env.BROWSERSLIST_DISABLE_CACHE) { + passed.forEach(function (dir) { + configCache[dir] = resolved + }) + } + return resolved + }, + + clearCaches: function clearCaches () { + dataTimeChecked = false + filenessCache = { } + configCache = { } + + this.cache = { } + }, + + oldDataWarning: function oldDataWarning (agentsObj) { + if (dataTimeChecked) return + dataTimeChecked = true + if (process.env.BROWSERSLIST_IGNORE_OLD_DATA) return + + var latest = latestReleaseTime(agentsObj) + var halfYearAgo = Date.now() - TIME_TO_UPDATE_CANIUSE + + if (latest !== 0 && latest < halfYearAgo) { + console.warn( + 'Browserslist: caniuse-lite is outdated. Please run:\n' + + ' npx browserslist@latest --update-db\n' + + ' Why you should do it regularly: ' + + 'https://github.com/browserslist/browserslist#browsers-data-updating' + ) + } + }, + + currentNode: function currentNode () { + return 'node ' + process.versions.node + } +} diff --git a/node_modules/browserslist/package.json b/node_modules/browserslist/package.json new file mode 100644 index 00000000..42265eb3 --- /dev/null +++ b/node_modules/browserslist/package.json @@ -0,0 +1,35 @@ +{ + "name": "browserslist", + "version": "4.17.1", + "description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset", + "keywords": [ + "caniuse", + "browsers", + "target" + ], + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + "author": "Andrey Sitnik ", + "license": "MIT", + "repository": "browserslist/browserslist", + "dependencies": { + "caniuse-lite": "^1.0.30001259", + "electron-to-chromium": "^1.3.846", + "escalade": "^3.1.1", + "nanocolors": "^0.1.5", + "node-releases": "^1.1.76" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "bin": { + "browserslist": "cli.js" + }, + "types": "./index.d.ts", + "browser": { + "./node.js": "./browser.js", + "path": false + } +} diff --git a/node_modules/browserslist/update-db.js b/node_modules/browserslist/update-db.js new file mode 100644 index 00000000..86bc134e --- /dev/null +++ b/node_modules/browserslist/update-db.js @@ -0,0 +1,331 @@ +var childProcess = require('child_process') +var nanocolors = require('nanocolors') +var escalade = require('escalade/sync') +var path = require('path') +var fs = require('fs') + +var BrowserslistError = require('./error') + +var red = nanocolors.red +var bold = nanocolors.bold +var green = nanocolors.green +var yellow = nanocolors.yellow + +function detectLockfile () { + var packageDir = escalade('.', function (dir, names) { + return names.indexOf('package.json') !== -1 ? dir : '' + }) + + if (!packageDir) { + throw new BrowserslistError( + 'Cannot find package.json. ' + + 'Is this the right directory to run `npx browserslist --update-db` in?' + ) + } + + var lockfileNpm = path.join(packageDir, 'package-lock.json') + var lockfileShrinkwrap = path.join(packageDir, 'npm-shrinkwrap.json') + var lockfileYarn = path.join(packageDir, 'yarn.lock') + var lockfilePnpm = path.join(packageDir, 'pnpm-lock.yaml') + + if (fs.existsSync(lockfilePnpm)) { + return { mode: 'pnpm', file: lockfilePnpm } + } else if (fs.existsSync(lockfileNpm)) { + return { mode: 'npm', file: lockfileNpm } + } else if (fs.existsSync(lockfileYarn)) { + var lock = { mode: 'yarn', file: lockfileYarn } + lock.content = fs.readFileSync(lock.file).toString() + lock.version = /# yarn lockfile v1/.test(lock.content) ? 1 : 2 + return lock + } else if (fs.existsSync(lockfileShrinkwrap)) { + return { mode: 'npm', file: lockfileShrinkwrap } + } + throw new BrowserslistError( + 'No lockfile found. Run "npm install", "yarn install" or "pnpm install"' + ) +} + +function getLatestInfo (lock) { + if (lock.mode === 'yarn') { + if (lock.version === 1) { + return JSON.parse( + childProcess.execSync('yarn info caniuse-lite --json').toString() + ).data + } else { + return JSON.parse( + childProcess.execSync('yarn npm info caniuse-lite --json').toString() + ) + } + } + return JSON.parse( + childProcess.execSync('npm show caniuse-lite --json').toString() + ) +} + +function getBrowsersList () { + return childProcess.execSync('npx browserslist').toString() + .trim() + .split('\n') + .map(function (line) { + return line.trim().split(' ') + }) + .reduce(function (result, entry) { + if (!result[entry[0]]) { + result[entry[0]] = [] + } + result[entry[0]].push(entry[1]) + return result + }, {}) +} + +function diffBrowsersLists (old, current) { + var browsers = Object.keys(old).concat( + Object.keys(current).filter(function (browser) { + return old[browser] === undefined + }) + ) + return browsers.map(function (browser) { + var oldVersions = old[browser] || [] + var currentVersions = current[browser] || [] + var intersection = oldVersions.filter(function (version) { + return currentVersions.indexOf(version) !== -1 + }) + var addedVersions = currentVersions.filter(function (version) { + return intersection.indexOf(version) === -1 + }) + var removedVersions = oldVersions.filter(function (version) { + return intersection.indexOf(version) === -1 + }) + return removedVersions.map(function (version) { + return red('- ' + browser + ' ' + version) + }).concat(addedVersions.map(function (version) { + return green('+ ' + browser + ' ' + version) + })) + }) + .reduce(function (result, array) { + return result.concat(array) + }, []) + .join('\n') +} + +function updateNpmLockfile (lock, latest) { + var metadata = { latest: latest, versions: [] } + var content = deletePackage(JSON.parse(lock.content), metadata) + metadata.content = JSON.stringify(content, null, ' ') + return metadata +} + +function deletePackage (node, metadata) { + if (node.dependencies) { + if (node.dependencies['caniuse-lite']) { + var version = node.dependencies['caniuse-lite'].version + metadata.versions[version] = true + delete node.dependencies['caniuse-lite'] + } + for (var i in node.dependencies) { + node.dependencies[i] = deletePackage(node.dependencies[i], metadata) + } + } + return node +} + +var yarnVersionRe = new RegExp('version "(.*?)"') + +function updateYarnLockfile (lock, latest) { + var blocks = lock.content.split(/(\n{2,})/).map(function (block) { + return block.split('\n') + }) + var versions = {} + blocks.forEach(function (lines) { + if (lines[0].indexOf('caniuse-lite@') !== -1) { + var match = yarnVersionRe.exec(lines[1]) + versions[match[1]] = true + if (match[1] !== latest.version) { + lines[1] = lines[1].replace( + /version "[^"]+"/, 'version "' + latest.version + '"' + ) + lines[2] = lines[2].replace( + /resolved "[^"]+"/, 'resolved "' + latest.dist.tarball + '"' + ) + lines[3] = latest.dist.integrity ? lines[3].replace( + /integrity .+/, 'integrity ' + latest.dist.integrity + ) : '' + } + } + }) + var content = blocks.map(function (lines) { + return lines.join('\n') + }).join('') + return { content: content, versions: versions } +} + +function updatePnpmLockfile (lock, latest) { + var versions = {} + var lines = lock.content.split('\n') + var i + var j + var lineParts + + for (i = 0; i < lines.length; i++) { + if (lines[i].indexOf('caniuse-lite:') >= 0) { + lineParts = lines[i].split(/:\s?/, 2) + versions[lineParts[1]] = true + lines[i] = lineParts[0] + ': ' + latest.version + } else if (lines[i].indexOf('/caniuse-lite') >= 0) { + lineParts = lines[i].split(/([/:])/) + for (j = 0; j < lineParts.length; j++) { + if (lineParts[j].indexOf('caniuse-lite') >= 0) { + versions[lineParts[j + 2]] = true + lineParts[j + 2] = latest.version + break + } + } + lines[i] = lineParts.join('') + for (i = i + 1; i < lines.length; i++) { + if (lines[i].indexOf('integrity: ') !== -1) { + lines[i] = lines[i].replace( + /integrity: .+/, 'integrity: ' + latest.dist.integrity + ) + } else if (lines[i].indexOf(' /') !== -1) { + break + } + } + } + } + return { content: lines.join('\n'), versions: versions } +} + +function updateLockfile (lock, latest) { + if (!lock.content) lock.content = fs.readFileSync(lock.file).toString() + + if (lock.mode === 'npm') { + return updateNpmLockfile(lock, latest) + } else if (lock.mode === 'yarn') { + return updateYarnLockfile(lock, latest) + } + return updatePnpmLockfile(lock, latest) +} + +function updatePackageManually (print, lock, latest) { + var lockfileData = updateLockfile(lock, latest) + var caniuseVersions = Object.keys(lockfileData.versions).sort() + if (caniuseVersions.length === 1 && + caniuseVersions[0] === latest.version) { + print( + 'Installed version: ' + bold(green(latest.version)) + '\n' + + bold(green('caniuse-lite is up to date')) + '\n' + ) + return + } + + if (caniuseVersions.length === 0) { + caniuseVersions[0] = 'none' + } + print( + 'Installed version' + + (caniuseVersions.length === 1 ? ': ' : 's: ') + + bold(red(caniuseVersions.join(', '))) + + '\n' + + 'Removing old caniuse-lite from lock file\n' + ) + fs.writeFileSync(lock.file, lockfileData.content) + + var install = lock.mode === 'yarn' ? 'yarn add -W' : lock.mode + ' install' + print( + 'Installing new caniuse-lite version\n' + + yellow('$ ' + install + ' caniuse-lite') + '\n' + ) + try { + childProcess.execSync(install + ' caniuse-lite') + } catch (e) /* istanbul ignore next */ { + print( + red( + '\n' + + e.stack + '\n\n' + + 'Problem with `' + install + ' caniuse-lite` call. ' + + 'Run it manually.\n' + ) + ) + process.exit(1) + } + + var del = lock.mode === 'yarn' ? 'yarn remove -W' : lock.mode + ' uninstall' + print( + 'Cleaning package.json dependencies from caniuse-lite\n' + + yellow('$ ' + del + ' caniuse-lite') + '\n' + ) + childProcess.execSync(del + ' caniuse-lite') +} + +module.exports = function updateDB (print) { + var lock = detectLockfile() + var latest = getLatestInfo(lock) + + var browsersListRetrievalError + var oldBrowsersList + try { + oldBrowsersList = getBrowsersList() + } catch (e) { + browsersListRetrievalError = e + } + + print( + 'Latest version: ' + bold(green(latest.version)) + '\n' + ) + + if (lock.mode === 'yarn' && lock.version !== 1) { + var update = 'yarn up -R' + print( + 'Updating caniuse-lite version\n' + + yellow('$ ' + update + ' caniuse-lite') + '\n' + ) + try { + childProcess.execSync(update + ' caniuse-lite') + } catch (e) /* istanbul ignore next */ { + print( + red( + '\n' + + e.stack + '\n\n' + + 'Problem with `' + update + ' caniuse-lite` call. ' + + 'Run it manually.\n' + ) + ) + process.exit(1) + } + } else { + updatePackageManually(print, lock, latest) + } + + print('caniuse-lite has been successfully updated\n') + + var currentBrowsersList + if (!browsersListRetrievalError) { + try { + currentBrowsersList = getBrowsersList() + } catch (e) /* istanbul ignore next */ { + browsersListRetrievalError = e + } + } + + if (browsersListRetrievalError) { + print( + red( + '\n' + + browsersListRetrievalError.stack + '\n\n' + + 'Problem with browser list retrieval.\n' + + 'Target browser changes won’t be shown.\n' + ) + ) + } else { + var targetBrowserChanges = diffBrowsersLists( + oldBrowsersList, + currentBrowsersList + ) + if (targetBrowserChanges) { + print('\nTarget browser changes:\n') + print(targetBrowserChanges + '\n') + } else { + print('\n' + green('No target browser changes') + '\n') + } + } +} diff --git a/node_modules/caching-transform/index.js b/node_modules/caching-transform/index.js new file mode 100644 index 00000000..9f45a730 --- /dev/null +++ b/node_modules/caching-transform/index.js @@ -0,0 +1,102 @@ +'use strict'; +const fs = require('fs'); +const path = require('path'); +const hasha = require('hasha'); +const makeDir = require('make-dir'); +const writeFileAtomic = require('write-file-atomic'); +const packageHash = require('package-hash'); + +let ownHash = ''; +function getOwnHash() { + ownHash = packageHash.sync(path.join(__dirname, 'package.json')); + return ownHash; +} + +function wrap(opts) { + if (!(opts.factory || opts.transform) || (opts.factory && opts.transform)) { + throw new Error('Specify factory or transform but not both'); + } + + if (typeof opts.cacheDir !== 'string' && !opts.disableCache) { + throw new Error('cacheDir must be a string'); + } + + opts = { + ext: '', + salt: '', + hashData: () => [], + filenamePrefix: () => '', + onHash: () => {}, + ...opts + }; + + let transformFn = opts.transform; + const {factory, cacheDir, shouldTransform, disableCache, hashData, onHash, filenamePrefix, ext, salt} = opts; + const cacheDirCreated = opts.createCacheDir === false; + let created = transformFn && cacheDirCreated; + const encoding = opts.encoding === 'buffer' ? undefined : opts.encoding || 'utf8'; + + function transform(input, metadata, hash) { + if (!created) { + if (!cacheDirCreated && !disableCache) { + makeDir.sync(cacheDir); + } + + if (!transformFn) { + transformFn = factory(cacheDir); + } + + created = true; + } + + return transformFn(input, metadata, hash); + } + + return function (input, metadata) { + if (shouldTransform && !shouldTransform(input, metadata)) { + return input; + } + + if (disableCache) { + return transform(input, metadata); + } + + const data = [ + ownHash || getOwnHash(), + input, + salt, + ...[].concat(hashData(input, metadata)) + ]; + const hash = hasha(data, {algorithm: 'sha256'}); + const cachedPath = path.join(cacheDir, filenamePrefix(metadata) + hash + ext); + + onHash(input, metadata, hash); + + let result; + let retry = 0; + /* eslint-disable-next-line no-constant-condition */ + while (true) { + try { + return fs.readFileSync(cachedPath, encoding); + } catch (readError) { + if (!result) { + result = transform(input, metadata, hash); + } + + try { + writeFileAtomic.sync(cachedPath, result, {encoding}); + return result; + } catch (error) { + /* Likely https://github.com/npm/write-file-atomic/issues/28 + * Make up to 3 attempts to read or write the cache. */ + retry++; + if (retry > 3) { + throw error; + } + } + } + } + }; +} + +module.exports = wrap; diff --git a/node_modules/caching-transform/license b/node_modules/caching-transform/license new file mode 100644 index 00000000..ad5d021e --- /dev/null +++ b/node_modules/caching-transform/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) James Talmage (github.com/jamestalmage) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/caching-transform/package.json b/node_modules/caching-transform/package.json new file mode 100644 index 00000000..f15df52f --- /dev/null +++ b/node_modules/caching-transform/package.json @@ -0,0 +1,46 @@ +{ + "name": "caching-transform", + "version": "4.0.0", + "description": "Wraps a transform and provides caching", + "license": "MIT", + "repository": "istanbuljs/caching-transform", + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && nyc ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "transform", + "cache", + "require", + "transpile", + "fast", + "speed", + "hash" + ], + "dependencies": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "devDependencies": { + "ava": "^1.4.1", + "coveralls": "^3.0.3", + "nyc": "^14.1.0", + "proxyquire": "^2.1.0", + "rimraf": "^2.6.3", + "sinon": "^7.3.2", + "xo": "^0.24.0" + }, + "nyc": { + "reporter": [ + "lcov", + "text" + ] + } +} diff --git a/node_modules/caching-transform/readme.md b/node_modules/caching-transform/readme.md new file mode 100644 index 00000000..e28a9401 --- /dev/null +++ b/node_modules/caching-transform/readme.md @@ -0,0 +1,163 @@ +# caching-transform [![Build Status](https://travis-ci.org/istanbuljs/caching-transform.svg?branch=master)](https://travis-ci.org/istanbuljs/caching-transform) [![Coverage Status](https://coveralls.io/repos/github/istanbuljs/caching-transform/badge.svg?branch=master)](https://coveralls.io/github/istanbuljs/caching-transform?branch=master) + +> Wraps a transform and provides caching. + +Caching transform results can greatly improve performance. `nyc` saw [dramatic performance increases](https://github.com/bcoe/nyc/pull/101#issuecomment-165716069) when we implemented caching. + + +## Install + +``` +$ npm install caching-transform +``` + + +## Usage + +```js +const cachingTransform = require('caching-transform'); + +const transform = cachingTransform({ + cacheDir: '/path/to/cache/directory', + salt: 'hash-salt', + transform: (input, metadata, hash) => { + // ... Expensive operations ... + return transformedResult; + } +}); + +transform('some input for transpilation') +// => fetch from the cache, +// or run the transform and save to the cache if not found there +``` + + +## API + +### cachingTransform(options) + +Returns a transform callback that takes two arguments: + + - `input` a string to be transformed + - `metadata` an arbitrary data object + +Both arguments are passed to the wrapped transform. Results are cached in the cache directory using an `sha256` hash of `input` and an optional `salt` value. If a cache entry already exist for `input`, the wrapped transform function will never be called. + +#### options + +##### salt + +Type: `string` `Buffer`
+Default: `''` + +A value that uniquely identifies your transform: + +```js +const pkg = require('my-transform/package.json'); +const salt = pkg.name + ':' + pkg.version; +``` + +Including the version in the salt ensures existing cache entries will be automatically invalidated when you bump the version of your transform. If your transform relies on additional dependencies, and the transform output might change as those dependencies update, then your salt should incorporate the versions of those dependencies as well. + +##### transform + +Type: `Function(input: string|Buffer, metadata: *, hash: string): string|Buffer` + + - `input`: The value to be transformed. It is passed through from the wrapper. + - `metadata`: An arbitrary data object passed through from the wrapper. A typical value might be a string filename. + - `hash`: The salted hash of `input`. Useful if you intend to create additional cache entries beyond the transform result (i.e. `nyc` also creates cache entries for source-map data). This value is not available if the cache is disabled, if you still need it, the default can be computed via [`hasha([input, salt])`](https://www.npmjs.com/package/hasha). + +The transform function will return a `string` (or Buffer if `encoding === 'buffer'`) containing the result of transforming `input`. + +##### factory + +Type: `Function(cacheDir: string): transformFunction` + +If the `transform` function is expensive to create, and it is reasonable to expect that it may never be called during the life of the process, you may supply a `factory` function that will be used to create the `transform` function the first time it is needed. + +A typical usage would be to prevent eagerly `require`ing expensive dependencies like Babel: + +```js +function factory() { + // Using the factory function, you can avoid loading Babel until you are sure it is needed. + const babel = require('babel-core'); + + return (code, metadata) => { + return babel.transform(code, {filename: metadata.filename, plugins: [/* ... */]}); + }; +} +``` + +##### cacheDir + +*Required unless caching is disabled*
+Type: `string` + +The directory where cached transform results will be stored. The directory is automatically created with [`mkdirp`](https://www.npmjs.com/package/mkdirp). You can set `options.createCacheDir = false` if you are certain the directory already exists. + +##### ext + +Type: `string`
+Default: `''` + +An extension that will be appended to the salted hash to create the filename inside your cache directory. It is not required, but recommended if you know the file type. Appending the extension allows you to easily inspect the contents of the cache directory with your file browser. + +##### shouldTransform + +Type: `Function(input: string|Buffer, additionalData: *)`
+Default: Always transform + +A function that examines `input` and `metadata` to determine whether the transform should be applied. Returning `false` means the transform will not be applied and `input` will be returned unmodified. + +##### disableCache + +Type: `boolean`
+Default: `false` + +If `true`, the cache is ignored and the transform is used every time regardless of cache contents. + +##### hashData + +Type: `Function(input: string|Buffer, metadata: *): string|Buffer|Array[string|Buffer]` + +Provide additional data that should be included in the hash. + +One potential use is including the `metadata` in the hash by coercing it to a hashable string or buffer: + +```js +function hashData(input, metadata) { + return JSON.stringify(metadata); +} +``` + +(Note that `metadata` is not taken into account otherwise.) + +##### filenamePrefix + +Type: `Function(metadata: *): string` + +Provide a filename to prefix the cache entry. The return value may not contain any path separators. + +```js +function filenamePrefix(metadata) { + return path.parse(metadata.filename || '').name + '-'; +} +``` + +##### onHash + +Type: `Function(input: string|Buffer, metadata: *, hash: string)` + +Function that is called after input is hashed. + +##### encoding + +Type: `string`
+Default: `'utf8'` + +The encoding to use when writing to / reading from the filesystem. If set it to `buffer`, then buffers will be returned from the cache instead of strings. + + +## License + +MIT © [James Talmage](https://github.com/jamestalmage) diff --git a/node_modules/camelcase/index.d.ts b/node_modules/camelcase/index.d.ts new file mode 100644 index 00000000..58f2069a --- /dev/null +++ b/node_modules/camelcase/index.d.ts @@ -0,0 +1,63 @@ +declare namespace camelcase { + interface Options { + /** + Uppercase the first character: `foo-bar` → `FooBar`. + + @default false + */ + readonly pascalCase?: boolean; + } +} + +declare const camelcase: { + /** + Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`. + + @param input - String to convert to camel case. + + @example + ``` + import camelCase = require('camelcase'); + + camelCase('foo-bar'); + //=> 'fooBar' + + camelCase('foo_bar'); + //=> 'fooBar' + + camelCase('Foo-Bar'); + //=> 'fooBar' + + camelCase('Foo-Bar', {pascalCase: true}); + //=> 'FooBar' + + camelCase('--foo.bar', {pascalCase: false}); + //=> 'fooBar' + + camelCase('foo bar'); + //=> 'fooBar' + + console.log(process.argv[3]); + //=> '--foo-bar' + camelCase(process.argv[3]); + //=> 'fooBar' + + camelCase(['foo', 'bar']); + //=> 'fooBar' + + camelCase(['__foo__', '--bar'], {pascalCase: true}); + //=> 'FooBar' + ``` + */ + (input: string | ReadonlyArray, options?: camelcase.Options): string; + + // TODO: Remove this for the next major release, refactor the whole definition to: + // declare function camelcase( + // input: string | ReadonlyArray, + // options?: camelcase.Options + // ): string; + // export = camelcase; + default: typeof camelcase; +}; + +export = camelcase; diff --git a/node_modules/camelcase/index.js b/node_modules/camelcase/index.js new file mode 100644 index 00000000..579f99b4 --- /dev/null +++ b/node_modules/camelcase/index.js @@ -0,0 +1,76 @@ +'use strict'; + +const preserveCamelCase = string => { + let isLastCharLower = false; + let isLastCharUpper = false; + let isLastLastCharUpper = false; + + for (let i = 0; i < string.length; i++) { + const character = string[i]; + + if (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) { + string = string.slice(0, i) + '-' + string.slice(i); + isLastCharLower = false; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = true; + i++; + } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) { + string = string.slice(0, i - 1) + '-' + string.slice(i - 1); + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = false; + isLastCharLower = true; + } else { + isLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character; + } + } + + return string; +}; + +const camelCase = (input, options) => { + if (!(typeof input === 'string' || Array.isArray(input))) { + throw new TypeError('Expected the input to be `string | string[]`'); + } + + options = Object.assign({ + pascalCase: false + }, options); + + const postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x; + + if (Array.isArray(input)) { + input = input.map(x => x.trim()) + .filter(x => x.length) + .join('-'); + } else { + input = input.trim(); + } + + if (input.length === 0) { + return ''; + } + + if (input.length === 1) { + return options.pascalCase ? input.toUpperCase() : input.toLowerCase(); + } + + const hasUpperCase = input !== input.toLowerCase(); + + if (hasUpperCase) { + input = preserveCamelCase(input); + } + + input = input + .replace(/^[_.\- ]+/, '') + .toLowerCase() + .replace(/[_.\- ]+(\w|$)/g, (_, p1) => p1.toUpperCase()) + .replace(/\d+(\w|$)/g, m => m.toUpperCase()); + + return postProcess(input); +}; + +module.exports = camelCase; +// TODO: Remove this for the next major release +module.exports.default = camelCase; diff --git a/node_modules/camelcase/license b/node_modules/camelcase/license new file mode 100644 index 00000000..e7af2f77 --- /dev/null +++ b/node_modules/camelcase/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/camelcase/package.json b/node_modules/camelcase/package.json new file mode 100644 index 00000000..fbdbaaa7 --- /dev/null +++ b/node_modules/camelcase/package.json @@ -0,0 +1,43 @@ +{ + "name": "camelcase", + "version": "5.3.1", + "description": "Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`", + "license": "MIT", + "repository": "sindresorhus/camelcase", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=6" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "camelcase", + "camel-case", + "camel", + "case", + "dash", + "hyphen", + "dot", + "underscore", + "separator", + "string", + "text", + "convert", + "pascalcase", + "pascal-case" + ], + "devDependencies": { + "ava": "^1.4.1", + "tsd": "^0.7.1", + "xo": "^0.24.0" + } +} diff --git a/node_modules/camelcase/readme.md b/node_modules/camelcase/readme.md new file mode 100644 index 00000000..fde27261 --- /dev/null +++ b/node_modules/camelcase/readme.md @@ -0,0 +1,99 @@ +# camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase) + +> Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar` + +--- + +
+ + Get professional support for 'camelcase' with a Tidelift subscription + +
+ + Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. +
+
+ +--- + +## Install + +``` +$ npm install camelcase +``` + + +## Usage + +```js +const camelCase = require('camelcase'); + +camelCase('foo-bar'); +//=> 'fooBar' + +camelCase('foo_bar'); +//=> 'fooBar' + +camelCase('Foo-Bar'); +//=> 'fooBar' + +camelCase('Foo-Bar', {pascalCase: true}); +//=> 'FooBar' + +camelCase('--foo.bar', {pascalCase: false}); +//=> 'fooBar' + +camelCase('foo bar'); +//=> 'fooBar' + +console.log(process.argv[3]); +//=> '--foo-bar' +camelCase(process.argv[3]); +//=> 'fooBar' + +camelCase(['foo', 'bar']); +//=> 'fooBar' + +camelCase(['__foo__', '--bar'], {pascalCase: true}); +//=> 'FooBar' +``` + + +## API + +### camelCase(input, [options]) + +#### input + +Type: `string` `string[]` + +String to convert to camel case. + +#### options + +Type: `Object` + +##### pascalCase + +Type: `boolean`
+Default: `false` + +Uppercase the first character: `foo-bar` → `FooBar` + + +## Security + +To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure. + + +## Related + +- [decamelize](https://github.com/sindresorhus/decamelize) - The inverse of this module +- [uppercamelcase](https://github.com/SamVerschueren/uppercamelcase) - Like this module, but to PascalCase instead of camelCase +- [titleize](https://github.com/sindresorhus/titleize) - Capitalize every word in string +- [humanize-string](https://github.com/sindresorhus/humanize-string) - Convert a camelized/dasherized/underscored string into a humanized one + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/caniuse-lite/LICENSE b/node_modules/caniuse-lite/LICENSE new file mode 100644 index 00000000..06c608dc --- /dev/null +++ b/node_modules/caniuse-lite/LICENSE @@ -0,0 +1,395 @@ +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/node_modules/caniuse-lite/README.md b/node_modules/caniuse-lite/README.md new file mode 100644 index 00000000..f4878abf --- /dev/null +++ b/node_modules/caniuse-lite/README.md @@ -0,0 +1,92 @@ +# caniuse-lite + +A smaller version of caniuse-db, with only the essentials! + +## Why? + +The full data behind [Can I use][1] is incredibly useful for any front end +developer, and on the website all of the details from the database are displayed +to the user. However in automated tools, [many of these fields go unused][2]; +it's not a problem for server side consumption but client side, the less +JavaScript that we send to the end user the better. + +caniuse-lite then, is a smaller dataset that keeps essential parts of the data +in a compact format. It does this in multiple ways, such as converting `null` +array entries into empty strings, representing support data as an integer rather +than a string, and using base62 references instead of longer human-readable +keys. + +This packed data is then reassembled (via functions exposed by this module) into +a larger format which is mostly compatible with caniuse-db, and so it can be +used as an almost drop-in replacement for caniuse-db for contexts where size on +disk is important; for example, usage in web browsers. The API differences are +very small and are detailed in the section below. + + +## API + +```js +import * as lite from 'caniuse-lite'; +``` + + +### `lite.agents` + +caniuse-db provides a full `data.json` file which contains all of the features +data. Instead of this large file, caniuse-lite provides this data subset +instead, which has the `browser`, `prefix`, `prefix_exceptions`, `usage_global` +and `versions` keys from the original. + +In addition, the subset contains the `release_date` key with release dates (as timestamps) for each version: +```json +{ + "release_date": { + "6": 998870400, + "7": 1161129600, + "8": 1237420800, + "9": 1300060800, + "10": 1346716800, + "11": 1381968000, + "5.5": 962323200 + } +} +``` + + +### `lite.feature(js)` + +The `feature` method takes a file from `data/features` and converts it into +something that more closely represents the `caniuse-db` format. Note that only +the `title`, `stats` and `status` keys are kept from the original data. + + +### `lite.features` + +The `features` index is provided as a way to query all of the features that +are listed in the `caniuse-db` dataset. Note that you will need to use the +`feature` method on values from this index to get a human-readable format. + + +### `lite.region(js)` + +The `region` method takes a file from `data/regions` and converts it into +something that more closely represents the `caniuse-db` format. Note that *only* +the usage data is exposed here (the `data` key in the original files). + + +## License + +The data in this repo is available for use under a CC BY 4.0 license +(http://creativecommons.org/licenses/by/4.0/). For attribution just mention +somewhere that the source is caniuse.com. If you have any questions about using +the data for your project please contact me here: http://a.deveria.com/contact + +[1]: http://caniuse.com/ +[2]: https://github.com/Fyrd/caniuse/issues/1827 + + +## Security contact information + +To report a security vulnerability, please use the +[Tidelift security contact](https://tidelift.com/security). +Tidelift will coordinate the fix and disclosure. diff --git a/node_modules/caniuse-lite/data/agents.js b/node_modules/caniuse-lite/data/agents.js new file mode 100644 index 00000000..3c5bd326 --- /dev/null +++ b/node_modules/caniuse-lite/data/agents.js @@ -0,0 +1 @@ +module.exports={A:{A:{J:0.0131217,E:0.00621152,F:0.0255585,G:0.115013,A:0.0255585,B:0.747587,jB:0.009298},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","jB","J","E","F","G","A","B","","",""],E:"IE",F:{jB:962323200,J:998870400,E:1161129600,F:1237420800,G:1300060800,A:1346716800,B:1381968000}},B:{A:{C:0.008086,K:0.004267,L:0.004043,D:0.008086,M:0.008086,N:0.016172,O:0.08086,P:0,S:0.004298,T:0.00944,U:0.004043,V:0.012129,W:0.008086,X:0.008086,Y:0.008086,Z:0.008086,a:0.020215,b:0.016172,c:0.105118,Q:3.35973,H:0.004043},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","K","L","D","M","N","O","P","S","T","U","V","W","X","Y","Z","a","b","c","Q","H","","",""],E:"Edge",F:{C:1438128000,K:1447286400,L:1470096000,D:1491868800,M:1508198400,N:1525046400,O:1542067200,P:1579046400,S:1581033600,T:1586736000,U:1590019200,V:1594857600,W:1598486400,X:1602201600,Y:1605830400,Z:1611360000,a:1614816000,b:1618358400,c:1622073600,Q:1626912000,H:1630627200},D:{C:"ms",K:"ms",L:"ms",D:"ms",M:"ms",N:"ms",O:"ms"}},C:{A:{"0":0.005029,"1":0.0047,"2":0.04043,"3":0.008086,"4":0.004043,"5":0.004525,"6":0.004043,"7":0.008086,"8":0.004538,"9":0.008282,kB:0.004043,bB:0.004271,I:0.020215,d:0.004879,J:0.020136,E:0.005725,F:0.004525,G:0.00533,A:0.004283,B:0.008086,C:0.004471,K:0.004486,L:0.00453,D:0.004043,M:0.004417,N:0.004425,O:0.004043,e:0.004443,f:0.004283,g:0.004043,h:0.013698,i:0.004043,j:0.008786,k:0.008086,l:0.004317,m:0.004393,n:0.004418,o:0.008834,p:0.004043,q:0.008928,r:0.004471,s:0.009284,t:0.004707,u:0.009076,v:0.004425,w:0.004783,x:0.004271,y:0.004783,z:0.00487,AB:0.008086,BB:0.072774,CB:0.004335,DB:0.004141,EB:0.008086,FB:0.012129,GB:0.004425,HB:0.004043,cB:0.004043,IB:0.008086,dB:0.00472,JB:0.004425,KB:0.008086,R:0.00415,LB:0.004267,MB:0.004043,NB:0.004267,OB:0.012129,PB:0.00415,QB:0.008282,RB:0.004425,SB:0.008086,TB:0.00415,UB:0.00415,VB:0.004141,WB:0.004043,XB:0.004043,YB:0.157677,P:0.008086,S:0.008086,T:0.008086,lB:0.012129,U:0.008086,V:0.016172,W:0.008086,X:0.008086,Y:0.012129,Z:0.036387,a:0.084903,b:1.01479,c:1.4757,Q:0.020215,H:0,eB:0,mB:0.008786,nB:0.00487},B:"moz",C:["kB","bB","mB","nB","I","d","J","E","F","G","A","B","C","K","L","D","M","N","O","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","cB","IB","dB","JB","KB","R","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","P","S","T","lB","U","V","W","X","Y","Z","a","b","c","Q","H","eB",""],E:"Firefox",F:{"0":1442880000,"1":1446508800,"2":1450137600,"3":1453852800,"4":1457395200,"5":1461628800,"6":1465257600,"7":1470096000,"8":1474329600,"9":1479168000,kB:1161648000,bB:1213660800,mB:1246320000,nB:1264032000,I:1300752000,d:1308614400,J:1313452800,E:1317081600,F:1317081600,G:1320710400,A:1324339200,B:1327968000,C:1331596800,K:1335225600,L:1338854400,D:1342483200,M:1346112000,N:1349740800,O:1353628800,e:1357603200,f:1361232000,g:1364860800,h:1368489600,i:1372118400,j:1375747200,k:1379376000,l:1386633600,m:1391472000,n:1395100800,o:1398729600,p:1402358400,q:1405987200,r:1409616000,s:1413244800,t:1417392000,u:1421107200,v:1424736000,w:1428278400,x:1431475200,y:1435881600,z:1439251200,AB:1485216000,BB:1488844800,CB:1492560000,DB:1497312000,EB:1502150400,FB:1506556800,GB:1510617600,HB:1516665600,cB:1520985600,IB:1525824000,dB:1529971200,JB:1536105600,KB:1540252800,R:1544486400,LB:1548720000,MB:1552953600,NB:1558396800,OB:1562630400,PB:1567468800,QB:1571788800,RB:1575331200,SB:1578355200,TB:1581379200,UB:1583798400,VB:1586304000,WB:1588636800,XB:1591056000,YB:1593475200,P:1595894400,S:1598313600,T:1600732800,lB:1603152000,U:1605571200,V:1607990400,W:1611619200,X:1614038400,Y:1616457600,Z:1618790400,a:1622505600,b:1626134400,c:1628553600,Q:1630972800,H:null,eB:null}},D:{A:{"0":0.0236,"1":0.004403,"2":0.008086,"3":0.004465,"4":0.004642,"5":0.004891,"6":0.012129,"7":0.020215,"8":0.190021,"9":0.004043,I:0.004706,d:0.004879,J:0.004879,E:0.005591,F:0.005591,G:0.005591,A:0.004534,B:0.004464,C:0.010424,K:0.0083,L:0.004706,D:0.015087,M:0.004393,N:0.004393,O:0.008652,e:0.004043,f:0.004393,g:0.004317,h:0.012129,i:0.008786,j:0.016172,k:0.004461,l:0.004141,m:0.004326,n:0.0047,o:0.004538,p:0.004043,q:0.008596,r:0.004566,s:0.008086,t:0.008086,u:0.016172,v:0.004335,w:0.004464,x:0.028301,y:0.004464,z:0.016172,AB:0.004043,BB:0.008086,CB:0.016172,DB:0.012129,EB:0.012129,FB:0.060645,GB:0.008086,HB:0.008086,cB:0.008086,IB:0.012129,dB:0.04043,JB:0.008086,KB:0.016172,R:0.020215,LB:0.024258,MB:0.024258,NB:0.016172,OB:0.012129,PB:0.068731,QB:0.052559,RB:0.024258,SB:0.04043,TB:0.016172,UB:0.092989,VB:0.076817,WB:0.060645,XB:0.024258,YB:0.056602,P:0.185978,S:0.088946,T:0.064688,U:0.097032,V:0.113204,W:0.214279,X:0.12129,Y:0.299182,Z:0.133419,a:0.198107,b:0.311311,c:1.33823,Q:21.4077,H:0.028301,eB:0.024258,oB:0.008086,pB:0,qB:0},B:"webkit",C:["","","","I","d","J","E","F","G","A","B","C","K","L","D","M","N","O","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","cB","IB","dB","JB","KB","R","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","P","S","T","U","V","W","X","Y","Z","a","b","c","Q","H","eB","oB","pB","qB"],E:"Chrome",F:{"0":1425513600,"1":1429401600,"2":1432080000,"3":1437523200,"4":1441152000,"5":1444780800,"6":1449014400,"7":1453248000,"8":1456963200,"9":1460592000,I:1264377600,d:1274745600,J:1283385600,E:1287619200,F:1291248000,G:1296777600,A:1299542400,B:1303862400,C:1307404800,K:1312243200,L:1316131200,D:1316131200,M:1319500800,N:1323734400,O:1328659200,e:1332892800,f:1337040000,g:1340668800,h:1343692800,i:1348531200,j:1352246400,k:1357862400,l:1361404800,m:1364428800,n:1369094400,o:1374105600,p:1376956800,q:1384214400,r:1389657600,s:1392940800,t:1397001600,u:1400544000,v:1405468800,w:1409011200,x:1412640000,y:1416268800,z:1421798400,AB:1464134400,BB:1469059200,CB:1472601600,DB:1476230400,EB:1480550400,FB:1485302400,GB:1489017600,HB:1492560000,cB:1496707200,IB:1500940800,dB:1504569600,JB:1508198400,KB:1512518400,R:1516752000,LB:1520294400,MB:1523923200,NB:1527552000,OB:1532390400,PB:1536019200,QB:1539648000,RB:1543968000,SB:1548720000,TB:1552348800,UB:1555977600,VB:1559606400,WB:1564444800,XB:1568073600,YB:1571702400,P:1575936000,S:1580860800,T:1586304000,U:1589846400,V:1594684800,W:1598313600,X:1601942400,Y:1605571200,Z:1611014400,a:1614556800,b:1618272000,c:1621987200,Q:1626739200,H:1630368000,eB:1632268800,oB:null,pB:null,qB:null}},E:{A:{I:0,d:0.004043,J:0.004656,E:0.004465,F:0.004043,G:0.004891,A:0.004425,B:0.008086,C:0.012129,K:0.076817,L:0.517504,D:0.016172,rB:0,fB:0.008692,sB:0.020215,tB:0.00456,uB:0.004283,vB:0.016172,gB:0.020215,ZB:0.052559,aB:0.08086,wB:0.529633,xB:2.59156,yB:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","rB","fB","I","d","sB","J","tB","E","uB","F","G","vB","A","gB","B","ZB","C","aB","K","wB","L","xB","D","yB",""],E:"Safari",F:{rB:1205798400,fB:1226534400,I:1244419200,d:1275868800,sB:1311120000,J:1343174400,tB:1382400000,E:1382400000,uB:1410998400,F:1413417600,G:1443657600,vB:1458518400,A:1474329600,gB:1490572800,B:1505779200,ZB:1522281600,C:1537142400,aB:1553472000,K:1568851200,wB:1585008000,L:1600214400,xB:1619395200,D:null,yB:null}},F:{A:{"0":0.004227,"1":0.004418,"2":0.004043,"3":0.004227,"4":0.004725,"5":0.008086,"6":0.008942,"7":0.004707,"8":0.004827,"9":0.004707,G:0.0082,B:0.016581,C:0.004317,D:0.00685,M:0.00685,N:0.00685,O:0.005014,e:0.006015,f:0.004879,g:0.006597,h:0.006597,i:0.013434,j:0.006702,k:0.006015,l:0.005595,m:0.004393,n:0.008652,o:0.004879,p:0.004879,q:0.004043,r:0.005152,s:0.005014,t:0.009758,u:0.004879,v:0.008086,w:0.004283,x:0.004367,y:0.004534,z:0.008086,AB:0.004707,BB:0.004326,CB:0.008922,DB:0.014349,EB:0.004425,FB:0.00472,GB:0.004425,HB:0.004425,IB:0.00472,JB:0.004532,KB:0.004566,R:0.02283,LB:0.00867,MB:0.004656,NB:0.004642,OB:0.004043,PB:0.00944,QB:0.00415,RB:0.004271,SB:0.004298,TB:0.096692,UB:0.004201,VB:0.004141,WB:0.004043,XB:0.456859,YB:0.392171,P:0,zB:0.00685,"0B":0.004043,"1B":0.008392,"2B":0.004706,ZB:0.006229,hB:0.004879,"3B":0.008786,aB:0.00472},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","G","zB","0B","1B","2B","B","ZB","hB","3B","C","aB","D","M","N","O","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","R","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","P","","",""],E:"Opera",F:{"0":1477267200,"1":1481587200,"2":1486425600,"3":1490054400,"4":1494374400,"5":1498003200,"6":1502236800,"7":1506470400,"8":1510099200,"9":1515024000,G:1150761600,zB:1223424000,"0B":1251763200,"1B":1267488000,"2B":1277942400,B:1292457600,ZB:1302566400,hB:1309219200,"3B":1323129600,C:1323129600,aB:1352073600,D:1372723200,M:1377561600,N:1381104000,O:1386288000,e:1390867200,f:1393891200,g:1399334400,h:1401753600,i:1405987200,j:1409616000,k:1413331200,l:1417132800,m:1422316800,n:1425945600,o:1430179200,p:1433808000,q:1438646400,r:1442448000,s:1445904000,t:1449100800,u:1454371200,v:1457308800,w:1462320000,x:1465344000,y:1470096000,z:1474329600,AB:1517961600,BB:1521676800,CB:1525910400,DB:1530144000,EB:1534982400,FB:1537833600,GB:1543363200,HB:1548201600,IB:1554768000,JB:1561593600,KB:1566259200,R:1570406400,LB:1573689600,MB:1578441600,NB:1583971200,OB:1587513600,PB:1592956800,QB:1595894400,RB:1600128000,SB:1603238400,TB:1613520000,UB:1612224000,VB:1616544000,WB:1619568000,XB:1623715200,YB:1627948800,P:1631577600},D:{G:"o",B:"o",C:"o",zB:"o","0B":"o","1B":"o","2B":"o",ZB:"o",hB:"o","3B":"o",aB:"o"}},G:{A:{F:0.0014876,D:0,fB:0,"4B":0,iB:0.0029752,"5B":0.0089256,"6B":0.101157,"7B":0.0267768,"8B":0.0163636,"9B":0.0208264,AC:0.133884,BC:0.0401652,CC:0.145785,DC:0.0773552,EC:0.0624792,FC:0.0639668,GC:0.182975,HC:0.0565288,IC:0.0252892,JC:0.138347,KC:0.450743,LC:1.8714,MC:10.8193},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fB","4B","iB","5B","6B","7B","F","8B","9B","AC","BC","CC","DC","EC","FC","GC","HC","IC","JC","KC","LC","MC","D","","",""],E:"Safari on iOS",F:{fB:1270252800,"4B":1283904000,iB:1299628800,"5B":1331078400,"6B":1359331200,"7B":1394409600,F:1410912000,"8B":1413763200,"9B":1442361600,AC:1458518400,BC:1473724800,CC:1490572800,DC:1505779200,EC:1522281600,FC:1537142400,GC:1553472000,HC:1568851200,IC:1572220800,JC:1580169600,KC:1585008000,LC:1600214400,MC:1619395200,D:1632096000}},H:{A:{NC:1.15031},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","NC","","",""],E:"Opera Mini",F:{NC:1426464000}},I:{A:{bB:0,I:0.0104681,H:0,OC:0,PC:0,QC:0,RC:0.0157022,iB:0.0575747,SC:0,TC:0.261703},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","OC","PC","QC","bB","I","RC","iB","SC","TC","H","","",""],E:"Android Browser",F:{OC:1256515200,PC:1274313600,QC:1291593600,bB:1298332800,I:1318896000,RC:1341792000,iB:1374624000,SC:1386547200,TC:1401667200,H:1630368000}},J:{A:{E:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","E","A","","",""],E:"Blackberry Browser",F:{E:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,R:0.0111391,ZB:0,hB:0,aB:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","ZB","hB","C","aB","R","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,ZB:1314835200,hB:1318291200,C:1330300800,aB:1349740800,R:1613433600},D:{R:"webkit"}},L:{A:{H:39.6323},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","H","","",""],E:"Chrome for Android",F:{H:1630454400}},M:{A:{Q:0.303756},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Q","","",""],E:"Firefox for Android",F:{Q:1630972800}},N:{A:{A:0.0115934,B:0.022664},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{UC:1.11377},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","UC","","",""],E:"UC Browser for Android",F:{UC:1471392000},D:{UC:"webkit"}},P:{A:{I:0.291303,VC:0.0103543,WC:0.010304,XC:0.0728256,YC:0.0103584,ZC:0.0416146,gB:0.0208073,aC:0.135248,bC:0.062422,cC:0.19767,dC:2.25759},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","I","VC","WC","XC","YC","ZC","gB","aC","bC","cC","dC","","",""],E:"Samsung Internet",F:{I:1461024000,VC:1481846400,WC:1509408000,XC:1528329600,YC:1546128000,ZC:1554163200,gB:1567900800,aC:1582588800,bC:1593475200,cC:1605657600,dC:1618531200}},Q:{A:{eC:0.17868},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","eC","","",""],E:"QQ Browser",F:{eC:1589846400}},R:{A:{fC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fC","","",""],E:"Baidu Browser",F:{fC:1491004800}},S:{A:{gC:0.113164},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","gC","","",""],E:"KaiOS Browser",F:{gC:1527811200}}}; diff --git a/node_modules/caniuse-lite/data/browserVersions.js b/node_modules/caniuse-lite/data/browserVersions.js new file mode 100644 index 00000000..e54953c1 --- /dev/null +++ b/node_modules/caniuse-lite/data/browserVersions.js @@ -0,0 +1 @@ +module.exports={"0":"41","1":"42","2":"43","3":"44","4":"45","5":"46","6":"47","7":"48","8":"49","9":"50",A:"10",B:"11",C:"12",D:"15",E:"7",F:"8",G:"9",H:"93",I:"4",J:"6",K:"13",L:"14",M:"16",N:"17",O:"18",P:"79",Q:"92",R:"64",S:"80",T:"81",U:"83",V:"84",W:"85",X:"86",Y:"87",Z:"88",a:"89",b:"90",c:"91",d:"5",e:"19",f:"20",g:"21",h:"22",i:"23",j:"24",k:"25",l:"26",m:"27",n:"28",o:"29",p:"30",q:"31",r:"32",s:"33",t:"34",u:"35",v:"36",w:"37",x:"38",y:"39",z:"40",AB:"51",BB:"52",CB:"53",DB:"54",EB:"55",FB:"56",GB:"57",HB:"58",IB:"60",JB:"62",KB:"63",LB:"65",MB:"66",NB:"67",OB:"68",PB:"69",QB:"70",RB:"71",SB:"72",TB:"73",UB:"74",VB:"75",WB:"76",XB:"77",YB:"78",ZB:"11.1",aB:"12.1",bB:"3",cB:"59",dB:"61",eB:"94",fB:"3.2",gB:"10.1",hB:"11.5",iB:"4.2-4.3",jB:"5.5",kB:"2",lB:"82",mB:"3.5",nB:"3.6",oB:"95",pB:"96",qB:"97",rB:"3.1",sB:"5.1",tB:"6.1",uB:"7.1",vB:"9.1",wB:"13.1",xB:"14.1",yB:"TP",zB:"9.5-9.6","0B":"10.0-10.1","1B":"10.5","2B":"10.6","3B":"11.6","4B":"4.0-4.1","5B":"5.0-5.1","6B":"6.0-6.1","7B":"7.0-7.1","8B":"8.1-8.4","9B":"9.0-9.2",AC:"9.3",BC:"10.0-10.2",CC:"10.3",DC:"11.0-11.2",EC:"11.3-11.4",FC:"12.0-12.1",GC:"12.2-12.4",HC:"13.0-13.1",IC:"13.2",JC:"13.3",KC:"13.4-13.7",LC:"14.0-14.4",MC:"14.5-14.7",NC:"all",OC:"2.1",PC:"2.2",QC:"2.3",RC:"4.1",SC:"4.4",TC:"4.4.3-4.4.4",UC:"12.12",VC:"5.0-5.4",WC:"6.2-6.4",XC:"7.2-7.4",YC:"8.2",ZC:"9.2",aC:"11.1-11.2",bC:"12.0",cC:"13.0",dC:"14.0",eC:"10.4",fC:"7.12",gC:"2.5"}; diff --git a/node_modules/caniuse-lite/data/browsers.js b/node_modules/caniuse-lite/data/browsers.js new file mode 100644 index 00000000..04fbb50f --- /dev/null +++ b/node_modules/caniuse-lite/data/browsers.js @@ -0,0 +1 @@ +module.exports={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"}; diff --git a/node_modules/caniuse-lite/data/features.js b/node_modules/caniuse-lite/data/features.js new file mode 100644 index 00000000..67dad50c --- /dev/null +++ b/node_modules/caniuse-lite/data/features.js @@ -0,0 +1 @@ +module.exports={"aac":require("./features/aac"),"abortcontroller":require("./features/abortcontroller"),"ac3-ec3":require("./features/ac3-ec3"),"accelerometer":require("./features/accelerometer"),"addeventlistener":require("./features/addeventlistener"),"alternate-stylesheet":require("./features/alternate-stylesheet"),"ambient-light":require("./features/ambient-light"),"apng":require("./features/apng"),"array-find-index":require("./features/array-find-index"),"array-find":require("./features/array-find"),"array-flat":require("./features/array-flat"),"array-includes":require("./features/array-includes"),"arrow-functions":require("./features/arrow-functions"),"asmjs":require("./features/asmjs"),"async-clipboard":require("./features/async-clipboard"),"async-functions":require("./features/async-functions"),"atob-btoa":require("./features/atob-btoa"),"audio-api":require("./features/audio-api"),"audio":require("./features/audio"),"audiotracks":require("./features/audiotracks"),"autofocus":require("./features/autofocus"),"auxclick":require("./features/auxclick"),"av1":require("./features/av1"),"avif":require("./features/avif"),"background-attachment":require("./features/background-attachment"),"background-clip-text":require("./features/background-clip-text"),"background-img-opts":require("./features/background-img-opts"),"background-position-x-y":require("./features/background-position-x-y"),"background-repeat-round-space":require("./features/background-repeat-round-space"),"background-sync":require("./features/background-sync"),"battery-status":require("./features/battery-status"),"beacon":require("./features/beacon"),"beforeafterprint":require("./features/beforeafterprint"),"bigint":require("./features/bigint"),"blobbuilder":require("./features/blobbuilder"),"bloburls":require("./features/bloburls"),"border-image":require("./features/border-image"),"border-radius":require("./features/border-radius"),"broadcastchannel":require("./features/broadcastchannel"),"brotli":require("./features/brotli"),"calc":require("./features/calc"),"canvas-blending":require("./features/canvas-blending"),"canvas-text":require("./features/canvas-text"),"canvas":require("./features/canvas"),"ch-unit":require("./features/ch-unit"),"chacha20-poly1305":require("./features/chacha20-poly1305"),"channel-messaging":require("./features/channel-messaging"),"childnode-remove":require("./features/childnode-remove"),"classlist":require("./features/classlist"),"client-hints-dpr-width-viewport":require("./features/client-hints-dpr-width-viewport"),"clipboard":require("./features/clipboard"),"colr":require("./features/colr"),"comparedocumentposition":require("./features/comparedocumentposition"),"console-basic":require("./features/console-basic"),"console-time":require("./features/console-time"),"const":require("./features/const"),"constraint-validation":require("./features/constraint-validation"),"contenteditable":require("./features/contenteditable"),"contentsecuritypolicy":require("./features/contentsecuritypolicy"),"contentsecuritypolicy2":require("./features/contentsecuritypolicy2"),"cookie-store-api":require("./features/cookie-store-api"),"cors":require("./features/cors"),"createimagebitmap":require("./features/createimagebitmap"),"credential-management":require("./features/credential-management"),"cryptography":require("./features/cryptography"),"css-all":require("./features/css-all"),"css-animation":require("./features/css-animation"),"css-any-link":require("./features/css-any-link"),"css-appearance":require("./features/css-appearance"),"css-apply-rule":require("./features/css-apply-rule"),"css-at-counter-style":require("./features/css-at-counter-style"),"css-backdrop-filter":require("./features/css-backdrop-filter"),"css-background-offsets":require("./features/css-background-offsets"),"css-backgroundblendmode":require("./features/css-backgroundblendmode"),"css-boxdecorationbreak":require("./features/css-boxdecorationbreak"),"css-boxshadow":require("./features/css-boxshadow"),"css-canvas":require("./features/css-canvas"),"css-caret-color":require("./features/css-caret-color"),"css-cascade-layers":require("./features/css-cascade-layers"),"css-case-insensitive":require("./features/css-case-insensitive"),"css-clip-path":require("./features/css-clip-path"),"css-color-adjust":require("./features/css-color-adjust"),"css-color-function":require("./features/css-color-function"),"css-conic-gradients":require("./features/css-conic-gradients"),"css-container-queries":require("./features/css-container-queries"),"css-containment":require("./features/css-containment"),"css-content-visibility":require("./features/css-content-visibility"),"css-counters":require("./features/css-counters"),"css-crisp-edges":require("./features/css-crisp-edges"),"css-cross-fade":require("./features/css-cross-fade"),"css-default-pseudo":require("./features/css-default-pseudo"),"css-descendant-gtgt":require("./features/css-descendant-gtgt"),"css-deviceadaptation":require("./features/css-deviceadaptation"),"css-dir-pseudo":require("./features/css-dir-pseudo"),"css-display-contents":require("./features/css-display-contents"),"css-element-function":require("./features/css-element-function"),"css-env-function":require("./features/css-env-function"),"css-exclusions":require("./features/css-exclusions"),"css-featurequeries":require("./features/css-featurequeries"),"css-filter-function":require("./features/css-filter-function"),"css-filters":require("./features/css-filters"),"css-first-letter":require("./features/css-first-letter"),"css-first-line":require("./features/css-first-line"),"css-fixed":require("./features/css-fixed"),"css-focus-visible":require("./features/css-focus-visible"),"css-focus-within":require("./features/css-focus-within"),"css-font-rendering-controls":require("./features/css-font-rendering-controls"),"css-font-stretch":require("./features/css-font-stretch"),"css-gencontent":require("./features/css-gencontent"),"css-gradients":require("./features/css-gradients"),"css-grid":require("./features/css-grid"),"css-hanging-punctuation":require("./features/css-hanging-punctuation"),"css-has":require("./features/css-has"),"css-hyphenate":require("./features/css-hyphenate"),"css-hyphens":require("./features/css-hyphens"),"css-image-orientation":require("./features/css-image-orientation"),"css-image-set":require("./features/css-image-set"),"css-in-out-of-range":require("./features/css-in-out-of-range"),"css-indeterminate-pseudo":require("./features/css-indeterminate-pseudo"),"css-initial-letter":require("./features/css-initial-letter"),"css-initial-value":require("./features/css-initial-value"),"css-letter-spacing":require("./features/css-letter-spacing"),"css-line-clamp":require("./features/css-line-clamp"),"css-logical-props":require("./features/css-logical-props"),"css-marker-pseudo":require("./features/css-marker-pseudo"),"css-masks":require("./features/css-masks"),"css-matches-pseudo":require("./features/css-matches-pseudo"),"css-math-functions":require("./features/css-math-functions"),"css-media-interaction":require("./features/css-media-interaction"),"css-media-resolution":require("./features/css-media-resolution"),"css-media-scripting":require("./features/css-media-scripting"),"css-mediaqueries":require("./features/css-mediaqueries"),"css-mixblendmode":require("./features/css-mixblendmode"),"css-motion-paths":require("./features/css-motion-paths"),"css-namespaces":require("./features/css-namespaces"),"css-nesting":require("./features/css-nesting"),"css-not-sel-list":require("./features/css-not-sel-list"),"css-nth-child-of":require("./features/css-nth-child-of"),"css-opacity":require("./features/css-opacity"),"css-optional-pseudo":require("./features/css-optional-pseudo"),"css-overflow-anchor":require("./features/css-overflow-anchor"),"css-overflow-overlay":require("./features/css-overflow-overlay"),"css-overflow":require("./features/css-overflow"),"css-overscroll-behavior":require("./features/css-overscroll-behavior"),"css-page-break":require("./features/css-page-break"),"css-paged-media":require("./features/css-paged-media"),"css-paint-api":require("./features/css-paint-api"),"css-placeholder-shown":require("./features/css-placeholder-shown"),"css-placeholder":require("./features/css-placeholder"),"css-read-only-write":require("./features/css-read-only-write"),"css-rebeccapurple":require("./features/css-rebeccapurple"),"css-reflections":require("./features/css-reflections"),"css-regions":require("./features/css-regions"),"css-repeating-gradients":require("./features/css-repeating-gradients"),"css-resize":require("./features/css-resize"),"css-revert-value":require("./features/css-revert-value"),"css-rrggbbaa":require("./features/css-rrggbbaa"),"css-scroll-behavior":require("./features/css-scroll-behavior"),"css-scroll-timeline":require("./features/css-scroll-timeline"),"css-scrollbar":require("./features/css-scrollbar"),"css-sel2":require("./features/css-sel2"),"css-sel3":require("./features/css-sel3"),"css-selection":require("./features/css-selection"),"css-shapes":require("./features/css-shapes"),"css-snappoints":require("./features/css-snappoints"),"css-sticky":require("./features/css-sticky"),"css-subgrid":require("./features/css-subgrid"),"css-supports-api":require("./features/css-supports-api"),"css-table":require("./features/css-table"),"css-text-align-last":require("./features/css-text-align-last"),"css-text-indent":require("./features/css-text-indent"),"css-text-justify":require("./features/css-text-justify"),"css-text-orientation":require("./features/css-text-orientation"),"css-text-spacing":require("./features/css-text-spacing"),"css-textshadow":require("./features/css-textshadow"),"css-touch-action-2":require("./features/css-touch-action-2"),"css-touch-action":require("./features/css-touch-action"),"css-transitions":require("./features/css-transitions"),"css-unicode-bidi":require("./features/css-unicode-bidi"),"css-unset-value":require("./features/css-unset-value"),"css-variables":require("./features/css-variables"),"css-widows-orphans":require("./features/css-widows-orphans"),"css-writing-mode":require("./features/css-writing-mode"),"css-zoom":require("./features/css-zoom"),"css3-attr":require("./features/css3-attr"),"css3-boxsizing":require("./features/css3-boxsizing"),"css3-colors":require("./features/css3-colors"),"css3-cursors-grab":require("./features/css3-cursors-grab"),"css3-cursors-newer":require("./features/css3-cursors-newer"),"css3-cursors":require("./features/css3-cursors"),"css3-tabsize":require("./features/css3-tabsize"),"currentcolor":require("./features/currentcolor"),"custom-elements":require("./features/custom-elements"),"custom-elementsv1":require("./features/custom-elementsv1"),"customevent":require("./features/customevent"),"datalist":require("./features/datalist"),"dataset":require("./features/dataset"),"datauri":require("./features/datauri"),"date-tolocaledatestring":require("./features/date-tolocaledatestring"),"decorators":require("./features/decorators"),"details":require("./features/details"),"deviceorientation":require("./features/deviceorientation"),"devicepixelratio":require("./features/devicepixelratio"),"dialog":require("./features/dialog"),"dispatchevent":require("./features/dispatchevent"),"dnssec":require("./features/dnssec"),"do-not-track":require("./features/do-not-track"),"document-currentscript":require("./features/document-currentscript"),"document-evaluate-xpath":require("./features/document-evaluate-xpath"),"document-execcommand":require("./features/document-execcommand"),"document-policy":require("./features/document-policy"),"document-scrollingelement":require("./features/document-scrollingelement"),"documenthead":require("./features/documenthead"),"dom-manip-convenience":require("./features/dom-manip-convenience"),"dom-range":require("./features/dom-range"),"domcontentloaded":require("./features/domcontentloaded"),"domfocusin-domfocusout-events":require("./features/domfocusin-domfocusout-events"),"dommatrix":require("./features/dommatrix"),"download":require("./features/download"),"dragndrop":require("./features/dragndrop"),"element-closest":require("./features/element-closest"),"element-from-point":require("./features/element-from-point"),"element-scroll-methods":require("./features/element-scroll-methods"),"eme":require("./features/eme"),"eot":require("./features/eot"),"es5":require("./features/es5"),"es6-class":require("./features/es6-class"),"es6-generators":require("./features/es6-generators"),"es6-module-dynamic-import":require("./features/es6-module-dynamic-import"),"es6-module":require("./features/es6-module"),"es6-number":require("./features/es6-number"),"es6-string-includes":require("./features/es6-string-includes"),"es6":require("./features/es6"),"eventsource":require("./features/eventsource"),"extended-system-fonts":require("./features/extended-system-fonts"),"feature-policy":require("./features/feature-policy"),"fetch":require("./features/fetch"),"fieldset-disabled":require("./features/fieldset-disabled"),"fileapi":require("./features/fileapi"),"filereader":require("./features/filereader"),"filereadersync":require("./features/filereadersync"),"filesystem":require("./features/filesystem"),"flac":require("./features/flac"),"flexbox-gap":require("./features/flexbox-gap"),"flexbox":require("./features/flexbox"),"flow-root":require("./features/flow-root"),"focusin-focusout-events":require("./features/focusin-focusout-events"),"focusoptions-preventscroll":require("./features/focusoptions-preventscroll"),"font-family-system-ui":require("./features/font-family-system-ui"),"font-feature":require("./features/font-feature"),"font-kerning":require("./features/font-kerning"),"font-loading":require("./features/font-loading"),"font-metrics-overrides":require("./features/font-metrics-overrides"),"font-size-adjust":require("./features/font-size-adjust"),"font-smooth":require("./features/font-smooth"),"font-unicode-range":require("./features/font-unicode-range"),"font-variant-alternates":require("./features/font-variant-alternates"),"font-variant-east-asian":require("./features/font-variant-east-asian"),"font-variant-numeric":require("./features/font-variant-numeric"),"fontface":require("./features/fontface"),"form-attribute":require("./features/form-attribute"),"form-submit-attributes":require("./features/form-submit-attributes"),"form-validation":require("./features/form-validation"),"forms":require("./features/forms"),"fullscreen":require("./features/fullscreen"),"gamepad":require("./features/gamepad"),"geolocation":require("./features/geolocation"),"getboundingclientrect":require("./features/getboundingclientrect"),"getcomputedstyle":require("./features/getcomputedstyle"),"getelementsbyclassname":require("./features/getelementsbyclassname"),"getrandomvalues":require("./features/getrandomvalues"),"gyroscope":require("./features/gyroscope"),"hardwareconcurrency":require("./features/hardwareconcurrency"),"hashchange":require("./features/hashchange"),"heif":require("./features/heif"),"hevc":require("./features/hevc"),"hidden":require("./features/hidden"),"high-resolution-time":require("./features/high-resolution-time"),"history":require("./features/history"),"html-media-capture":require("./features/html-media-capture"),"html5semantic":require("./features/html5semantic"),"http-live-streaming":require("./features/http-live-streaming"),"http2":require("./features/http2"),"http3":require("./features/http3"),"iframe-sandbox":require("./features/iframe-sandbox"),"iframe-seamless":require("./features/iframe-seamless"),"iframe-srcdoc":require("./features/iframe-srcdoc"),"imagecapture":require("./features/imagecapture"),"ime":require("./features/ime"),"img-naturalwidth-naturalheight":require("./features/img-naturalwidth-naturalheight"),"import-maps":require("./features/import-maps"),"imports":require("./features/imports"),"indeterminate-checkbox":require("./features/indeterminate-checkbox"),"indexeddb":require("./features/indexeddb"),"indexeddb2":require("./features/indexeddb2"),"inline-block":require("./features/inline-block"),"innertext":require("./features/innertext"),"input-autocomplete-onoff":require("./features/input-autocomplete-onoff"),"input-color":require("./features/input-color"),"input-datetime":require("./features/input-datetime"),"input-email-tel-url":require("./features/input-email-tel-url"),"input-event":require("./features/input-event"),"input-file-accept":require("./features/input-file-accept"),"input-file-directory":require("./features/input-file-directory"),"input-file-multiple":require("./features/input-file-multiple"),"input-inputmode":require("./features/input-inputmode"),"input-minlength":require("./features/input-minlength"),"input-number":require("./features/input-number"),"input-pattern":require("./features/input-pattern"),"input-placeholder":require("./features/input-placeholder"),"input-range":require("./features/input-range"),"input-search":require("./features/input-search"),"input-selection":require("./features/input-selection"),"insert-adjacent":require("./features/insert-adjacent"),"insertadjacenthtml":require("./features/insertadjacenthtml"),"internationalization":require("./features/internationalization"),"intersectionobserver-v2":require("./features/intersectionobserver-v2"),"intersectionobserver":require("./features/intersectionobserver"),"intl-pluralrules":require("./features/intl-pluralrules"),"intrinsic-width":require("./features/intrinsic-width"),"jpeg2000":require("./features/jpeg2000"),"jpegxl":require("./features/jpegxl"),"jpegxr":require("./features/jpegxr"),"js-regexp-lookbehind":require("./features/js-regexp-lookbehind"),"json":require("./features/json"),"justify-content-space-evenly":require("./features/justify-content-space-evenly"),"kerning-pairs-ligatures":require("./features/kerning-pairs-ligatures"),"keyboardevent-charcode":require("./features/keyboardevent-charcode"),"keyboardevent-code":require("./features/keyboardevent-code"),"keyboardevent-getmodifierstate":require("./features/keyboardevent-getmodifierstate"),"keyboardevent-key":require("./features/keyboardevent-key"),"keyboardevent-location":require("./features/keyboardevent-location"),"keyboardevent-which":require("./features/keyboardevent-which"),"lazyload":require("./features/lazyload"),"let":require("./features/let"),"link-icon-png":require("./features/link-icon-png"),"link-icon-svg":require("./features/link-icon-svg"),"link-rel-dns-prefetch":require("./features/link-rel-dns-prefetch"),"link-rel-modulepreload":require("./features/link-rel-modulepreload"),"link-rel-preconnect":require("./features/link-rel-preconnect"),"link-rel-prefetch":require("./features/link-rel-prefetch"),"link-rel-preload":require("./features/link-rel-preload"),"link-rel-prerender":require("./features/link-rel-prerender"),"loading-lazy-attr":require("./features/loading-lazy-attr"),"localecompare":require("./features/localecompare"),"magnetometer":require("./features/magnetometer"),"matchesselector":require("./features/matchesselector"),"matchmedia":require("./features/matchmedia"),"mathml":require("./features/mathml"),"maxlength":require("./features/maxlength"),"media-attribute":require("./features/media-attribute"),"media-fragments":require("./features/media-fragments"),"media-session-api":require("./features/media-session-api"),"mediacapture-fromelement":require("./features/mediacapture-fromelement"),"mediarecorder":require("./features/mediarecorder"),"mediasource":require("./features/mediasource"),"menu":require("./features/menu"),"meta-theme-color":require("./features/meta-theme-color"),"meter":require("./features/meter"),"midi":require("./features/midi"),"minmaxwh":require("./features/minmaxwh"),"mp3":require("./features/mp3"),"mpeg-dash":require("./features/mpeg-dash"),"mpeg4":require("./features/mpeg4"),"multibackgrounds":require("./features/multibackgrounds"),"multicolumn":require("./features/multicolumn"),"mutation-events":require("./features/mutation-events"),"mutationobserver":require("./features/mutationobserver"),"namevalue-storage":require("./features/namevalue-storage"),"native-filesystem-api":require("./features/native-filesystem-api"),"nav-timing":require("./features/nav-timing"),"navigator-language":require("./features/navigator-language"),"netinfo":require("./features/netinfo"),"notifications":require("./features/notifications"),"object-entries":require("./features/object-entries"),"object-fit":require("./features/object-fit"),"object-observe":require("./features/object-observe"),"object-values":require("./features/object-values"),"objectrtc":require("./features/objectrtc"),"offline-apps":require("./features/offline-apps"),"offscreencanvas":require("./features/offscreencanvas"),"ogg-vorbis":require("./features/ogg-vorbis"),"ogv":require("./features/ogv"),"ol-reversed":require("./features/ol-reversed"),"once-event-listener":require("./features/once-event-listener"),"online-status":require("./features/online-status"),"opus":require("./features/opus"),"orientation-sensor":require("./features/orientation-sensor"),"outline":require("./features/outline"),"pad-start-end":require("./features/pad-start-end"),"page-transition-events":require("./features/page-transition-events"),"pagevisibility":require("./features/pagevisibility"),"passive-event-listener":require("./features/passive-event-listener"),"passwordrules":require("./features/passwordrules"),"path2d":require("./features/path2d"),"payment-request":require("./features/payment-request"),"pdf-viewer":require("./features/pdf-viewer"),"permissions-api":require("./features/permissions-api"),"permissions-policy":require("./features/permissions-policy"),"picture-in-picture":require("./features/picture-in-picture"),"picture":require("./features/picture"),"ping":require("./features/ping"),"png-alpha":require("./features/png-alpha"),"pointer-events":require("./features/pointer-events"),"pointer":require("./features/pointer"),"pointerlock":require("./features/pointerlock"),"portals":require("./features/portals"),"prefers-color-scheme":require("./features/prefers-color-scheme"),"prefers-reduced-motion":require("./features/prefers-reduced-motion"),"private-class-fields":require("./features/private-class-fields"),"private-methods-and-accessors":require("./features/private-methods-and-accessors"),"progress":require("./features/progress"),"promise-finally":require("./features/promise-finally"),"promises":require("./features/promises"),"proximity":require("./features/proximity"),"proxy":require("./features/proxy"),"public-class-fields":require("./features/public-class-fields"),"publickeypinning":require("./features/publickeypinning"),"push-api":require("./features/push-api"),"queryselector":require("./features/queryselector"),"readonly-attr":require("./features/readonly-attr"),"referrer-policy":require("./features/referrer-policy"),"registerprotocolhandler":require("./features/registerprotocolhandler"),"rel-noopener":require("./features/rel-noopener"),"rel-noreferrer":require("./features/rel-noreferrer"),"rellist":require("./features/rellist"),"rem":require("./features/rem"),"requestanimationframe":require("./features/requestanimationframe"),"requestidlecallback":require("./features/requestidlecallback"),"resizeobserver":require("./features/resizeobserver"),"resource-timing":require("./features/resource-timing"),"rest-parameters":require("./features/rest-parameters"),"rtcpeerconnection":require("./features/rtcpeerconnection"),"ruby":require("./features/ruby"),"run-in":require("./features/run-in"),"same-site-cookie-attribute":require("./features/same-site-cookie-attribute"),"screen-orientation":require("./features/screen-orientation"),"script-async":require("./features/script-async"),"script-defer":require("./features/script-defer"),"scrollintoview":require("./features/scrollintoview"),"scrollintoviewifneeded":require("./features/scrollintoviewifneeded"),"sdch":require("./features/sdch"),"selection-api":require("./features/selection-api"),"server-timing":require("./features/server-timing"),"serviceworkers":require("./features/serviceworkers"),"setimmediate":require("./features/setimmediate"),"sha-2":require("./features/sha-2"),"shadowdom":require("./features/shadowdom"),"shadowdomv1":require("./features/shadowdomv1"),"sharedarraybuffer":require("./features/sharedarraybuffer"),"sharedworkers":require("./features/sharedworkers"),"sni":require("./features/sni"),"spdy":require("./features/spdy"),"speech-recognition":require("./features/speech-recognition"),"speech-synthesis":require("./features/speech-synthesis"),"spellcheck-attribute":require("./features/spellcheck-attribute"),"sql-storage":require("./features/sql-storage"),"srcset":require("./features/srcset"),"stream":require("./features/stream"),"streams":require("./features/streams"),"stricttransportsecurity":require("./features/stricttransportsecurity"),"style-scoped":require("./features/style-scoped"),"subresource-integrity":require("./features/subresource-integrity"),"svg-css":require("./features/svg-css"),"svg-filters":require("./features/svg-filters"),"svg-fonts":require("./features/svg-fonts"),"svg-fragment":require("./features/svg-fragment"),"svg-html":require("./features/svg-html"),"svg-html5":require("./features/svg-html5"),"svg-img":require("./features/svg-img"),"svg-smil":require("./features/svg-smil"),"svg":require("./features/svg"),"sxg":require("./features/sxg"),"tabindex-attr":require("./features/tabindex-attr"),"template-literals":require("./features/template-literals"),"template":require("./features/template"),"temporal":require("./features/temporal"),"testfeat":require("./features/testfeat"),"text-decoration":require("./features/text-decoration"),"text-emphasis":require("./features/text-emphasis"),"text-overflow":require("./features/text-overflow"),"text-size-adjust":require("./features/text-size-adjust"),"text-stroke":require("./features/text-stroke"),"text-underline-offset":require("./features/text-underline-offset"),"textcontent":require("./features/textcontent"),"textencoder":require("./features/textencoder"),"tls1-1":require("./features/tls1-1"),"tls1-2":require("./features/tls1-2"),"tls1-3":require("./features/tls1-3"),"token-binding":require("./features/token-binding"),"touch":require("./features/touch"),"transforms2d":require("./features/transforms2d"),"transforms3d":require("./features/transforms3d"),"trusted-types":require("./features/trusted-types"),"ttf":require("./features/ttf"),"typedarrays":require("./features/typedarrays"),"u2f":require("./features/u2f"),"unhandledrejection":require("./features/unhandledrejection"),"upgradeinsecurerequests":require("./features/upgradeinsecurerequests"),"url-scroll-to-text-fragment":require("./features/url-scroll-to-text-fragment"),"url":require("./features/url"),"urlsearchparams":require("./features/urlsearchparams"),"use-strict":require("./features/use-strict"),"user-select-none":require("./features/user-select-none"),"user-timing":require("./features/user-timing"),"variable-fonts":require("./features/variable-fonts"),"vector-effect":require("./features/vector-effect"),"vibration":require("./features/vibration"),"video":require("./features/video"),"videotracks":require("./features/videotracks"),"viewport-unit-variants":require("./features/viewport-unit-variants"),"viewport-units":require("./features/viewport-units"),"wai-aria":require("./features/wai-aria"),"wake-lock":require("./features/wake-lock"),"wasm":require("./features/wasm"),"wav":require("./features/wav"),"wbr-element":require("./features/wbr-element"),"web-animation":require("./features/web-animation"),"web-app-manifest":require("./features/web-app-manifest"),"web-bluetooth":require("./features/web-bluetooth"),"web-serial":require("./features/web-serial"),"web-share":require("./features/web-share"),"webauthn":require("./features/webauthn"),"webgl":require("./features/webgl"),"webgl2":require("./features/webgl2"),"webgpu":require("./features/webgpu"),"webhid":require("./features/webhid"),"webkit-user-drag":require("./features/webkit-user-drag"),"webm":require("./features/webm"),"webnfc":require("./features/webnfc"),"webp":require("./features/webp"),"websockets":require("./features/websockets"),"webusb":require("./features/webusb"),"webvr":require("./features/webvr"),"webvtt":require("./features/webvtt"),"webworkers":require("./features/webworkers"),"webxr":require("./features/webxr"),"will-change":require("./features/will-change"),"woff":require("./features/woff"),"woff2":require("./features/woff2"),"word-break":require("./features/word-break"),"wordwrap":require("./features/wordwrap"),"x-doc-messaging":require("./features/x-doc-messaging"),"x-frame-options":require("./features/x-frame-options"),"xhr2":require("./features/xhr2"),"xhtml":require("./features/xhtml"),"xhtmlsmil":require("./features/xhtmlsmil"),"xml-serializer":require("./features/xml-serializer")}; diff --git a/node_modules/caniuse-lite/data/features/aac.js b/node_modules/caniuse-lite/data/features/aac.js new file mode 100644 index 00000000..a0d1e9ad --- /dev/null +++ b/node_modules/caniuse-lite/data/features/aac.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g mB nB","132":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G","16":"A B"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"2":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"132":"Q"},N:{"1":"A","2":"B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"132":"gC"}},B:6,C:"AAC audio file format"}; diff --git a/node_modules/caniuse-lite/data/features/abortcontroller.js b/node_modules/caniuse-lite/data/features/abortcontroller.js new file mode 100644 index 00000000..3aeef4b3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/abortcontroller.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","2":"C K L D"},C:{"1":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB mB nB"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB"},E:{"1":"K L D aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB","130":"C ZB"},F:{"1":"CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"ZC gB aC bC cC dC","2":"I VC WC XC YC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"AbortController & AbortSignal"}; diff --git a/node_modules/caniuse-lite/data/features/ac3-ec3.js b/node_modules/caniuse-lite/data/features/ac3-ec3.js new file mode 100644 index 00000000..dcfe0342 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/ac3-ec3.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O","2":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B","132":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E","132":"A"},K:{"2":"A B C R ZB hB","132":"aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"132":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs"}; diff --git a/node_modules/caniuse-lite/data/features/accelerometer.js b/node_modules/caniuse-lite/data/features/accelerometer.js new file mode 100644 index 00000000..a3acffba --- /dev/null +++ b/node_modules/caniuse-lite/data/features/accelerometer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB","194":"HB cB IB dB JB KB R LB MB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"Accelerometer"}; diff --git a/node_modules/caniuse-lite/data/features/addeventlistener.js b/node_modules/caniuse-lite/data/features/addeventlistener.js new file mode 100644 index 00000000..32d5f317 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/addeventlistener.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","130":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","257":"kB bB I d J mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"EventTarget.addEventListener()"}; diff --git a/node_modules/caniuse-lite/data/features/alternate-stylesheet.js b/node_modules/caniuse-lite/data/features/alternate-stylesheet.js new file mode 100644 index 00000000..51d9f77f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/alternate-stylesheet.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F G A B","2":"J E jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"G B C zB 0B 1B 2B ZB hB 3B aB","16":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"16":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"2":"R","16":"A B C ZB hB aB"},L:{"16":"H"},M:{"16":"Q"},N:{"16":"A B"},O:{"16":"UC"},P:{"16":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"16":"fC"},S:{"1":"gC"}},B:1,C:"Alternate stylesheet"}; diff --git a/node_modules/caniuse-lite/data/features/ambient-light.js b/node_modules/caniuse-lite/data/features/ambient-light.js new file mode 100644 index 00000000..df3f312a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/ambient-light.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K","132":"L D M N O","322":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g mB nB","132":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB","194":"IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB","322":"HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB zB 0B 1B 2B ZB hB 3B aB","322":"TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"132":"gC"}},B:4,C:"Ambient Light Sensor"}; diff --git a/node_modules/caniuse-lite/data/features/apng.js b/node_modules/caniuse-lite/data/features/apng.js new file mode 100644 index 00000000..ae131bcf --- /dev/null +++ b/node_modules/caniuse-lite/data/features/apng.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB"},D:{"1":"cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB"},E:{"1":"F G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E rB fB sB tB uB"},F:{"1":"5 6 7 8 9 B C AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"0 1 2 3 4 G D M N O e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","2":"I VC WC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:7,C:"Animated PNG (APNG)"}; diff --git a/node_modules/caniuse-lite/data/features/array-find-index.js b/node_modules/caniuse-lite/data/features/array-find-index.js new file mode 100644 index 00000000..2c43913c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/array-find-index.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j mB nB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J E rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E","16":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Array.prototype.findIndex"}; diff --git a/node_modules/caniuse-lite/data/features/array-find.js b/node_modules/caniuse-lite/data/features/array-find.js new file mode 100644 index 00000000..6c61f5b4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/array-find.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","16":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j mB nB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J E rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E","16":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Array.prototype.find"}; diff --git a/node_modules/caniuse-lite/data/features/array-flat.js b/node_modules/caniuse-lite/data/features/array-flat.js new file mode 100644 index 00000000..7bcb0f8e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/array-flat.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB mB nB"},D:{"1":"PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB"},E:{"1":"C K L D aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB ZB"},F:{"1":"FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"gB aC bC cC dC","2":"I VC WC XC YC ZC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"flat & flatMap array methods"}; diff --git a/node_modules/caniuse-lite/data/features/array-includes.js b/node_modules/caniuse-lite/data/features/array-includes.js new file mode 100644 index 00000000..cc279d25 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/array-includes.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","2":"C K"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Array.prototype.includes"}; diff --git a/node_modules/caniuse-lite/data/features/arrow-functions.js b/node_modules/caniuse-lite/data/features/arrow-functions.js new file mode 100644 index 00000000..dcd07281 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/arrow-functions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g mB nB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Arrow functions"}; diff --git a/node_modules/caniuse-lite/data/features/asmjs.js b/node_modules/caniuse-lite/data/features/asmjs.js new file mode 100644 index 00000000..f79644e9 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/asmjs.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O","132":"P S T U V W X Y Z a b c Q H","322":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g mB nB"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j k l m","132":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","132":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","132":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","132":"R"},L:{"132":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I","132":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"132":"eC"},R:{"132":"fC"},S:{"1":"gC"}},B:6,C:"asm.js"}; diff --git a/node_modules/caniuse-lite/data/features/async-clipboard.js b/node_modules/caniuse-lite/data/features/async-clipboard.js new file mode 100644 index 00000000..5db34c7d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/async-clipboard.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB mB nB","132":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB","66":"HB cB IB dB"},E:{"1":"L D wB xB yB","2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC","260":"D LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","260":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","260":"R"},L:{"1":"H"},M:{"132":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC","260":"ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"Asynchronous Clipboard API"}; diff --git a/node_modules/caniuse-lite/data/features/async-functions.js b/node_modules/caniuse-lite/data/features/async-functions.js new file mode 100644 index 00000000..404d6dca --- /dev/null +++ b/node_modules/caniuse-lite/data/features/async-functions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","2":"C K","194":"L"},C:{"1":"BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB mB nB"},D:{"1":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB","514":"gB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC","514":"CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I VC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"Async functions"}; diff --git a/node_modules/caniuse-lite/data/features/atob-btoa.js b/node_modules/caniuse-lite/data/features/atob-btoa.js new file mode 100644 index 00000000..5dc009fa --- /dev/null +++ b/node_modules/caniuse-lite/data/features/atob-btoa.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 2B ZB hB 3B aB","2":"G zB 0B","16":"1B"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","16":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Base64 encoding and decoding"}; diff --git a/node_modules/caniuse-lite/data/features/audio-api.js b/node_modules/caniuse-lite/data/features/audio-api.js new file mode 100644 index 00000000..1622a5d3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/audio-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K","33":"L D M N O e f g h i j k l m n o p q r s"},E:{"1":"D xB yB","2":"I d rB fB sB","33":"J E F G A B C K L tB uB vB gB ZB aB wB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"D M N O e f g"},G:{"1":"D MC","2":"fB 4B iB 5B","33":"F 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"Web Audio API"}; diff --git a/node_modules/caniuse-lite/data/features/audio.js b/node_modules/caniuse-lite/data/features/audio.js new file mode 100644 index 00000000..3685bd69 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/audio.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","132":"I d J E F G A B C K L D M N O e mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G","4":"zB 0B"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","2":"OC PC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Audio element"}; diff --git a/node_modules/caniuse-lite/data/features/audiotracks.js b/node_modules/caniuse-lite/data/features/audiotracks.js new file mode 100644 index 00000000..872f0ae2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/audiotracks.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O","322":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r mB nB","194":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"0 1 2 3 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","322":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB"},F:{"2":"G B C D M N O e f g h i j k l m n o p q zB 0B 1B 2B ZB hB 3B aB","322":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"322":"H"},M:{"2":"Q"},N:{"1":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"194":"gC"}},B:1,C:"Audio Tracks"}; diff --git a/node_modules/caniuse-lite/data/features/autofocus.js b/node_modules/caniuse-lite/data/features/autofocus.js new file mode 100644 index 00000000..8cfed9a8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/autofocus.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"2":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:1,C:"Autofocus attribute"}; diff --git a/node_modules/caniuse-lite/data/features/auxclick.js b/node_modules/caniuse-lite/data/features/auxclick.js new file mode 100644 index 00000000..14170191 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/auxclick.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB mB nB","129":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"Auxclick"}; diff --git a/node_modules/caniuse-lite/data/features/av1.js b/node_modules/caniuse-lite/data/features/av1.js new file mode 100644 index 00000000..09b7b3a9 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/av1.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N","194":"O"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB mB nB","66":"EB FB GB HB cB IB dB JB KB R","260":"LB","516":"MB"},D:{"1":"QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB","66":"NB OB PB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1090":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"bC cC dC","2":"I VC WC XC YC ZC gB aC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"AV1 video format"}; diff --git a/node_modules/caniuse-lite/data/features/avif.js b/node_modules/caniuse-lite/data/features/avif.js new file mode 100644 index 00000000..4345395b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/avif.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB mB nB","194":"XB YB P S T lB U V W X Y Z a b c Q"},D:{"1":"W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"194":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"dC","2":"I VC WC XC YC ZC gB aC bC cC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"AVIF image format"}; diff --git a/node_modules/caniuse-lite/data/features/background-attachment.js b/node_modules/caniuse-lite/data/features/background-attachment.js new file mode 100644 index 00000000..aea12d68 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/background-attachment.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","132":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","132":"kB bB I d J E F G A B C K L D M N O e f g h i j mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J E F G A B C sB tB uB vB gB ZB aB","132":"I K rB fB wB","2050":"L D xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","132":"G zB 0B"},G:{"2":"fB 4B iB","772":"F 5B 6B 7B 8B 9B AC BC CC DC EC FC GC","2050":"D HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC SC TC","132":"RC iB"},J:{"260":"E A"},K:{"1":"B C ZB hB aB","2":"R","132":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"2":"I","1028":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1028":"fC"},S:{"1":"gC"}},B:4,C:"CSS background-attachment"}; diff --git a/node_modules/caniuse-lite/data/features/background-clip-text.js b/node_modules/caniuse-lite/data/features/background-clip-text.js new file mode 100644 index 00000000..a360d551 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/background-clip-text.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"D M N O","33":"C K L P S T U V W X Y Z a b c Q H"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"16":"rB fB","33":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"16":"fB 4B iB 5B","33":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"16":"bB OC PC QC","33":"I H RC iB SC TC"},J:{"33":"E A"},K:{"16":"A B C ZB hB aB","33":"R"},L:{"33":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"33":"UC"},P:{"33":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"33":"eC"},R:{"33":"fC"},S:{"1":"gC"}},B:7,C:"Background-clip: text"}; diff --git a/node_modules/caniuse-lite/data/features/background-img-opts.js b/node_modules/caniuse-lite/data/features/background-img-opts.js new file mode 100644 index 00000000..542ae300 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/background-img-opts.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB","36":"nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","516":"I d J E F G A B C K L"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","772":"I d J rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB","36":"0B"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","4":"fB 4B iB 6B","516":"5B"},H:{"132":"NC"},I:{"1":"H SC TC","36":"OC","516":"bB I RC iB","548":"PC QC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS3 Background-image options"}; diff --git a/node_modules/caniuse-lite/data/features/background-position-x-y.js b/node_modules/caniuse-lite/data/features/background-position-x-y.js new file mode 100644 index 00000000..4c89046b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/background-position-x-y.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:7,C:"background-position-x & background-position-y"}; diff --git a/node_modules/caniuse-lite/data/features/background-repeat-round-space.js b/node_modules/caniuse-lite/data/features/background-repeat-round-space.js new file mode 100644 index 00000000..79cd5055 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/background-repeat-round-space.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F jB","132":"G"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G D M N O zB 0B"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:4,C:"CSS background-repeat round and space"}; diff --git a/node_modules/caniuse-lite/data/features/background-sync.js b/node_modules/caniuse-lite/data/features/background-sync.js new file mode 100644 index 00000000..9c755ce0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/background-sync.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q mB nB","16":"H eB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Background Sync API"}; diff --git a/node_modules/caniuse-lite/data/features/battery-status.js b/node_modules/caniuse-lite/data/features/battery-status.js new file mode 100644 index 00000000..f8000021 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/battery-status.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"2 3 4 5 6 7 8 9 AB","2":"kB bB I d J E F G BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","132":"0 1 M N O e f g h i j k l m n o p q r s t u v w x y z","164":"A B C K L D"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v","66":"w"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"Battery Status API"}; diff --git a/node_modules/caniuse-lite/data/features/beacon.js b/node_modules/caniuse-lite/data/features/beacon.js new file mode 100644 index 00000000..0335987d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/beacon.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"Beacon API"}; diff --git a/node_modules/caniuse-lite/data/features/beforeafterprint.js b/node_modules/caniuse-lite/data/features/beforeafterprint.js new file mode 100644 index 00000000..7bd1bd9f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/beforeafterprint.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B","16":"jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d mB nB"},D:{"1":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"16":"A B"},O:{"16":"UC"},P:{"2":"VC WC XC YC ZC gB aC bC cC dC","16":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:1,C:"Printing Events"}; diff --git a/node_modules/caniuse-lite/data/features/bigint.js b/node_modules/caniuse-lite/data/features/bigint.js new file mode 100644 index 00000000..c1dfe6e0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/bigint.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R mB nB","194":"LB MB NB"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB"},E:{"1":"L D xB yB","2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB wB"},F:{"1":"DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"ZC gB aC bC cC dC","2":"I VC WC XC YC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"BigInt"}; diff --git a/node_modules/caniuse-lite/data/features/blobbuilder.js b/node_modules/caniuse-lite/data/features/blobbuilder.js new file mode 100644 index 00000000..e1bd32c8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/blobbuilder.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d mB nB","36":"J E F G A B C"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E","36":"F G A B C K L D M N O e"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B C zB 0B 1B 2B ZB hB 3B"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B"},H:{"2":"NC"},I:{"1":"H","2":"OC PC QC","36":"bB I RC iB SC TC"},J:{"1":"A","2":"E"},K:{"1":"R aB","2":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"Blob constructing"}; diff --git a/node_modules/caniuse-lite/data/features/bloburls.js b/node_modules/caniuse-lite/data/features/bloburls.js new file mode 100644 index 00000000..e1b4a18e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/bloburls.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","129":"A B"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","129":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E","33":"F G A B C K L D M N O e f g h"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B","33":"6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB OC PC QC","33":"I RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"Blob URLs"}; diff --git a/node_modules/caniuse-lite/data/features/border-image.js b/node_modules/caniuse-lite/data/features/border-image.js new file mode 100644 index 00000000..ad45fbda --- /dev/null +++ b/node_modules/caniuse-lite/data/features/border-image.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","129":"C K"},C:{"1":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","260":"0 1 2 3 4 5 6 7 8 D M N O e f g h i j k l m n o p q r s t u v w x y z","804":"I d J E F G A B C K L mB nB"},D:{"1":"FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","260":"AB BB CB DB EB","388":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z","1412":"D M N O e f g h i j k l m n o","1956":"I d J E F G A B C K L"},E:{"129":"A B C K L D vB gB ZB aB wB xB yB","1412":"J E F G tB uB","1956":"I d rB fB sB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G zB 0B","260":"0 1 x y z","388":"D M N O e f g h i j k l m n o p q r s t u v w","1796":"1B 2B","1828":"B C ZB hB 3B aB"},G:{"129":"D AC BC CC DC EC FC GC HC IC JC KC LC MC","1412":"F 6B 7B 8B 9B","1956":"fB 4B iB 5B"},H:{"1828":"NC"},I:{"1":"H","388":"SC TC","1956":"bB I OC PC QC RC iB"},J:{"1412":"A","1924":"E"},K:{"1":"R","2":"A","1828":"B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"388":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","260":"VC WC","388":"I"},Q:{"260":"eC"},R:{"260":"fC"},S:{"260":"gC"}},B:4,C:"CSS3 Border images"}; diff --git a/node_modules/caniuse-lite/data/features/border-radius.js b/node_modules/caniuse-lite/data/features/border-radius.js new file mode 100644 index 00000000..965c2ddf --- /dev/null +++ b/node_modules/caniuse-lite/data/features/border-radius.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","257":"0 1 2 3 4 5 6 7 8 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","289":"bB mB nB","292":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"I"},E:{"1":"d E F G A B C K L D uB vB gB ZB aB wB xB yB","33":"I rB fB","129":"J sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","33":"fB"},H:{"2":"NC"},I:{"1":"bB I H PC QC RC iB SC TC","33":"OC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"257":"gC"}},B:4,C:"CSS3 Border-radius (rounded corners)"}; diff --git a/node_modules/caniuse-lite/data/features/broadcastchannel.js b/node_modules/caniuse-lite/data/features/broadcastchannel.js new file mode 100644 index 00000000..bcc5331b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/broadcastchannel.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w mB nB"},D:{"1":"DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","2":"I VC WC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:1,C:"BroadcastChannel"}; diff --git a/node_modules/caniuse-lite/data/features/brotli.js b/node_modules/caniuse-lite/data/features/brotli.js new file mode 100644 index 00000000..5ceb15dc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/brotli.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","2":"C K L"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","194":"8","257":"9"},E:{"1":"K L D wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB","513":"B C ZB aB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u zB 0B 1B 2B ZB hB 3B aB","194":"v w"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:6,C:"Brotli Accept-Encoding/Content-Encoding"}; diff --git a/node_modules/caniuse-lite/data/features/calc.js b/node_modules/caniuse-lite/data/features/calc.js new file mode 100644 index 00000000..46236487 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/calc.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","260":"G","516":"A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","33":"I d J E F G A B C K L D"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O","33":"e f g h i j k"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B","33":"6B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB","132":"SC TC"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"calc() as CSS unit value"}; diff --git a/node_modules/caniuse-lite/data/features/canvas-blending.js b/node_modules/caniuse-lite/data/features/canvas-blending.js new file mode 100644 index 00000000..79d44114 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/canvas-blending.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"Canvas blend modes"}; diff --git a/node_modules/caniuse-lite/data/features/canvas-text.js b/node_modules/caniuse-lite/data/features/canvas-text.js new file mode 100644 index 00000000..b93bcec2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/canvas-text.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"jB","8":"J E F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","8":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","8":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","8":"G zB 0B"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","8":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Text API for Canvas"}; diff --git a/node_modules/caniuse-lite/data/features/canvas.js b/node_modules/caniuse-lite/data/features/canvas.js new file mode 100644 index 00000000..5a58a27d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/canvas.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"jB","8":"J E F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB nB","132":"kB bB mB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","132":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"260":"NC"},I:{"1":"bB I H RC iB SC TC","132":"OC PC QC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Canvas (basic support)"}; diff --git a/node_modules/caniuse-lite/data/features/ch-unit.js b/node_modules/caniuse-lite/data/features/ch-unit.js new file mode 100644 index 00000000..eb04e9bd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/ch-unit.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","132":"G A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"ch (character) unit"}; diff --git a/node_modules/caniuse-lite/data/features/chacha20-poly1305.js b/node_modules/caniuse-lite/data/features/chacha20-poly1305.js new file mode 100644 index 00000000..299dd67b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/chacha20-poly1305.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r","129":"0 1 2 3 4 5 6 7 s t u v w x y z"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC","16":"TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS"}; diff --git a/node_modules/caniuse-lite/data/features/channel-messaging.js b/node_modules/caniuse-lite/data/features/channel-messaging.js new file mode 100644 index 00000000..3cbcc1aa --- /dev/null +++ b/node_modules/caniuse-lite/data/features/channel-messaging.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k mB nB","194":"l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 2B ZB hB 3B aB","2":"G zB 0B","16":"1B"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Channel messaging"}; diff --git a/node_modules/caniuse-lite/data/features/childnode-remove.js b/node_modules/caniuse-lite/data/features/childnode-remove.js new file mode 100644 index 00000000..68d0235a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/childnode-remove.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB","16":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"ChildNode.remove()"}; diff --git a/node_modules/caniuse-lite/data/features/classlist.js b/node_modules/caniuse-lite/data/features/classlist.js new file mode 100644 index 00000000..dbd310a2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/classlist.js @@ -0,0 +1 @@ +module.exports={A:{A:{"8":"J E F G jB","1924":"A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","8":"kB bB mB","516":"j k","772":"I d J E F G A B C K L D M N O e f g h i nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","8":"I d J E","516":"j k l m","772":"i","900":"F G A B C K L D M N O e f g h"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","8":"I d rB fB","900":"J sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","8":"G B zB 0B 1B 2B ZB","900":"C hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","8":"fB 4B iB","900":"5B 6B"},H:{"900":"NC"},I:{"1":"H SC TC","8":"OC PC QC","900":"bB I RC iB"},J:{"1":"A","900":"E"},K:{"1":"R","8":"A B","900":"C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"900":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"classList (DOMTokenList)"}; diff --git a/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js b/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js new file mode 100644 index 00000000..30b5925c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"2":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:6,C:"Client Hints: DPR, Width, Viewport-Width"}; diff --git a/node_modules/caniuse-lite/data/features/clipboard.js b/node_modules/caniuse-lite/data/features/clipboard.js new file mode 100644 index 00000000..403c9c96 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/clipboard.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2436":"J E F G A B jB"},B:{"260":"N O","2436":"C K L D M","8196":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g mB nB","772":"h i j k l m n o p q r s t u v w x y z","4100":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"I d J E F G A B C","2564":"0 1 K L D M N O e f g h i j k l m n o p q r s t u v w x y z","8196":"HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","10244":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB"},E:{"1":"C K L D aB wB xB yB","16":"rB fB","2308":"A B gB ZB","2820":"I d J E F G sB tB uB vB"},F:{"2":"G B zB 0B 1B 2B ZB hB 3B","16":"C","516":"aB","2564":"D M N O e f g h i j k l m n o","8196":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","10244":"0 1 2 3 p q r s t u v w x y z"},G:{"1":"D FC GC HC IC JC KC LC MC","2":"fB 4B iB","2820":"F 5B 6B 7B 8B 9B AC BC CC DC EC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","260":"H","2308":"SC TC"},J:{"2":"E","2308":"A"},K:{"2":"A B C ZB hB","16":"aB","260":"R"},L:{"8196":"H"},M:{"1028":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2052":"VC WC","2308":"I","8196":"XC YC ZC gB aC bC cC dC"},Q:{"10244":"eC"},R:{"2052":"fC"},S:{"4100":"gC"}},B:5,C:"Synchronous Clipboard API"}; diff --git a/node_modules/caniuse-lite/data/features/colr.js b/node_modules/caniuse-lite/data/features/colr.js new file mode 100644 index 00000000..374735db --- /dev/null +++ b/node_modules/caniuse-lite/data/features/colr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","257":"G A B"},B:{"1":"C K L D M N O","513":"P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB","513":"RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"L D xB yB","2":"I d J E F G A rB fB sB tB uB vB gB","129":"B C K ZB aB wB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB zB 0B 1B 2B ZB hB 3B aB","513":"HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"16":"A B"},O:{"1":"UC"},P:{"1":"gB aC bC cC dC","2":"I VC WC XC YC ZC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"COLR/CPAL(v0) Font Formats"}; diff --git a/node_modules/caniuse-lite/data/features/comparedocumentposition.js b/node_modules/caniuse-lite/data/features/comparedocumentposition.js new file mode 100644 index 00000000..4939260b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/comparedocumentposition.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","16":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L","132":"D M N O e f g h i j k l m n o"},E:{"1":"A B C K L D gB ZB aB wB xB yB","16":"I d J rB fB","132":"E F G tB uB vB","260":"sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","16":"G B zB 0B 1B 2B ZB hB","132":"D M"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB","132":"F 4B iB 5B 6B 7B 8B 9B AC"},H:{"1":"NC"},I:{"1":"H SC TC","16":"OC PC","132":"bB I QC RC iB"},J:{"132":"E A"},K:{"1":"C R aB","16":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Node.compareDocumentPosition()"}; diff --git a/node_modules/caniuse-lite/data/features/console-basic.js b/node_modules/caniuse-lite/data/features/console-basic.js new file mode 100644 index 00000000..ef630d11 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/console-basic.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E jB","132":"F G"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","2":"G zB 0B 1B 2B"},G:{"1":"fB 4B iB 5B","513":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"4097":"NC"},I:{"1025":"bB I H OC PC QC RC iB SC TC"},J:{"258":"E A"},K:{"2":"A","258":"B C ZB hB aB","1025":"R"},L:{"1025":"H"},M:{"2049":"Q"},N:{"258":"A B"},O:{"258":"UC"},P:{"1025":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1025":"fC"},S:{"1":"gC"}},B:1,C:"Basic console logging functions"}; diff --git a/node_modules/caniuse-lite/data/features/console-time.js b/node_modules/caniuse-lite/data/features/console-time.js new file mode 100644 index 00000000..ec86f95f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/console-time.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","2":"G zB 0B 1B 2B","16":"B"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"R","16":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"console.time and console.timeEnd"}; diff --git a/node_modules/caniuse-lite/data/features/const.js b/node_modules/caniuse-lite/data/features/const.js new file mode 100644 index 00000000..bd7a7651 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/const.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","2052":"B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","132":"kB bB I d J E F G A B C mB nB","260":"K L D M N O e f g h i j k l m n o p q r s t u"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","260":"I d J E F G A B C K L D M N O e f","772":"g h i j k l m n o p q r s t u v w x y z","1028":"0 1 2 3 4 5 6 7"},E:{"1":"B C K L D ZB aB wB xB yB","260":"I d A rB fB gB","772":"J E F G sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G zB","132":"B 0B 1B 2B ZB hB","644":"C 3B aB","772":"D M N O e f g h i j k l m","1028":"n o p q r s t u"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","260":"fB 4B iB BC CC","772":"F 5B 6B 7B 8B 9B AC"},H:{"644":"NC"},I:{"1":"H","16":"OC PC","260":"QC","772":"bB I RC iB SC TC"},J:{"772":"E A"},K:{"1":"R","132":"A B ZB hB","644":"C aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","1028":"I"},Q:{"1":"eC"},R:{"1028":"fC"},S:{"1":"gC"}},B:6,C:"const"}; diff --git a/node_modules/caniuse-lite/data/features/constraint-validation.js b/node_modules/caniuse-lite/data/features/constraint-validation.js new file mode 100644 index 00000000..b49ec001 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/constraint-validation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","900":"A B"},B:{"1":"N O P S T U V W X Y Z a b c Q H","388":"L D M","900":"C K"},C:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","260":"8 9","388":"0 1 2 3 4 5 6 7 o p q r s t u v w x y z","900":"I d J E F G A B C K L D M N O e f g h i j k l m n"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L","388":"k l m n o p q r s t u v w x y","900":"D M N O e f g h i j"},E:{"1":"A B C K L D gB ZB aB wB xB yB","16":"I d rB fB","388":"F G uB vB","900":"J E sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G B zB 0B 1B 2B ZB hB","388":"D M N O e f g h i j k l","900":"C 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB","388":"F 7B 8B 9B AC","900":"5B 6B"},H:{"2":"NC"},I:{"1":"H","16":"bB OC PC QC","388":"SC TC","900":"I RC iB"},J:{"16":"E","388":"A"},K:{"1":"R","16":"A B ZB hB","900":"C aB"},L:{"1":"H"},M:{"1":"Q"},N:{"900":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"388":"gC"}},B:1,C:"Constraint Validation API"}; diff --git a/node_modules/caniuse-lite/data/features/contenteditable.js b/node_modules/caniuse-lite/data/features/contenteditable.js new file mode 100644 index 00000000..0c4696c8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/contenteditable.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB","4":"bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"2":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"E A"},K:{"1":"R aB","2":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"contenteditable attribute (basic support)"}; diff --git a/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js b/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js new file mode 100644 index 00000000..35528b6d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","132":"A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","129":"I d J E F G A B C K L D M N O e f g h"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K","257":"L D M N O e f g h i j"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d rB fB","257":"J tB","260":"sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB","257":"6B","260":"5B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E","257":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"257":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"Content Security Policy 1.0"}; diff --git a/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js b/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js new file mode 100644 index 00000000..86b48efb --- /dev/null +++ b/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L","32772":"D M N O"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p mB nB","132":"q r s t","260":"u","516":"0 1 2 3 v w x y z","8196":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u","1028":"v w x","2052":"y"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h zB 0B 1B 2B ZB hB 3B aB","1028":"i j k","2052":"l"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"4100":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"8196":"gC"}},B:2,C:"Content Security Policy Level 2"}; diff --git a/node_modules/caniuse-lite/data/features/cookie-store-api.js b/node_modules/caniuse-lite/data/features/cookie-store-api.js new file mode 100644 index 00000000..1a50e420 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/cookie-store-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"Y Z a b c Q H","2":"C K L D M N O","194":"P S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB","194":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","194":"AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"dC","2":"I VC WC XC YC ZC gB aC bC cC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Cookie Store API"}; diff --git a/node_modules/caniuse-lite/data/features/cors.js b/node_modules/caniuse-lite/data/features/cors.js new file mode 100644 index 00000000..74fbfb10 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/cors.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E jB","132":"A","260":"F G"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB","1025":"dB JB KB R LB MB NB OB PB QB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d J E F G A B C"},E:{"2":"rB fB","513":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","644":"I d sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B ZB hB 3B"},G:{"513":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","644":"fB 4B iB 5B"},H:{"2":"NC"},I:{"1":"H SC TC","132":"bB I OC PC QC RC iB"},J:{"1":"A","132":"E"},K:{"1":"C R aB","2":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","132":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Cross-Origin Resource Sharing"}; diff --git a/node_modules/caniuse-lite/data/features/createimagebitmap.js b/node_modules/caniuse-lite/data/features/createimagebitmap.js new file mode 100644 index 00000000..5be30ed8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/createimagebitmap.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","3076":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","132":"9 AB","260":"BB CB","516":"DB EB FB GB HB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v zB 0B 1B 2B ZB hB 3B aB","132":"w x","260":"y z","516":"0 1 2 3 4"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"3076":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","16":"I VC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"3076":"gC"}},B:1,C:"createImageBitmap"}; diff --git a/node_modules/caniuse-lite/data/features/credential-management.js b/node_modules/caniuse-lite/data/features/credential-management.js new file mode 100644 index 00000000..604d249b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/credential-management.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","66":"7 8 9","129":"AB BB CB DB EB FB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","2":"I VC WC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"Credential Management API"}; diff --git a/node_modules/caniuse-lite/data/features/cryptography.js b/node_modules/caniuse-lite/data/features/cryptography.js new file mode 100644 index 00000000..b4146765 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/cryptography.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"jB","8":"J E F G A","164":"B"},B:{"1":"P S T U V W X Y Z a b c Q H","513":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","8":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q mB nB","66":"r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","8":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v"},E:{"1":"B C K L D ZB aB wB xB yB","8":"I d J E rB fB sB tB","289":"F G A uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","8":"G B C D M N O e f g h i zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","8":"fB 4B iB 5B 6B 7B","289":"F 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","8":"bB I OC PC QC RC iB SC TC"},J:{"8":"E A"},K:{"1":"R","8":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"8":"A","164":"B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"Web Cryptography"}; diff --git a/node_modules/caniuse-lite/data/features/css-all.js b/node_modules/caniuse-lite/data/features/css-all.js new file mode 100644 index 00000000..25bc4a29 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-all.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B"},H:{"2":"NC"},I:{"1":"H TC","2":"bB I OC PC QC RC iB SC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS all property"}; diff --git a/node_modules/caniuse-lite/data/features/css-animation.js b/node_modules/caniuse-lite/data/features/css-animation.js new file mode 100644 index 00000000..c816a42e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-animation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I mB nB","33":"d J E F G A B C K L D"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"0 1 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"rB fB","33":"J E F sB tB uB","292":"I d"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B ZB hB 3B","33":"C D M N O e f g h i j k l m n o"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","33":"F 6B 7B 8B","164":"fB 4B iB 5B"},H:{"2":"NC"},I:{"1":"H","33":"I RC iB SC TC","164":"bB OC PC QC"},J:{"33":"E A"},K:{"1":"R aB","2":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"33":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"CSS Animation"}; diff --git a/node_modules/caniuse-lite/data/features/css-any-link.js b/node_modules/caniuse-lite/data/features/css-any-link.js new file mode 100644 index 00000000..100ea5b1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-any-link.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","16":"kB","33":"0 1 2 3 4 5 6 7 8 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L","33":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","16":"I d J rB fB sB","33":"E F tB uB"},F:{"1":"BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB 5B","33":"F 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","16":"bB I OC PC QC RC iB","33":"SC TC"},J:{"16":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"33":"UC"},P:{"1":"ZC gB aC bC cC dC","16":"I","33":"VC WC XC YC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"33":"gC"}},B:5,C:"CSS :any-link selector"}; diff --git a/node_modules/caniuse-lite/data/features/css-appearance.js b/node_modules/caniuse-lite/data/features/css-appearance.js new file mode 100644 index 00000000..a1a6d94a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-appearance.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"V W X Y Z a b c Q H","33":"U","164":"P S T","388":"C K L D M N O"},C:{"1":"S T lB U V W X Y Z a b c Q H eB","164":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","676":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t mB nB"},D:{"1":"V W X Y Z a b c Q H eB oB pB qB","33":"U","164":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T"},E:{"164":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"QB RB SB","164":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB"},G:{"164":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","164":"bB I OC PC QC RC iB SC TC"},J:{"164":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A","388":"B"},O:{"164":"UC"},P:{"164":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"164":"eC"},R:{"164":"fC"},S:{"164":"gC"}},B:5,C:"CSS Appearance"}; diff --git a/node_modules/caniuse-lite/data/features/css-apply-rule.js b/node_modules/caniuse-lite/data/features/css-apply-rule.js new file mode 100644 index 00000000..6b08c3ed --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-apply-rule.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","194":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","194":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C D M N O e f g h i j k l m n o p q r s t u v w zB 0B 1B 2B ZB hB 3B aB","194":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"194":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I","194":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"194":"fC"},S:{"2":"gC"}},B:7,C:"CSS @apply rule"}; diff --git a/node_modules/caniuse-lite/data/features/css-at-counter-style.js b/node_modules/caniuse-lite/data/features/css-at-counter-style.js new file mode 100644 index 00000000..7ff8b548 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-at-counter-style.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b","132":"c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r mB nB","132":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b","132":"c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB zB 0B 1B 2B ZB hB 3B aB","132":"XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","132":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","132":"R"},L:{"132":"H"},M:{"132":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"132":"gC"}},B:4,C:"CSS Counter Styles"}; diff --git a/node_modules/caniuse-lite/data/features/css-backdrop-filter.js b/node_modules/caniuse-lite/data/features/css-backdrop-filter.js new file mode 100644 index 00000000..1d733298 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-backdrop-filter.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M","257":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB mB nB","578":"QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","194":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB"},E:{"2":"I d J E F rB fB sB tB uB","33":"G A B C K L D vB gB ZB aB wB xB yB"},F:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s zB 0B 1B 2B ZB hB 3B aB","194":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B","33":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"578":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"bC cC dC","2":"I","194":"VC WC XC YC ZC gB aC"},Q:{"194":"eC"},R:{"194":"fC"},S:{"2":"gC"}},B:7,C:"CSS Backdrop Filter"}; diff --git a/node_modules/caniuse-lite/data/features/css-background-offsets.js b/node_modules/caniuse-lite/data/features/css-background-offsets.js new file mode 100644 index 00000000..881a8249 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-background-offsets.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS background-position edge offsets"}; diff --git a/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js b/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js new file mode 100644 index 00000000..ec48eb18 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o mB nB"},D:{"1":"0 1 2 3 4 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t","260":"5"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E rB fB sB tB","132":"F G A uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g zB 0B 1B 2B ZB hB 3B aB","260":"s"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B","132":"F 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS background-blend-mode"}; diff --git a/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js b/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js new file mode 100644 index 00000000..5985b1aa --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","164":"P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q mB nB"},D:{"2":"I d J E F G A B C K L D M N O e f g","164":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J rB fB sB","164":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB"},F:{"2":"G zB 0B 1B 2B","129":"B C ZB hB 3B aB","164":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"fB 4B iB 5B 6B","164":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"132":"NC"},I:{"2":"bB I OC PC QC RC iB","164":"H SC TC"},J:{"2":"E","164":"A"},K:{"2":"A","129":"B C ZB hB aB","164":"R"},L:{"164":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"164":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"164":"eC"},R:{"164":"fC"},S:{"1":"gC"}},B:5,C:"CSS box-decoration-break"}; diff --git a/node_modules/caniuse-lite/data/features/css-boxshadow.js b/node_modules/caniuse-lite/data/features/css-boxshadow.js new file mode 100644 index 00000000..b11bfe78 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-boxshadow.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","33":"mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"I d J E F G"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","33":"d","164":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","33":"4B iB","164":"fB"},H:{"2":"NC"},I:{"1":"I H RC iB SC TC","164":"bB OC PC QC"},J:{"1":"A","33":"E"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS3 Box-shadow"}; diff --git a/node_modules/caniuse-lite/data/features/css-canvas.js b/node_modules/caniuse-lite/data/features/css-canvas.js new file mode 100644 index 00000000..766a78b8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-canvas.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"0 1 2 3 4 5 6 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"rB fB","33":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","33":"D M N O e f g h i j k l m n o p q r s t"},G:{"33":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"H","33":"bB I OC PC QC RC iB SC TC"},J:{"33":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"VC WC XC YC ZC gB aC bC cC dC","33":"I"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"CSS Canvas Drawings"}; diff --git a/node_modules/caniuse-lite/data/features/css-caret-color.js b/node_modules/caniuse-lite/data/features/css-caret-color.js new file mode 100644 index 00000000..10d196bc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-caret-color.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB mB nB"},D:{"1":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","2":"I VC WC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"CSS caret-color"}; diff --git a/node_modules/caniuse-lite/data/features/css-cascade-layers.js b/node_modules/caniuse-lite/data/features/css-cascade-layers.js new file mode 100644 index 00000000..0b75d95e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-cascade-layers.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H mB nB","194":"eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB","322":"pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS Cascade Layers"}; diff --git a/node_modules/caniuse-lite/data/features/css-case-insensitive.js b/node_modules/caniuse-lite/data/features/css-case-insensitive.js new file mode 100644 index 00000000..d32a5622 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-case-insensitive.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:5,C:"Case-insensitive CSS attribute selectors"}; diff --git a/node_modules/caniuse-lite/data/features/css-clip-path.js b/node_modules/caniuse-lite/data/features/css-clip-path.js new file mode 100644 index 00000000..f4267e99 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-clip-path.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N","260":"P S T U V W X Y Z a b c Q H","3138":"O"},C:{"1":"DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","132":"0 1 2 3 4 5 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","644":"6 7 8 9 AB BB CB"},D:{"2":"I d J E F G A B C K L D M N O e f g h i","260":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","292":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"2":"I d J rB fB sB tB","292":"E F G A B C K L D uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","260":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","292":"0 D M N O e f g h i j k l m n o p q r s t u v w x y z"},G:{"2":"fB 4B iB 5B 6B","292":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","260":"H","292":"SC TC"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","260":"R"},L:{"260":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"292":"UC"},P:{"292":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"292":"eC"},R:{"260":"fC"},S:{"644":"gC"}},B:4,C:"CSS clip-path property (for HTML)"}; diff --git a/node_modules/caniuse-lite/data/features/css-color-adjust.js b/node_modules/caniuse-lite/data/features/css-color-adjust.js new file mode 100644 index 00000000..a530c84a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-color-adjust.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","33":"P S T U V W X Y Z a b c Q H"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"16":"I d J E F G A B C K L D M N O","33":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d rB fB sB","33":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"16":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"16":"bB I OC PC QC RC iB SC TC","33":"H"},J:{"16":"E A"},K:{"2":"A B C ZB hB aB","33":"R"},L:{"16":"H"},M:{"1":"Q"},N:{"16":"A B"},O:{"16":"UC"},P:{"16":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"33":"eC"},R:{"16":"fC"},S:{"1":"gC"}},B:5,C:"CSS color-adjust"}; diff --git a/node_modules/caniuse-lite/data/features/css-color-function.js b/node_modules/caniuse-lite/data/features/css-color-function.js new file mode 100644 index 00000000..1e55f573 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-color-function.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"D yB","2":"I d J E F G A rB fB sB tB uB vB","132":"B C K L gB ZB aB wB xB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC","132":"CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS color() function"}; diff --git a/node_modules/caniuse-lite/data/features/css-conic-gradients.js b/node_modules/caniuse-lite/data/features/css-conic-gradients.js new file mode 100644 index 00000000..1cc15b67 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-conic-gradients.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB mB nB","578":"VB WB XB YB P S T lB"},D:{"1":"PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB","194":"cB IB dB JB KB R LB MB NB OB"},E:{"1":"K L D aB wB xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB"},F:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","194":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB"},G:{"1":"D GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"gB aC bC cC dC","2":"I VC WC XC YC ZC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS Conical Gradients"}; diff --git a/node_modules/caniuse-lite/data/features/css-container-queries.js b/node_modules/caniuse-lite/data/features/css-container-queries.js new file mode 100644 index 00000000..95adba4d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-container-queries.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q","194":"H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c","194":"H eB oB pB qB","450":"Q"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB zB 0B 1B 2B ZB hB 3B aB","194":"P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"CSS Container Queries"}; diff --git a/node_modules/caniuse-lite/data/features/css-containment.js b/node_modules/caniuse-lite/data/features/css-containment.js new file mode 100644 index 00000000..9e0f6805 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-containment.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","194":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB"},D:{"1":"BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","66":"AB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w zB 0B 1B 2B ZB hB 3B aB","66":"x y"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I VC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"194":"gC"}},B:2,C:"CSS Containment"}; diff --git a/node_modules/caniuse-lite/data/features/css-content-visibility.js b/node_modules/caniuse-lite/data/features/css-content-visibility.js new file mode 100644 index 00000000..e061e969 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-content-visibility.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"W X Y Z a b c Q H","2":"C K L D M N O P S T U V"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V"},E:{"2":"I d J E F G A B C K L rB fB sB tB uB vB gB ZB aB wB xB yB","16":"D"},F:{"1":"RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"dC","2":"I VC WC XC YC ZC gB aC bC cC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS content-visibility"}; diff --git a/node_modules/caniuse-lite/data/features/css-counters.js b/node_modules/caniuse-lite/data/features/css-counters.js new file mode 100644 index 00000000..b82637dc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-counters.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F G A B","2":"J E jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS Counters"}; diff --git a/node_modules/caniuse-lite/data/features/css-crisp-edges.js b/node_modules/caniuse-lite/data/features/css-crisp-edges.js new file mode 100644 index 00000000..609ccd00 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-crisp-edges.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J jB","2340":"E F G A B"},B:{"2":"C K L D M N O","1025":"P S T U V W X Y Z a b c Q H"},C:{"1":"H eB","2":"kB bB mB","513":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q","545":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R nB"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","1025":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d rB fB sB","164":"J","4644":"E F G tB uB vB"},F:{"2":"G B D M N O e f g h i j k l m zB 0B 1B 2B ZB hB","545":"C 3B aB","1025":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB","4260":"5B 6B","4644":"F 7B 8B 9B AC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","1025":"H"},J:{"2":"E","4260":"A"},K:{"2":"A B ZB hB","545":"C aB","1025":"R"},L:{"1025":"H"},M:{"545":"Q"},N:{"2340":"A B"},O:{"1":"UC"},P:{"1025":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1025":"eC"},R:{"1025":"fC"},S:{"4097":"gC"}},B:7,C:"Crisp edges/pixelated images"}; diff --git a/node_modules/caniuse-lite/data/features/css-cross-fade.js b/node_modules/caniuse-lite/data/features/css-cross-fade.js new file mode 100644 index 00000000..704a54c0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-cross-fade.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","33":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"I d J E F G A B C K L D M","33":"0 1 2 3 4 5 6 7 8 9 N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d rB fB","33":"J E F G sB tB uB vB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB","33":"F 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","33":"H SC TC"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","33":"R"},L:{"33":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"33":"UC"},P:{"33":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"33":"eC"},R:{"33":"fC"},S:{"2":"gC"}},B:4,C:"CSS Cross-Fade Function"}; diff --git a/node_modules/caniuse-lite/data/features/css-default-pseudo.js b/node_modules/caniuse-lite/data/features/css-default-pseudo.js new file mode 100644 index 00000000..d37fc02e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-default-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","16":"kB bB mB nB"},D:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L","132":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L D gB ZB aB wB xB yB","16":"I d rB fB","132":"J E F G A sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G B zB 0B 1B 2B ZB hB","132":"D M N O e f g h i j k l m n o p q r s t u v w","260":"C 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB 5B 6B","132":"F 7B 8B 9B AC BC"},H:{"260":"NC"},I:{"1":"H","16":"bB OC PC QC","132":"I RC iB SC TC"},J:{"16":"E","132":"A"},K:{"1":"R","16":"A B C ZB hB","260":"aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"132":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","132":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:7,C:":default CSS pseudo-class"}; diff --git a/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js b/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js new file mode 100644 index 00000000..f18b810d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O S T U V W X Y Z a b c Q H","16":"P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"B","2":"I d J E F G A C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Explicit descendant combinator >>"}; diff --git a/node_modules/caniuse-lite/data/features/css-deviceadaptation.js b/node_modules/caniuse-lite/data/features/css-deviceadaptation.js new file mode 100644 index 00000000..061983ab --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-deviceadaptation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","164":"A B"},B:{"66":"P S T U V W X Y Z a b c Q H","164":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j k l m n","66":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y zB 0B 1B 2B ZB hB 3B aB","66":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"292":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A R","292":"B C ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"164":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"66":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS Device Adaptation"}; diff --git a/node_modules/caniuse-lite/data/features/css-dir-pseudo.js b/node_modules/caniuse-lite/data/features/css-dir-pseudo.js new file mode 100644 index 00000000..bde8a2fe --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-dir-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M mB nB","33":"0 1 2 3 4 5 6 7 N O e f g h i j k l m n o p q r s t u v w x y z"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b","194":"c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"33":"gC"}},B:5,C:":dir() CSS pseudo-class"}; diff --git a/node_modules/caniuse-lite/data/features/css-display-contents.js b/node_modules/caniuse-lite/data/features/css-display-contents.js new file mode 100644 index 00000000..dd8e1415 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-display-contents.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"a b c Q H","2":"C K L D M N O","260":"P S T U V W X Y Z"},C:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v mB nB","260":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB cB IB dB"},D:{"1":"a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB","194":"HB cB IB dB JB KB R","260":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z"},E:{"2":"I d J E F G A B rB fB sB tB uB vB gB","260":"L D wB xB yB","772":"C K ZB aB"},F:{"1":"WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB zB 0B 1B 2B ZB hB 3B aB","260":"BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC","260":"D KC LC MC","772":"EC FC GC HC IC JC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC","260":"ZC gB aC bC cC dC"},Q:{"260":"eC"},R:{"2":"fC"},S:{"260":"gC"}},B:5,C:"CSS display: contents"}; diff --git a/node_modules/caniuse-lite/data/features/css-element-function.js b/node_modules/caniuse-lite/data/features/css-element-function.js new file mode 100644 index 00000000..20733c74 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-element-function.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"33":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","164":"kB bB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"33":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"33":"gC"}},B:5,C:"CSS element() function"}; diff --git a/node_modules/caniuse-lite/data/features/css-env-function.js b/node_modules/caniuse-lite/data/features/css-env-function.js new file mode 100644 index 00000000..407ecf9a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-env-function.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R mB nB"},D:{"1":"PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB","132":"B"},F:{"1":"FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC","132":"DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"gB aC bC cC dC","2":"I VC WC XC YC ZC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"CSS Environment Variables env()"}; diff --git a/node_modules/caniuse-lite/data/features/css-exclusions.js b/node_modules/caniuse-lite/data/features/css-exclusions.js new file mode 100644 index 00000000..acc79aee --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-exclusions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","33":"A B"},B:{"2":"P S T U V W X Y Z a b c Q H","33":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"33":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS Exclusions Level 1"}; diff --git a/node_modules/caniuse-lite/data/features/css-featurequeries.js b/node_modules/caniuse-lite/data/features/css-featurequeries.js new file mode 100644 index 00000000..60215030 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-featurequeries.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B C zB 0B 1B 2B ZB hB 3B"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS Feature Queries"}; diff --git a/node_modules/caniuse-lite/data/features/css-filter-function.js b/node_modules/caniuse-lite/data/features/css-filter-function.js new file mode 100644 index 00000000..4dbf469e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-filter-function.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB","33":"G"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B","33":"9B AC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS filter() function"}; diff --git a/node_modules/caniuse-lite/data/features/css-filters.js b/node_modules/caniuse-lite/data/features/css-filters.js new file mode 100644 index 00000000..68b84236 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-filters.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","1028":"K L D M N O","1346":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB","196":"t","516":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s nB"},D:{"1":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N","33":"0 1 2 3 4 5 6 7 8 9 O e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"I d rB fB sB","33":"J E F G tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"D M N O e f g h i j k l m n o p q r s t u v w x y"},G:{"1":"D AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B","33":"F 6B 7B 8B 9B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB","33":"SC TC"},J:{"2":"E","33":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","33":"I VC WC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"CSS Filter Effects"}; diff --git a/node_modules/caniuse-lite/data/features/css-first-letter.js b/node_modules/caniuse-lite/data/features/css-first-letter.js new file mode 100644 index 00000000..36b93ebd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-first-letter.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","16":"jB","516":"F","1540":"J E"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","132":"bB","260":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"d J E F","132":"I"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"d rB","132":"I fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","16":"G zB","260":"B 0B 1B 2B ZB hB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB"},H:{"1":"NC"},I:{"1":"bB I H RC iB SC TC","16":"OC PC","132":"QC"},J:{"1":"E A"},K:{"1":"C R aB","260":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"::first-letter CSS pseudo-element selector"}; diff --git a/node_modules/caniuse-lite/data/features/css-first-line.js b/node_modules/caniuse-lite/data/features/css-first-line.js new file mode 100644 index 00000000..13d52265 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-first-line.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","132":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS first-line pseudo-element"}; diff --git a/node_modules/caniuse-lite/data/features/css-fixed.js b/node_modules/caniuse-lite/data/features/css-fixed.js new file mode 100644 index 00000000..09f15f0c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-fixed.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F G A B","2":"jB","8":"J"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB gB ZB aB wB xB yB","1025":"vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB","132":"5B 6B 7B"},H:{"2":"NC"},I:{"1":"bB H SC TC","260":"OC PC QC","513":"I RC iB"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS position:fixed"}; diff --git a/node_modules/caniuse-lite/data/features/css-focus-visible.js b/node_modules/caniuse-lite/data/features/css-focus-visible.js new file mode 100644 index 00000000..ba454f8d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-focus-visible.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"X Y Z a b c Q H","2":"C K L D M N O","328":"P S T U V W"},C:{"1":"W X Y Z a b c Q H eB","2":"kB bB mB nB","161":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V"},D:{"1":"X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB","328":"NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W"},E:{"2":"I d J E F G A B C K L rB fB sB tB uB vB gB ZB aB wB xB yB","16":"D"},F:{"1":"SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB zB 0B 1B 2B ZB hB 3B aB","328":"MB NB OB PB QB RB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"dC","2":"I VC WC XC YC ZC gB aC bC cC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"161":"gC"}},B:7,C:":focus-visible CSS pseudo-class"}; diff --git a/node_modules/caniuse-lite/data/features/css-focus-within.js b/node_modules/caniuse-lite/data/features/css-focus-within.js new file mode 100644 index 00000000..77e2f6f4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-focus-within.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB mB nB"},D:{"1":"IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB","194":"cB"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","194":"5"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC XC"},Q:{"1":"eC"},R:{"16":"fC"},S:{"2":"gC"}},B:7,C:":focus-within CSS pseudo-class"}; diff --git a/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js b/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js new file mode 100644 index 00000000..13251309 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","194":"5 6 7 8 9 AB BB CB DB EB FB GB"},D:{"1":"IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","66":"8 9 AB BB CB DB EB FB GB HB cB"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u zB 0B 1B 2B ZB hB 3B aB","66":"0 1 2 3 4 5 v w x y z"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I","66":"VC WC XC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"194":"gC"}},B:5,C:"CSS font-display"}; diff --git a/node_modules/caniuse-lite/data/features/css-font-stretch.js b/node_modules/caniuse-lite/data/features/css-font-stretch.js new file mode 100644 index 00000000..08d19ad7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-font-stretch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F mB nB"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS font-stretch"}; diff --git a/node_modules/caniuse-lite/data/features/css-gencontent.js b/node_modules/caniuse-lite/data/features/css-gencontent.js new file mode 100644 index 00000000..c800c9ab --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-gencontent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E jB","132":"F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS Generated content for pseudo-elements"}; diff --git a/node_modules/caniuse-lite/data/features/css-gradients.js b/node_modules/caniuse-lite/data/features/css-gradients.js new file mode 100644 index 00000000..fec70487 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-gradients.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB","260":"M N O e f g h i j k l m n o p q r s t u","292":"I d J E F G A B C K L D nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"A B C K L D M N O e f g h i j k","548":"I d J E F G"},E:{"2":"rB fB","260":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","292":"J sB","804":"I d"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B","33":"C 3B","164":"ZB hB"},G:{"260":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","292":"5B 6B","804":"fB 4B iB"},H:{"2":"NC"},I:{"1":"H SC TC","33":"I RC iB","548":"bB OC PC QC"},J:{"1":"A","548":"E"},K:{"1":"R aB","2":"A B","33":"C","164":"ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS Gradients"}; diff --git a/node_modules/caniuse-lite/data/features/css-grid.js b/node_modules/caniuse-lite/data/features/css-grid.js new file mode 100644 index 00000000..7b68ea59 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-grid.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","8":"G","292":"A B"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","292":"C K L D"},C:{"1":"DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O mB nB","8":"e f g h i j k l m n o p q r s t u v w x y","584":"0 1 2 3 4 5 6 7 8 9 z AB","1025":"BB CB"},D:{"1":"HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j","8":"k l m n","200":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB","1025":"GB"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d rB fB sB","8":"J E F G A tB uB vB"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m zB 0B 1B 2B ZB hB 3B aB","200":"0 1 2 n o p q r s t u v w x y z"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B","8":"F 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC","8":"iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"292":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"VC","8":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:4,C:"CSS Grid Layout (level 1)"}; diff --git a/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js b/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js new file mode 100644 index 00000000..82c4553d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS hanging-punctuation"}; diff --git a/node_modules/caniuse-lite/data/features/css-has.js b/node_modules/caniuse-lite/data/features/css-has.js new file mode 100644 index 00000000..abf204a7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-has.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:":has() CSS relational pseudo-class"}; diff --git a/node_modules/caniuse-lite/data/features/css-hyphenate.js b/node_modules/caniuse-lite/data/features/css-hyphenate.js new file mode 100644 index 00000000..d4da6c42 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-hyphenate.js @@ -0,0 +1 @@ +module.exports={A:{A:{"16":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","16":"C K L D M N O"},C:{"16":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"16":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"16":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"16":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"16":"NC"},I:{"16":"bB I H OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"16":"A B C R ZB hB aB"},L:{"16":"H"},M:{"16":"Q"},N:{"16":"A B"},O:{"16":"UC"},P:{"16":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"16":"eC"},R:{"16":"fC"},S:{"16":"gC"}},B:5,C:"CSS4 Hyphenation"}; diff --git a/node_modules/caniuse-lite/data/features/css-hyphens.js b/node_modules/caniuse-lite/data/features/css-hyphens.js new file mode 100644 index 00000000..ad3d386e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-hyphens.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","33":"A B"},B:{"33":"C K L D M N O","132":"P S T U V W X Y","260":"Z a b c Q H"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d mB nB","33":"0 1 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB","132":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y"},E:{"2":"I d rB fB","33":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","132":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"fB 4B","33":"F D iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"4":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I","132":"VC"},Q:{"2":"eC"},R:{"132":"fC"},S:{"1":"gC"}},B:5,C:"CSS Hyphenation"}; diff --git a/node_modules/caniuse-lite/data/features/css-image-orientation.js b/node_modules/caniuse-lite/data/features/css-image-orientation.js new file mode 100644 index 00000000..c9117188 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-image-orientation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"a b c Q H","2":"C K L D M N O P S","257":"T U V W X Y Z"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k mB nB"},D:{"1":"a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S","257":"T U V W X Y Z"},E:{"1":"L D wB xB yB","2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB"},F:{"1":"OB PB QB RB SB","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB zB 0B 1B 2B ZB hB 3B aB","257":"TB UB VB WB XB YB P"},G:{"1":"D LC MC","132":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"cC dC","2":"I VC WC XC YC ZC gB aC bC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:4,C:"CSS3 image-orientation"}; diff --git a/node_modules/caniuse-lite/data/features/css-image-set.js b/node_modules/caniuse-lite/data/features/css-image-set.js new file mode 100644 index 00000000..ca50811c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-image-set.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","164":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W mB nB","66":"X Y","257":"a b c Q H eB","772":"Z"},D:{"2":"I d J E F G A B C K L D M N O e f","164":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d rB fB sB","132":"A B C K gB ZB aB wB","164":"J E F G tB uB vB","516":"L D xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","164":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"fB 4B iB 5B","132":"BC CC DC EC FC GC HC IC JC KC","164":"F 6B 7B 8B 9B AC","516":"D LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","164":"H SC TC"},J:{"2":"E","164":"A"},K:{"2":"A B C ZB hB aB","164":"R"},L:{"164":"H"},M:{"257":"Q"},N:{"2":"A B"},O:{"164":"UC"},P:{"164":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"164":"eC"},R:{"164":"fC"},S:{"2":"gC"}},B:5,C:"CSS image-set"}; diff --git a/node_modules/caniuse-lite/data/features/css-in-out-of-range.js b/node_modules/caniuse-lite/data/features/css-in-out-of-range.js new file mode 100644 index 00000000..bff565dd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-in-out-of-range.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C","260":"K L D M N O"},C:{"1":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB","516":"0 1 2 3 4 5 6 7 8 o p q r s t u v w x y z"},D:{"1":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I","16":"d J E F G A B C K L","260":"BB","772":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I rB fB","16":"d","772":"J E F G A sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G zB","260":"B C y 0B 1B 2B ZB hB 3B aB","772":"D M N O e f g h i j k l m n o p q r s t u v w x"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB","772":"F 5B 6B 7B 8B 9B AC BC"},H:{"132":"NC"},I:{"1":"H","2":"bB OC PC QC","260":"I RC iB SC TC"},J:{"2":"E","260":"A"},K:{"1":"R","260":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","260":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"516":"gC"}},B:5,C:":in-range and :out-of-range CSS pseudo-classes"}; diff --git a/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js b/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js new file mode 100644 index 00000000..bedc1030 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","132":"A B","388":"G"},B:{"1":"P S T U V W X Y Z a b c Q H","132":"C K L D M N O"},C:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","16":"kB bB mB nB","132":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","388":"I d"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L","132":"D M N O e f g h i j k l m n o p q r s t u v w x"},E:{"1":"B C K L D gB ZB aB wB xB yB","16":"I d J rB fB","132":"E F G A tB uB vB","388":"sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G B zB 0B 1B 2B ZB hB","132":"D M N O e f g h i j k","516":"C 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB 5B 6B","132":"F 7B 8B 9B AC BC"},H:{"516":"NC"},I:{"1":"H","16":"bB OC PC QC TC","132":"SC","388":"I RC iB"},J:{"16":"E","132":"A"},K:{"1":"R","16":"A B C ZB hB","516":"aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"132":"gC"}},B:7,C:":indeterminate CSS pseudo-class"}; diff --git a/node_modules/caniuse-lite/data/features/css-initial-letter.js b/node_modules/caniuse-lite/data/features/css-initial-letter.js new file mode 100644 index 00000000..00e65f52 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-initial-letter.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F rB fB sB tB uB","4":"G","164":"A B C K L D vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B","164":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS Initial Letter"}; diff --git a/node_modules/caniuse-lite/data/features/css-initial-value.js b/node_modules/caniuse-lite/data/features/css-initial-value.js new file mode 100644 index 00000000..9b9cfc24 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-initial-value.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","33":"I d J E F G A B C K L D M N O mB nB","164":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D fB sB tB uB vB gB ZB aB wB xB yB","16":"rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS initial value"}; diff --git a/node_modules/caniuse-lite/data/features/css-letter-spacing.js b/node_modules/caniuse-lite/data/features/css-letter-spacing.js new file mode 100644 index 00000000..e3551a9e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-letter-spacing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","16":"jB","132":"J E F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d J E F G A B C K L D M N O e f g h i j k l m n o"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","16":"rB","132":"I d J fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G zB","132":"B C D M 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"2":"NC"},I:{"1":"H SC TC","16":"OC PC","132":"bB I QC RC iB"},J:{"132":"E A"},K:{"1":"R","132":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"letter-spacing CSS property"}; diff --git a/node_modules/caniuse-lite/data/features/css-line-clamp.js b/node_modules/caniuse-lite/data/features/css-line-clamp.js new file mode 100644 index 00000000..c568db38 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-line-clamp.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M","33":"P S T U V W X Y Z a b c Q H","129":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB mB nB","33":"OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"16":"I d J E F G A B C K","33":"0 1 2 3 4 5 6 7 8 9 L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I rB fB","33":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"fB 4B iB","33":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"16":"OC PC","33":"bB I H QC RC iB SC TC"},J:{"33":"E A"},K:{"2":"A B C ZB hB aB","33":"R"},L:{"33":"H"},M:{"33":"Q"},N:{"2":"A B"},O:{"33":"UC"},P:{"33":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"33":"eC"},R:{"33":"fC"},S:{"2":"gC"}},B:5,C:"CSS line-clamp"}; diff --git a/node_modules/caniuse-lite/data/features/css-logical-props.js b/node_modules/caniuse-lite/data/features/css-logical-props.js new file mode 100644 index 00000000..796e95f1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-logical-props.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"a b c Q H","2":"C K L D M N O","2052":"Y Z","3588":"P S T U V W X"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB","164":"bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"a b c Q H eB oB pB qB","292":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB","2052":"Y Z","3588":"PB QB RB SB TB UB VB WB XB YB P S T U V W X"},E:{"1":"D yB","292":"I d J E F G A B C rB fB sB tB uB vB gB ZB","2052":"xB","3588":"K L aB wB"},F:{"1":"WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","292":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","2052":"UB VB","3588":"FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB"},G:{"1":"D","292":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC","2052":"MC","3588":"GC HC IC JC KC LC"},H:{"2":"NC"},I:{"1":"H","292":"bB I OC PC QC RC iB SC TC"},J:{"292":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"292":"UC"},P:{"292":"I VC WC XC YC ZC","3588":"gB aC bC cC dC"},Q:{"3588":"eC"},R:{"3588":"fC"},S:{"3588":"gC"}},B:5,C:"CSS Logical Properties"}; diff --git a/node_modules/caniuse-lite/data/features/css-marker-pseudo.js b/node_modules/caniuse-lite/data/features/css-marker-pseudo.js new file mode 100644 index 00000000..63e1a551 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-marker-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"X Y Z a b c Q H","2":"C K L D M N O P S T U V W"},C:{"1":"OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB mB nB"},D:{"1":"X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W"},E:{"2":"I d J E F G A B rB fB sB tB uB vB gB","129":"C K L D ZB aB wB xB yB"},F:{"1":"SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"dC","2":"I VC WC XC YC ZC gB aC bC cC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS ::marker pseudo-element"}; diff --git a/node_modules/caniuse-lite/data/features/css-masks.js b/node_modules/caniuse-lite/data/features/css-masks.js new file mode 100644 index 00000000..fc61cfc1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-masks.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M","164":"P S T U V W X Y Z a b c Q H","3138":"N","12292":"O"},C:{"1":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","260":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB mB nB"},D:{"164":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"rB fB","164":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","164":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"164":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"164":"H SC TC","676":"bB I OC PC QC RC iB"},J:{"164":"E A"},K:{"2":"A B C ZB hB aB","164":"R"},L:{"164":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"164":"UC"},P:{"164":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"164":"eC"},R:{"164":"fC"},S:{"260":"gC"}},B:4,C:"CSS Masks"}; diff --git a/node_modules/caniuse-lite/data/features/css-matches-pseudo.js b/node_modules/caniuse-lite/data/features/css-matches-pseudo.js new file mode 100644 index 00000000..82af5928 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-matches-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"Z a b c Q H","2":"C K L D M N O","1220":"P S T U V W X Y"},C:{"1":"YB P S T lB U V W X Y Z a b c Q H eB","16":"kB bB mB nB","548":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB"},D:{"1":"Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L","164":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R","196":"LB MB NB","1220":"OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y"},E:{"1":"L D xB yB","2":"I rB fB","16":"d","164":"J E F sB tB uB","260":"G A B C K vB gB ZB aB wB"},F:{"1":"VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","164":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB","196":"BB CB DB","1220":"EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB"},G:{"1":"D LC MC","16":"fB 4B iB 5B 6B","164":"F 7B 8B","260":"9B AC BC CC DC EC FC GC HC IC JC KC"},H:{"2":"NC"},I:{"1":"H","16":"bB OC PC QC","164":"I RC iB SC TC"},J:{"16":"E","164":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"164":"UC"},P:{"164":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1220":"eC"},R:{"164":"fC"},S:{"548":"gC"}},B:5,C:":is() CSS pseudo-class"}; diff --git a/node_modules/caniuse-lite/data/features/css-math-functions.js b/node_modules/caniuse-lite/data/features/css-math-functions.js new file mode 100644 index 00000000..4fd47e7a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-math-functions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB mB nB"},D:{"1":"P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"L D wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB","132":"C K ZB aB"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC","132":"EC FC GC HC IC JC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"bC cC dC","2":"I VC WC XC YC ZC gB aC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS math functions min(), max() and clamp()"}; diff --git a/node_modules/caniuse-lite/data/features/css-media-interaction.js b/node_modules/caniuse-lite/data/features/css-media-interaction.js new file mode 100644 index 00000000..1eab74a1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-media-interaction.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"Media Queries: interaction media features"}; diff --git a/node_modules/caniuse-lite/data/features/css-media-resolution.js b/node_modules/caniuse-lite/data/features/css-media-resolution.js new file mode 100644 index 00000000..604c5031 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-media-resolution.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","132":"G A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","260":"I d J E F G A B C K L D mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","548":"I d J E F G A B C K L D M N O e f g h i j k l m n"},E:{"2":"rB fB","548":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G","548":"B C zB 0B 1B 2B ZB hB 3B"},G:{"16":"fB","548":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"132":"NC"},I:{"1":"H SC TC","16":"OC PC","548":"bB I QC RC iB"},J:{"548":"E A"},K:{"1":"R aB","548":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"Media Queries: resolution feature"}; diff --git a/node_modules/caniuse-lite/data/features/css-media-scripting.js b/node_modules/caniuse-lite/data/features/css-media-scripting.js new file mode 100644 index 00000000..39be864d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-media-scripting.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"16":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB mB nB","16":"BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB","16":"oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"Media Queries: scripting media feature"}; diff --git a/node_modules/caniuse-lite/data/features/css-mediaqueries.js b/node_modules/caniuse-lite/data/features/css-mediaqueries.js new file mode 100644 index 00000000..404116b6 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-mediaqueries.js @@ -0,0 +1 @@ +module.exports={A:{A:{"8":"J E F jB","129":"G A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","129":"I d J E F G A B C K L D M N O e f g h i j k"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","129":"I d J sB","388":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","129":"fB 4B iB 5B 6B"},H:{"1":"NC"},I:{"1":"H SC TC","129":"bB I OC PC QC RC iB"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"129":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS3 Media Queries"}; diff --git a/node_modules/caniuse-lite/data/features/css-mixblendmode.js b/node_modules/caniuse-lite/data/features/css-mixblendmode.js new file mode 100644 index 00000000..22637213 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-mixblendmode.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n","194":"o p q r s t u v w x y z"},E:{"2":"I d J E rB fB sB tB","260":"F G A B C K L D uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"fB 4B iB 5B 6B 7B","260":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"Blending of HTML/SVG elements"}; diff --git a/node_modules/caniuse-lite/data/features/css-motion-paths.js b/node_modules/caniuse-lite/data/features/css-motion-paths.js new file mode 100644 index 00000000..cddc72fb --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-motion-paths.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB mB nB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","194":"2 3 4"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o zB 0B 1B 2B ZB hB 3B aB","194":"p q r"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"CSS Motion Path"}; diff --git a/node_modules/caniuse-lite/data/features/css-namespaces.js b/node_modules/caniuse-lite/data/features/css-namespaces.js new file mode 100644 index 00000000..7dc443ff --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-namespaces.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS namespaces"}; diff --git a/node_modules/caniuse-lite/data/features/css-nesting.js b/node_modules/caniuse-lite/data/features/css-nesting.js new file mode 100644 index 00000000..cb085075 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-nesting.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS Nesting"}; diff --git a/node_modules/caniuse-lite/data/features/css-not-sel-list.js b/node_modules/caniuse-lite/data/features/css-not-sel-list.js new file mode 100644 index 00000000..5a0de850 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-not-sel-list.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"Z a b c Q H","2":"C K L D M N O S T U V W X Y","16":"P"},C:{"1":"V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U mB nB"},D:{"1":"Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"selector list argument of :not()"}; diff --git a/node_modules/caniuse-lite/data/features/css-nth-child-of.js b/node_modules/caniuse-lite/data/features/css-nth-child-of.js new file mode 100644 index 00000000..82be0e9d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-nth-child-of.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes"}; diff --git a/node_modules/caniuse-lite/data/features/css-opacity.js b/node_modules/caniuse-lite/data/features/css-opacity.js new file mode 100644 index 00000000..10398873 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-opacity.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","4":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS3 Opacity"}; diff --git a/node_modules/caniuse-lite/data/features/css-optional-pseudo.js b/node_modules/caniuse-lite/data/features/css-optional-pseudo.js new file mode 100644 index 00000000..d211c22d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-optional-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G zB","132":"B C 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"132":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"R","132":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:7,C:":optional CSS pseudo-class"}; diff --git a/node_modules/caniuse-lite/data/features/css-overflow-anchor.js b/node_modules/caniuse-lite/data/features/css-overflow-anchor.js new file mode 100644 index 00000000..d5f0714f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-overflow-anchor.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB mB nB"},D:{"1":"FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"2":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"CSS overflow-anchor (Scroll Anchoring)"}; diff --git a/node_modules/caniuse-lite/data/features/css-overflow-overlay.js b/node_modules/caniuse-lite/data/features/css-overflow-overlay.js new file mode 100644 index 00000000..63268298 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-overflow-overlay.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"I d J E F G A B sB tB uB vB gB ZB","16":"rB fB","130":"C K L D aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC","16":"fB","130":"D FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:7,C:"CSS overflow: overlay"}; diff --git a/node_modules/caniuse-lite/data/features/css-overflow.js b/node_modules/caniuse-lite/data/features/css-overflow.js new file mode 100644 index 00000000..bfd9f7f5 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-overflow.js @@ -0,0 +1 @@ +module.exports={A:{A:{"388":"J E F G A B jB"},B:{"1":"b c Q H","260":"P S T U V W X Y Z a","388":"C K L D M N O"},C:{"1":"T lB U V W X Y Z a b c Q H eB","260":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S","388":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB mB nB"},D:{"1":"b c Q H eB oB pB qB","260":"OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a","388":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB"},E:{"1":"yB","260":"L D wB xB","388":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB"},F:{"260":"EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","388":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB zB 0B 1B 2B ZB hB 3B aB"},G:{"260":"D KC LC MC","388":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"388":"NC"},I:{"1":"H","388":"bB I OC PC QC RC iB SC TC"},J:{"388":"E A"},K:{"1":"R","388":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"388":"A B"},O:{"388":"UC"},P:{"388":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"388":"eC"},R:{"388":"fC"},S:{"388":"gC"}},B:5,C:"CSS overflow property"}; diff --git a/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js b/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js new file mode 100644 index 00000000..4b9dcc73 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","132":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","132":"C K L D M N","516":"O"},C:{"1":"cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB mB nB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB","260":"KB R"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB yB","1090":"xB"},F:{"1":"BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","260":"9 AB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"2":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC XC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"CSS overscroll-behavior"}; diff --git a/node_modules/caniuse-lite/data/features/css-page-break.js b/node_modules/caniuse-lite/data/features/css-page-break.js new file mode 100644 index 00000000..3c5784e9 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-page-break.js @@ -0,0 +1 @@ +module.exports={A:{A:{"388":"A B","900":"J E F G jB"},B:{"388":"C K L D M N O","900":"P S T U V W X Y Z a b c Q H"},C:{"772":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","900":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R mB nB"},D:{"900":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"772":"A","900":"I d J E F G B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"16":"G zB","129":"B C 0B 1B 2B ZB hB 3B aB","900":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"900":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"129":"NC"},I:{"900":"bB I H OC PC QC RC iB SC TC"},J:{"900":"E A"},K:{"129":"A B C ZB hB aB","900":"R"},L:{"900":"H"},M:{"900":"Q"},N:{"388":"A B"},O:{"900":"UC"},P:{"900":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"900":"eC"},R:{"900":"fC"},S:{"900":"gC"}},B:2,C:"CSS page-break properties"}; diff --git a/node_modules/caniuse-lite/data/features/css-paged-media.js b/node_modules/caniuse-lite/data/features/css-paged-media.js new file mode 100644 index 00000000..47cb7adb --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-paged-media.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E jB","132":"F G A B"},B:{"1":"P S T U V W X Y Z a b c Q H","132":"C K L D M N O"},C:{"2":"kB bB I d J E F G A B C K L D M N O mB nB","132":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","132":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"16":"NC"},I:{"16":"bB I H OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"16":"A B C R ZB hB aB"},L:{"1":"H"},M:{"132":"Q"},N:{"258":"A B"},O:{"258":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"132":"gC"}},B:5,C:"CSS Paged Media (@page)"}; diff --git a/node_modules/caniuse-lite/data/features/css-paint-api.js b/node_modules/caniuse-lite/data/features/css-paint-api.js new file mode 100644 index 00000000..42f80177 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-paint-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R"},E:{"2":"I d J E F G A B C rB fB sB tB uB vB gB ZB","194":"K L D aB wB xB yB"},F:{"1":"BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS Paint API"}; diff --git a/node_modules/caniuse-lite/data/features/css-placeholder-shown.js b/node_modules/caniuse-lite/data/features/css-placeholder-shown.js new file mode 100644 index 00000000..0b79fd5e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-placeholder-shown.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","292":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","164":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"164":"gC"}},B:5,C:":placeholder-shown CSS pseudo-class"}; diff --git a/node_modules/caniuse-lite/data/features/css-placeholder.js b/node_modules/caniuse-lite/data/features/css-placeholder.js new file mode 100644 index 00000000..917b4711 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-placeholder.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","36":"C K L D M N O"},C:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O mB nB","33":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","36":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I rB fB","36":"d J E F G A sB tB uB vB"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","36":"0 1 2 D M N O e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B","36":"F iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","36":"bB I OC PC QC RC iB SC TC"},J:{"36":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"36":"A B"},O:{"1":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","36":"I VC WC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"33":"gC"}},B:5,C:"::placeholder CSS pseudo-element"}; diff --git a/node_modules/caniuse-lite/data/features/css-read-only-write.js b/node_modules/caniuse-lite/data/features/css-read-only-write.js new file mode 100644 index 00000000..1b24d265 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-read-only-write.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","2":"C"},C:{"1":"YB P S T lB U V W X Y Z a b c Q H eB","16":"kB","33":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L","132":"D M N O e f g h i j k l m n o p q r s t u"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","16":"rB fB","132":"I d J E F sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G B zB 0B 1B 2B ZB","132":"C D M N O e f g h hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B","132":"F iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","16":"OC PC","132":"bB I QC RC iB SC TC"},J:{"1":"A","132":"E"},K:{"1":"R","2":"A B ZB","132":"C hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"33":"gC"}},B:1,C:"CSS :read-only and :read-write selectors"}; diff --git a/node_modules/caniuse-lite/data/features/css-rebeccapurple.js b/node_modules/caniuse-lite/data/features/css-rebeccapurple.js new file mode 100644 index 00000000..50a039fc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-rebeccapurple.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","132":"B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB","16":"tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"Rebeccapurple color"}; diff --git a/node_modules/caniuse-lite/data/features/css-reflections.js b/node_modules/caniuse-lite/data/features/css-reflections.js new file mode 100644 index 00000000..6f57f29d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-reflections.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","33":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"rB fB","33":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"33":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"33":"bB I H OC PC QC RC iB SC TC"},J:{"33":"E A"},K:{"2":"A B C ZB hB aB","33":"R"},L:{"33":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"33":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"33":"eC"},R:{"33":"fC"},S:{"2":"gC"}},B:7,C:"CSS Reflections"}; diff --git a/node_modules/caniuse-lite/data/features/css-regions.js b/node_modules/caniuse-lite/data/features/css-regions.js new file mode 100644 index 00000000..f3a4825c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-regions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","420":"A B"},B:{"2":"P S T U V W X Y Z a b c Q H","420":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","36":"D M N O","66":"e f g h i j k l m n o p q r s t"},E:{"2":"I d J C K L D rB fB sB ZB aB wB xB yB","33":"E F G A B tB uB vB gB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"D fB 4B iB 5B 6B EC FC GC HC IC JC KC LC MC","33":"F 7B 8B 9B AC BC CC DC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"420":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS Regions"}; diff --git a/node_modules/caniuse-lite/data/features/css-repeating-gradients.js b/node_modules/caniuse-lite/data/features/css-repeating-gradients.js new file mode 100644 index 00000000..ea996322 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-repeating-gradients.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB","33":"I d J E F G A B C K L D nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G","33":"A B C K L D M N O e f g h i j k"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB","33":"J sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B","33":"C 3B","36":"ZB hB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB","33":"5B 6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB OC PC QC","33":"I RC iB"},J:{"1":"A","2":"E"},K:{"1":"R aB","2":"A B","33":"C","36":"ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS Repeating Gradients"}; diff --git a/node_modules/caniuse-lite/data/features/css-resize.js b/node_modules/caniuse-lite/data/features/css-resize.js new file mode 100644 index 00000000..da532b7d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-resize.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","33":"I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B","132":"aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:4,C:"CSS resize property"}; diff --git a/node_modules/caniuse-lite/data/features/css-revert-value.js b/node_modules/caniuse-lite/data/features/css-revert-value.js new file mode 100644 index 00000000..c8cce3a0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-revert-value.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"V W X Y Z a b c Q H","2":"C K L D M N O P S T U"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB mB nB"},D:{"1":"V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB"},F:{"1":"TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"dC","2":"I VC WC XC YC ZC gB aC bC cC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS revert value"}; diff --git a/node_modules/caniuse-lite/data/features/css-rrggbbaa.js b/node_modules/caniuse-lite/data/features/css-rrggbbaa.js new file mode 100644 index 00000000..d9d604dd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-rrggbbaa.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB","194":"BB CB DB EB FB GB HB cB IB dB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x zB 0B 1B 2B ZB hB 3B aB","194":"0 1 2 3 4 5 6 7 8 9 y z AB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I","194":"VC WC XC"},Q:{"2":"eC"},R:{"194":"fC"},S:{"2":"gC"}},B:7,C:"#rrggbbaa hex color notation"}; diff --git a/node_modules/caniuse-lite/data/features/css-scroll-behavior.js b/node_modules/caniuse-lite/data/features/css-scroll-behavior.js new file mode 100644 index 00000000..81f5765c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-scroll-behavior.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","129":"P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u mB nB"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","129":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","450":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB"},E:{"2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB wB","578":"L D xB yB"},F:{"2":"G B C D M N O e f g h i j k l m zB 0B 1B 2B ZB hB 3B aB","129":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","450":"0 1 2 3 4 5 6 n o p q r s t u v w x y z"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"129":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC XC"},Q:{"129":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSSOM Scroll-behavior"}; diff --git a/node_modules/caniuse-lite/data/features/css-scroll-timeline.js b/node_modules/caniuse-lite/data/features/css-scroll-timeline.js new file mode 100644 index 00000000..76fd8a62 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-scroll-timeline.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a","194":"b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V","194":"Z a b c Q H eB oB pB qB","322":"W X Y"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB zB 0B 1B 2B ZB hB 3B aB","194":"VB WB XB YB P","322":"TB UB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"CSS @scroll-timeline"}; diff --git a/node_modules/caniuse-lite/data/features/css-scrollbar.js b/node_modules/caniuse-lite/data/features/css-scrollbar.js new file mode 100644 index 00000000..fa2b702c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-scrollbar.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J E F G A B jB"},B:{"2":"C K L D M N O","292":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB mB nB","3074":"KB","4100":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"292":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"16":"I d rB fB","292":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","292":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"16":"fB 4B iB 5B 6B","292":"7B","804":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"16":"OC PC","292":"bB I H QC RC iB SC TC"},J:{"292":"E A"},K:{"2":"A B C ZB hB aB","292":"R"},L:{"292":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"292":"UC"},P:{"292":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"292":"eC"},R:{"292":"fC"},S:{"2":"gC"}},B:7,C:"CSS scrollbar styling"}; diff --git a/node_modules/caniuse-lite/data/features/css-sel2.js b/node_modules/caniuse-lite/data/features/css-sel2.js new file mode 100644 index 00000000..cb0063c9 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-sel2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F G A B","2":"jB","8":"J"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS 2.1 selectors"}; diff --git a/node_modules/caniuse-lite/data/features/css-sel3.js b/node_modules/caniuse-lite/data/features/css-sel3.js new file mode 100644 index 00000000..315e90d8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-sel3.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"jB","8":"J","132":"E F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D fB sB tB uB vB gB ZB aB wB xB yB","2":"rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS3 selectors"}; diff --git a/node_modules/caniuse-lite/data/features/css-selection.js b/node_modules/caniuse-lite/data/features/css-selection.js new file mode 100644 index 00000000..0c5efb31 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-selection.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","33":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"C R hB aB","16":"A B ZB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"33":"gC"}},B:5,C:"::selection CSS pseudo-element"}; diff --git a/node_modules/caniuse-lite/data/features/css-shapes.js b/node_modules/caniuse-lite/data/features/css-shapes.js new file mode 100644 index 00000000..8290be99 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-shapes.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","322":"AB BB CB DB EB FB GB HB cB IB dB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s","194":"t u v"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E rB fB sB tB","33":"F G A uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B","33":"F 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:4,C:"CSS Shapes Level 1"}; diff --git a/node_modules/caniuse-lite/data/features/css-snappoints.js b/node_modules/caniuse-lite/data/features/css-snappoints.js new file mode 100644 index 00000000..195e1353 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-snappoints.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","6308":"A","6436":"B"},B:{"1":"P S T U V W X Y Z a b c Q H","6436":"C K L D M N O"},C:{"1":"OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x mB nB","2052":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB"},D:{"1":"PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB","8258":"MB NB OB"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB","3108":"G A vB gB"},F:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB zB 0B 1B 2B ZB hB 3B aB","8258":"DB EB FB GB HB IB JB KB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B","3108":"9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"gB aC bC cC dC","2":"I VC WC XC YC ZC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2052":"gC"}},B:4,C:"CSS Scroll Snap"}; diff --git a/node_modules/caniuse-lite/data/features/css-sticky.js b/node_modules/caniuse-lite/data/features/css-sticky.js new file mode 100644 index 00000000..8c9d1e8a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-sticky.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"c Q H","2":"C K L D","1028":"P S T U V W X Y Z a b","4100":"M N O"},C:{"1":"cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k mB nB","194":"l m n o p q","516":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB"},D:{"1":"c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h w x y z AB","322":"i j k l m n o p q r s t u v BB CB DB EB","1028":"FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b"},E:{"1":"K L D wB xB yB","2":"I d J rB fB sB","33":"F G A B C uB vB gB ZB aB","2084":"E tB"},F:{"2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x zB 0B 1B 2B ZB hB 3B aB","322":"0 y z","1028":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"D HC IC JC KC LC MC","2":"fB 4B iB 5B","33":"F 8B 9B AC BC CC DC EC FC GC","2084":"6B 7B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1028":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I VC"},Q:{"1028":"eC"},R:{"2":"fC"},S:{"516":"gC"}},B:5,C:"CSS position:sticky"}; diff --git a/node_modules/caniuse-lite/data/features/css-subgrid.js b/node_modules/caniuse-lite/data/features/css-subgrid.js new file mode 100644 index 00000000..0f0666dd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-subgrid.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS Subgrid"}; diff --git a/node_modules/caniuse-lite/data/features/css-supports-api.js b/node_modules/caniuse-lite/data/features/css-supports-api.js new file mode 100644 index 00000000..75cd5b1b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-supports-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","260":"C K L D M N O"},C:{"1":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e mB nB","66":"f g","260":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB"},D:{"1":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m","260":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B","132":"aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"132":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB","132":"aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS.supports() API"}; diff --git a/node_modules/caniuse-lite/data/features/css-table.js b/node_modules/caniuse-lite/data/features/css-table.js new file mode 100644 index 00000000..bb3dc316 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-table.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F G A B","2":"J E jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","132":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS Table display"}; diff --git a/node_modules/caniuse-lite/data/features/css-text-align-last.js b/node_modules/caniuse-lite/data/features/css-text-align-last.js new file mode 100644 index 00000000..d156daa4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-text-align-last.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","4":"C K L D M N O"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B mB nB","33":"0 1 2 3 4 5 6 7 C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t","322":"0 1 2 3 4 5 u v w x y z"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g zB 0B 1B 2B ZB hB 3B aB","578":"h i j k l m n o p q r s"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"2":"eC"},R:{"1":"fC"},S:{"33":"gC"}},B:5,C:"CSS3 text-align-last"}; diff --git a/node_modules/caniuse-lite/data/features/css-text-indent.js b/node_modules/caniuse-lite/data/features/css-text-indent.js new file mode 100644 index 00000000..9e92536c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-text-indent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J E F G A B jB"},B:{"132":"C K L D M N O","388":"P S T U V W X Y Z a b c Q H"},C:{"132":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"132":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w","388":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"132":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"132":"G B C D M N O e f g h i j zB 0B 1B 2B ZB hB 3B aB","388":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"132":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"132":"NC"},I:{"132":"bB I OC PC QC RC iB SC TC","388":"H"},J:{"132":"E A"},K:{"132":"A B C ZB hB aB","388":"R"},L:{"388":"H"},M:{"132":"Q"},N:{"132":"A B"},O:{"132":"UC"},P:{"132":"I","388":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"388":"eC"},R:{"388":"fC"},S:{"132":"gC"}},B:5,C:"CSS text-indent"}; diff --git a/node_modules/caniuse-lite/data/features/css-text-justify.js b/node_modules/caniuse-lite/data/features/css-text-justify.js new file mode 100644 index 00000000..8fd6449a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-text-justify.js @@ -0,0 +1 @@ +module.exports={A:{A:{"16":"J E jB","132":"F G A B"},B:{"132":"C K L D M N O","322":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB mB nB","1025":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","1602":"DB"},D:{"2":"0 1 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","322":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C D M N O e f g h i j k l m n o zB 0B 1B 2B ZB hB 3B aB","322":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","322":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","322":"R"},L:{"322":"H"},M:{"1025":"Q"},N:{"132":"A B"},O:{"2":"UC"},P:{"2":"I","322":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"322":"eC"},R:{"322":"fC"},S:{"2":"gC"}},B:5,C:"CSS text-justify"}; diff --git a/node_modules/caniuse-lite/data/features/css-text-orientation.js b/node_modules/caniuse-lite/data/features/css-text-orientation.js new file mode 100644 index 00000000..06664d3b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-text-orientation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w mB nB","194":"x y z"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"L D xB yB","2":"I d J E F G rB fB sB tB uB vB","16":"A","33":"B C K gB ZB aB wB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS text-orientation"}; diff --git a/node_modules/caniuse-lite/data/features/css-text-spacing.js b/node_modules/caniuse-lite/data/features/css-text-spacing.js new file mode 100644 index 00000000..c3cb1c26 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-text-spacing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E jB","161":"F G A B"},B:{"2":"P S T U V W X Y Z a b c Q H","161":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"16":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"CSS Text 4 text-spacing"}; diff --git a/node_modules/caniuse-lite/data/features/css-textshadow.js b/node_modules/caniuse-lite/data/features/css-textshadow.js new file mode 100644 index 00000000..33c8746f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-textshadow.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","129":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","129":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","260":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"4":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"A","4":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"129":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS3 Text-shadow"}; diff --git a/node_modules/caniuse-lite/data/features/css-touch-action-2.js b/node_modules/caniuse-lite/data/features/css-touch-action-2.js new file mode 100644 index 00000000..ae440743 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-touch-action-2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","132":"B","164":"A"},B:{"1":"P S T U V W X Y Z a b c Q H","132":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB","260":"EB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","260":"1"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"132":"B","164":"A"},O:{"2":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","16":"I"},Q:{"2":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"CSS touch-action level 2 values"}; diff --git a/node_modules/caniuse-lite/data/features/css-touch-action.js b/node_modules/caniuse-lite/data/features/css-touch-action.js new file mode 100644 index 00000000..2f840c54 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-touch-action.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G jB","289":"A"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB","194":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB","1025":"BB CB DB EB FB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B","516":"AC BC CC DC EC FC GC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","289":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"194":"gC"}},B:2,C:"CSS touch-action property"}; diff --git a/node_modules/caniuse-lite/data/features/css-transitions.js b/node_modules/caniuse-lite/data/features/css-transitions.js new file mode 100644 index 00000000..f16c19c1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-transitions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","33":"d J E F G A B C K L D","164":"I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"I d J E F G A B C K L D M N O e f g h i j k"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","33":"J sB","164":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G zB 0B","33":"C","164":"B 1B 2B ZB hB 3B"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","33":"6B","164":"fB 4B iB 5B"},H:{"2":"NC"},I:{"1":"H SC TC","33":"bB I OC PC QC RC iB"},J:{"1":"A","33":"E"},K:{"1":"R aB","33":"C","164":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"CSS3 Transitions"}; diff --git a/node_modules/caniuse-lite/data/features/css-unicode-bidi.js b/node_modules/caniuse-lite/data/features/css-unicode-bidi.js new file mode 100644 index 00000000..69427bd9 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-unicode-bidi.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","132":"C K L D M N O"},C:{"1":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","33":"0 1 2 3 4 5 6 7 8 N O e f g h i j k l m n o p q r s t u v w x y z","132":"kB bB I d J E F G mB nB","292":"A B C K L D M"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d J E F G A B C K L D M","548":"0 1 2 3 4 5 6 N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"132":"I d J E F rB fB sB tB uB","548":"G A B C K L D vB gB ZB aB wB xB yB"},F:{"132":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"132":"F fB 4B iB 5B 6B 7B 8B","548":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"16":"NC"},I:{"1":"H","16":"bB I OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"1":"R","16":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"16":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","16":"I"},Q:{"16":"eC"},R:{"16":"fC"},S:{"33":"gC"}},B:4,C:"CSS unicode-bidi property"}; diff --git a/node_modules/caniuse-lite/data/features/css-unset-value.js b/node_modules/caniuse-lite/data/features/css-unset-value.js new file mode 100644 index 00000000..4690df47 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-unset-value.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS unset value"}; diff --git a/node_modules/caniuse-lite/data/features/css-variables.js b/node_modules/caniuse-lite/data/features/css-variables.js new file mode 100644 index 00000000..a33aaaa8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-variables.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","2":"C K L","260":"D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p mB nB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","194":"7"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB","260":"vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t zB 0B 1B 2B ZB hB 3B aB","194":"u"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B","260":"AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"2":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:4,C:"CSS Variables (Custom Properties)"}; diff --git a/node_modules/caniuse-lite/data/features/css-widows-orphans.js b/node_modules/caniuse-lite/data/features/css-widows-orphans.js new file mode 100644 index 00000000..53a2ce45 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-widows-orphans.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E jB","129":"F G"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","129":"G B zB 0B 1B 2B ZB hB 3B"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R aB","2":"A B C ZB hB"},L:{"1":"H"},M:{"2":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:2,C:"CSS widows & orphans"}; diff --git a/node_modules/caniuse-lite/data/features/css-writing-mode.js b/node_modules/caniuse-lite/data/features/css-writing-mode.js new file mode 100644 index 00000000..e0959a91 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-writing-mode.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u mB nB","322":"v w x y z"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J","16":"E","33":"0 1 2 3 4 5 6 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I rB fB","16":"d","33":"J E F G A sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"D M N O e f g h i j k l m n o p q r s t"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB","33":"F 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","2":"OC PC QC","33":"bB I RC iB SC TC"},J:{"33":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"36":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","33":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS writing-mode property"}; diff --git a/node_modules/caniuse-lite/data/features/css-zoom.js b/node_modules/caniuse-lite/data/features/css-zoom.js new file mode 100644 index 00000000..7fcdfc6c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css-zoom.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E jB","129":"F G A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB"},H:{"2":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"129":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:7,C:"CSS zoom"}; diff --git a/node_modules/caniuse-lite/data/features/css3-attr.js b/node_modules/caniuse-lite/data/features/css3-attr.js new file mode 100644 index 00000000..5954e675 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css3-attr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"CSS3 attr() function for all properties"}; diff --git a/node_modules/caniuse-lite/data/features/css3-boxsizing.js b/node_modules/caniuse-lite/data/features/css3-boxsizing.js new file mode 100644 index 00000000..fcdb4b8d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css3-boxsizing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F G A B","8":"J E jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","33":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"I d J E F G"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","33":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","33":"fB 4B iB"},H:{"1":"NC"},I:{"1":"I H RC iB SC TC","33":"bB OC PC QC"},J:{"1":"A","33":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"CSS3 Box-sizing"}; diff --git a/node_modules/caniuse-lite/data/features/css3-colors.js b/node_modules/caniuse-lite/data/features/css3-colors.js new file mode 100644 index 00000000..310b5c8d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css3-colors.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","4":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 0B 1B 2B ZB hB 3B aB","2":"G","4":"zB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS3 Colors"}; diff --git a/node_modules/caniuse-lite/data/features/css3-cursors-grab.js b/node_modules/caniuse-lite/data/features/css3-cursors-grab.js new file mode 100644 index 00000000..5c33c528 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css3-cursors-grab.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","2":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","33":"kB bB I d J E F G A B C K L D M N O e f g h i j k l mB nB"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB"},E:{"1":"B C K L D ZB aB wB xB yB","33":"I d J E F G A rB fB sB tB uB vB gB"},F:{"1":"C EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G B zB 0B 1B 2B ZB hB","33":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"33":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"33":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:3,C:"CSS grab & grabbing cursors"}; diff --git a/node_modules/caniuse-lite/data/features/css3-cursors-newer.js b/node_modules/caniuse-lite/data/features/css3-cursors-newer.js new file mode 100644 index 00000000..45be7f3d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css3-cursors-newer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","33":"kB bB I d J E F G A B C K L D M N O e f g h i mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","33":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G B zB 0B 1B 2B ZB hB","33":"D M N O e f g h i"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"33":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"CSS3 Cursors: zoom-in & zoom-out"}; diff --git a/node_modules/caniuse-lite/data/features/css3-cursors.js b/node_modules/caniuse-lite/data/features/css3-cursors.js new file mode 100644 index 00000000..b9abb33a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css3-cursors.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","132":"J E F jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","260":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","4":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","4":"I"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","4":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","260":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E","16":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"CSS3 Cursors (original values)"}; diff --git a/node_modules/caniuse-lite/data/features/css3-tabsize.js b/node_modules/caniuse-lite/data/features/css3-tabsize.js new file mode 100644 index 00000000..ebd73569 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/css3-tabsize.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"c Q H eB","2":"kB bB mB nB","33":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b","164":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f","132":"0 g h i j k l m n o p q r s t u v w x y z"},E:{"1":"L D wB xB yB","2":"I d J rB fB sB","132":"E F G A B C K tB uB vB gB ZB aB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G zB 0B 1B","132":"D M N O e f g h i j k l m n","164":"B C 2B ZB hB 3B aB"},G:{"1":"D KC LC MC","2":"fB 4B iB 5B 6B","132":"F 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"164":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB","132":"SC TC"},J:{"132":"E A"},K:{"1":"R","2":"A","164":"B C ZB hB aB"},L:{"1":"H"},M:{"33":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"164":"gC"}},B:5,C:"CSS3 tab-size"}; diff --git a/node_modules/caniuse-lite/data/features/currentcolor.js b/node_modules/caniuse-lite/data/features/currentcolor.js new file mode 100644 index 00000000..56cc82bd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/currentcolor.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS currentColor value"}; diff --git a/node_modules/caniuse-lite/data/features/custom-elements.js b/node_modules/caniuse-lite/data/features/custom-elements.js new file mode 100644 index 00000000..f7dafe85 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/custom-elements.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","8":"A B"},B:{"1":"P","2":"S T U V W X Y Z a b c Q H","8":"C K L D M N O"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","66":"i j k l m n o","72":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"I d J E F G A B C K L D M N O e f g h i j k l S T U V W X Y Z a b c Q H eB oB pB qB","66":"m n o p q r"},E:{"2":"I d rB fB sB","8":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB","2":"G B C NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","66":"D M N O e"},G:{"2":"fB 4B iB 5B 6B","8":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"TC","2":"bB I H OC PC QC RC iB SC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC","2":"cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"72":"gC"}},B:7,C:"Custom Elements (deprecated V0 spec)"}; diff --git a/node_modules/caniuse-lite/data/features/custom-elementsv1.js b/node_modules/caniuse-lite/data/features/custom-elementsv1.js new file mode 100644 index 00000000..426ad595 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/custom-elementsv1.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","8":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","8":"C K L D M N O"},C:{"1":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o mB nB","8":"0 1 2 3 4 5 6 7 8 p q r s t u v w x y z","456":"9 AB BB CB DB EB FB GB HB","712":"cB IB dB JB"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB","8":"BB CB","132":"DB EB FB GB HB cB IB dB JB KB R LB MB"},E:{"2":"I d J E rB fB sB tB uB","8":"F G A vB","132":"B C K L D gB ZB aB wB xB yB"},F:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","132":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC","132":"D CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I","132":"VC"},Q:{"132":"eC"},R:{"132":"fC"},S:{"8":"gC"}},B:1,C:"Custom Elements (V1)"}; diff --git a/node_modules/caniuse-lite/data/features/customevent.js b/node_modules/caniuse-lite/data/features/customevent.js new file mode 100644 index 00000000..62e16d59 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/customevent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","132":"G A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d mB nB","132":"J E F G A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I","16":"d J E F K L","388":"G A B C"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I rB fB","16":"d J","388":"sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G zB 0B 1B 2B","132":"B ZB hB"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"4B","16":"fB iB","388":"5B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"OC PC QC","388":"bB I RC iB"},J:{"1":"A","388":"E"},K:{"1":"C R aB","2":"A","132":"B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"CustomEvent"}; diff --git a/node_modules/caniuse-lite/data/features/datalist.js b/node_modules/caniuse-lite/data/features/datalist.js new file mode 100644 index 00000000..e4ba850a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/datalist.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"jB","8":"J E F G","260":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","260":"C K L D","1284":"M N O"},C:{"8":"kB bB mB nB","4612":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","8":"I d J E F G A B C K L D M N O e","132":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB"},E:{"1":"K L D aB wB xB yB","8":"I d J E F G A B C rB fB sB tB uB vB gB ZB"},F:{"1":"G B C R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","132":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB"},G:{"8":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC","2049":"D GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H TC","8":"bB I OC PC QC RC iB SC"},J:{"1":"A","8":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"516":"Q"},N:{"8":"A B"},O:{"8":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"132":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:1,C:"Datalist element"}; diff --git a/node_modules/caniuse-lite/data/features/dataset.js b/node_modules/caniuse-lite/data/features/dataset.js new file mode 100644 index 00000000..0fb61f80 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/dataset.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","4":"J E F G A jB"},B:{"1":"C K L D M","129":"N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","4":"kB bB I d mB nB","129":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB","4":"I d J","129":"0 1 2 3 E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"4":"I d rB fB","129":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 C r s t u v w x y z ZB hB 3B aB","4":"G B zB 0B 1B 2B","129":"1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"4":"fB 4B iB","129":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"4":"NC"},I:{"4":"OC PC QC","129":"bB I H RC iB SC TC"},J:{"129":"E A"},K:{"1":"C ZB hB aB","4":"A B","129":"R"},L:{"129":"H"},M:{"129":"Q"},N:{"1":"B","4":"A"},O:{"129":"UC"},P:{"129":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"129":"fC"},S:{"1":"gC"}},B:1,C:"dataset & data-* attributes"}; diff --git a/node_modules/caniuse-lite/data/features/datauri.js b/node_modules/caniuse-lite/data/features/datauri.js new file mode 100644 index 00000000..25c3d8c2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/datauri.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E jB","132":"F","260":"G A B"},B:{"1":"P S T U V W X Y Z a b c Q H","260":"C K D M N O","772":"L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"260":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Data URIs"}; diff --git a/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js b/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js new file mode 100644 index 00000000..5f8ea7d3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js @@ -0,0 +1 @@ +module.exports={A:{A:{"16":"jB","132":"J E F G A B"},B:{"1":"O P S T U V W X Y Z a b c Q H","132":"C K L D M N"},C:{"1":"FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","132":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB","260":"BB CB DB EB","772":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB"},D:{"1":"QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d J E F G A B C K L D M N O e f g h i","260":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB","772":"j k l m n o p q r s t u v w"},E:{"1":"C K L D aB wB xB yB","16":"I d rB fB","132":"J E F G A sB tB uB vB","260":"B gB ZB"},F:{"1":"GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G B C zB 0B 1B 2B ZB hB 3B","132":"aB","260":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB","772":"D M N O e f g h i j"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB 5B","132":"F 6B 7B 8B 9B AC BC"},H:{"132":"NC"},I:{"1":"H","16":"bB OC PC QC","132":"I RC iB","772":"SC TC"},J:{"132":"E A"},K:{"1":"R","16":"A B C ZB hB","132":"aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"260":"UC"},P:{"1":"ZC gB aC bC cC dC","260":"I VC WC XC YC"},Q:{"260":"eC"},R:{"132":"fC"},S:{"132":"gC"}},B:6,C:"Date.prototype.toLocaleDateString"}; diff --git a/node_modules/caniuse-lite/data/features/decorators.js b/node_modules/caniuse-lite/data/features/decorators.js new file mode 100644 index 00000000..60a5521a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/decorators.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Decorators"}; diff --git a/node_modules/caniuse-lite/data/features/details.js b/node_modules/caniuse-lite/data/features/details.js new file mode 100644 index 00000000..25414727 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/details.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"G A B jB","8":"J E F"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB","8":"0 1 2 3 4 5 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","194":"6 7"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","8":"I d J E F G A B","257":"e f g h i j k l m n o p q r s t u","769":"C K L D M N O"},E:{"1":"C K L D aB wB xB yB","8":"I d rB fB sB","257":"J E F G A tB uB vB","1025":"B gB ZB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"C ZB hB 3B aB","8":"G B zB 0B 1B 2B"},G:{"1":"F D 6B 7B 8B 9B AC EC FC GC HC IC JC KC LC MC","8":"fB 4B iB 5B","1025":"BC CC DC"},H:{"8":"NC"},I:{"1":"I H RC iB SC TC","8":"bB OC PC QC"},J:{"1":"A","8":"E"},K:{"1":"R","8":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"769":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Details & Summary elements"}; diff --git a/node_modules/caniuse-lite/data/features/deviceorientation.js b/node_modules/caniuse-lite/data/features/deviceorientation.js new file mode 100644 index 00000000..ea346f0f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/deviceorientation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","132":"B"},B:{"1":"C K L D M N O","4":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB mB","4":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","8":"I d nB"},D:{"2":"I d J","4":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","4":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"fB 4B","4":"F D iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"OC PC QC","4":"bB I H RC iB SC TC"},J:{"2":"E","4":"A"},K:{"1":"C aB","2":"A B ZB hB","4":"R"},L:{"4":"H"},M:{"4":"Q"},N:{"1":"B","2":"A"},O:{"4":"UC"},P:{"4":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"4":"eC"},R:{"4":"fC"},S:{"4":"gC"}},B:4,C:"DeviceOrientation & DeviceMotion events"}; diff --git a/node_modules/caniuse-lite/data/features/devicepixelratio.js b/node_modules/caniuse-lite/data/features/devicepixelratio.js new file mode 100644 index 00000000..b7e84d46 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/devicepixelratio.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G B zB 0B 1B 2B ZB hB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"C R aB","2":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"Window.devicePixelRatio"}; diff --git a/node_modules/caniuse-lite/data/features/dialog.js b/node_modules/caniuse-lite/data/features/dialog.js new file mode 100644 index 00000000..db7b716e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/dialog.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB mB nB","194":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","1218":"S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q","322":"r s t u v"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O zB 0B 1B 2B ZB hB 3B aB","578":"e f g h i"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"194":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:1,C:"Dialog element"}; diff --git a/node_modules/caniuse-lite/data/features/dispatchevent.js b/node_modules/caniuse-lite/data/features/dispatchevent.js new file mode 100644 index 00000000..f799d592 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/dispatchevent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","16":"jB","129":"G A","130":"J E F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D fB sB tB uB vB gB ZB aB wB xB yB","16":"rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","16":"G"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"1":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","129":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"EventTarget.dispatchEvent"}; diff --git a/node_modules/caniuse-lite/data/features/dnssec.js b/node_modules/caniuse-lite/data/features/dnssec.js new file mode 100644 index 00000000..a9bcae54 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/dnssec.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J E F G A B jB"},B:{"132":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"132":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"132":"0 1 2 3 4 5 6 7 8 9 I d q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","388":"J E F G A B C K L D M N O e f g h i j k l m n o p"},E:{"132":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"132":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"132":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"132":"NC"},I:{"132":"bB I H OC PC QC RC iB SC TC"},J:{"132":"E A"},K:{"132":"A B C R ZB hB aB"},L:{"132":"H"},M:{"132":"Q"},N:{"132":"A B"},O:{"132":"UC"},P:{"132":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"132":"eC"},R:{"132":"fC"},S:{"132":"gC"}},B:6,C:"DNSSEC and DANE"}; diff --git a/node_modules/caniuse-lite/data/features/do-not-track.js b/node_modules/caniuse-lite/data/features/do-not-track.js new file mode 100644 index 00000000..631eab7c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/do-not-track.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","164":"G A","260":"B"},B:{"1":"N O P S T U V W X Y Z a b c Q H","260":"C K L D M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F mB nB","516":"G A B C K L D M N O e f g h i j k l m n o p q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h"},E:{"1":"J A B C sB vB gB ZB","2":"I d K L D rB fB aB wB xB yB","1028":"E F G tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B ZB hB 3B"},G:{"1":"9B AC BC CC DC EC FC","2":"D fB 4B iB 5B 6B GC HC IC JC KC LC MC","1028":"F 7B 8B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"16":"E","1028":"A"},K:{"1":"R aB","16":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"164":"A","260":"B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"Do Not Track API"}; diff --git a/node_modules/caniuse-lite/data/features/document-currentscript.js b/node_modules/caniuse-lite/data/features/document-currentscript.js new file mode 100644 index 00000000..190cd142 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/document-currentscript.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n"},E:{"1":"F G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"document.currentScript"}; diff --git a/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js b/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js new file mode 100644 index 00000000..30b08db2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","16":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","16":"G"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:7,C:"document.evaluate & XPath"}; diff --git a/node_modules/caniuse-lite/data/features/document-execcommand.js b/node_modules/caniuse-lite/data/features/document-execcommand.js new file mode 100644 index 00000000..d2b78b54 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/document-execcommand.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","16":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 0B 1B 2B ZB hB 3B aB","16":"G zB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B","16":"iB 5B 6B"},H:{"2":"NC"},I:{"1":"H RC iB SC TC","2":"bB I OC PC QC"},J:{"1":"A","2":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"2":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:7,C:"Document.execCommand()"}; diff --git a/node_modules/caniuse-lite/data/features/document-policy.js b/node_modules/caniuse-lite/data/features/document-policy.js new file mode 100644 index 00000000..4f525014 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/document-policy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V","132":"W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V","132":"W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB zB 0B 1B 2B ZB hB 3B aB","132":"RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","132":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","132":"R"},L:{"132":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Document Policy"}; diff --git a/node_modules/caniuse-lite/data/features/document-scrollingelement.js b/node_modules/caniuse-lite/data/features/document-scrollingelement.js new file mode 100644 index 00000000..cf14312c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/document-scrollingelement.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","16":"C K"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"document.scrollingElement"}; diff --git a/node_modules/caniuse-lite/data/features/documenthead.js b/node_modules/caniuse-lite/data/features/documenthead.js new file mode 100644 index 00000000..1bd571e2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/documenthead.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB","16":"d"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","2":"G zB 0B 1B 2B"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"1":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"document.head"}; diff --git a/node_modules/caniuse-lite/data/features/dom-manip-convenience.js b/node_modules/caniuse-lite/data/features/dom-manip-convenience.js new file mode 100644 index 00000000..66a66488 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/dom-manip-convenience.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"N O P S T U V W X Y Z a b c Q H","2":"C K L D M"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB","194":"BB CB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y zB 0B 1B 2B ZB hB 3B aB","194":"z"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I VC"},Q:{"194":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"DOM manipulation convenience methods"}; diff --git a/node_modules/caniuse-lite/data/features/dom-range.js b/node_modules/caniuse-lite/data/features/dom-range.js new file mode 100644 index 00000000..51fcca52 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/dom-range.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"jB","8":"J E F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Document Object Model Range"}; diff --git a/node_modules/caniuse-lite/data/features/domcontentloaded.js b/node_modules/caniuse-lite/data/features/domcontentloaded.js new file mode 100644 index 00000000..46dad11c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/domcontentloaded.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"DOMContentLoaded"}; diff --git a/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js b/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js new file mode 100644 index 00000000..78ddbe7e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L D M N O e f g h i j k"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB","16":"d"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","16":"G B zB 0B 1B 2B ZB hB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB 5B 6B"},H:{"16":"NC"},I:{"1":"I H RC iB SC TC","16":"bB OC PC QC"},J:{"16":"E A"},K:{"1":"R","16":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"16":"A B"},O:{"16":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"DOMFocusIn & DOMFocusOut events"}; diff --git a/node_modules/caniuse-lite/data/features/dommatrix.js b/node_modules/caniuse-lite/data/features/dommatrix.js new file mode 100644 index 00000000..7c6afdf4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/dommatrix.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","132":"A B"},B:{"132":"C K L D M N O","1028":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r mB nB","1028":"PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2564":"0 1 2 3 4 5 6 7 s t u v w x y z","3076":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB"},D:{"16":"I d J E","132":"0 1 2 3 4 5 6 7 8 9 G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB","388":"F","1028":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"16":"I rB fB","132":"d J E F G A sB tB uB vB gB","1028":"B C K L D ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","132":"0 1 2 3 4 5 6 D M N O e f g h i j k l m n o p q r s t u v w x y z","1028":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"16":"fB 4B iB","132":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"132":"I RC iB SC TC","292":"bB OC PC QC","1028":"H"},J:{"16":"E","132":"A"},K:{"2":"A B C ZB hB aB","1028":"R"},L:{"1028":"H"},M:{"1028":"Q"},N:{"132":"A B"},O:{"132":"UC"},P:{"132":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"132":"eC"},R:{"132":"fC"},S:{"2564":"gC"}},B:4,C:"DOMMatrix"}; diff --git a/node_modules/caniuse-lite/data/features/download.js b/node_modules/caniuse-lite/data/features/download.js new file mode 100644 index 00000000..22abb529 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/download.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Download attribute"}; diff --git a/node_modules/caniuse-lite/data/features/dragndrop.js b/node_modules/caniuse-lite/data/features/dragndrop.js new file mode 100644 index 00000000..1ce5319b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/dragndrop.js @@ -0,0 +1 @@ +module.exports={A:{A:{"644":"J E F G jB","772":"A B"},B:{"1":"O P S T U V W X Y Z a b c Q H","260":"C K L D M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","8":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","8":"G B zB 0B 1B 2B ZB hB 3B"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","1025":"H"},J:{"2":"E A"},K:{"1":"aB","8":"A B C ZB hB","1025":"R"},L:{"1025":"H"},M:{"2":"Q"},N:{"1":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"Drag and Drop"}; diff --git a/node_modules/caniuse-lite/data/features/element-closest.js b/node_modules/caniuse-lite/data/features/element-closest.js new file mode 100644 index 00000000..3dc66e50 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/element-closest.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","2":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"2":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Element.closest()"}; diff --git a/node_modules/caniuse-lite/data/features/element-from-point.js b/node_modules/caniuse-lite/data/features/element-from-point.js new file mode 100644 index 00000000..3c045d21 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/element-from-point.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B","16":"jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","16":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","16":"G zB 0B 1B 2B"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"1":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"C R aB","16":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"document.elementFromPoint()"}; diff --git a/node_modules/caniuse-lite/data/features/element-scroll-methods.js b/node_modules/caniuse-lite/data/features/element-scroll-methods.js new file mode 100644 index 00000000..9b142e9b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/element-scroll-methods.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u mB nB"},D:{"1":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB"},E:{"1":"L D xB yB","2":"I d J E F G rB fB sB tB uB vB","132":"A B C K gB ZB aB wB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC","132":"BC CC DC EC FC GC HC IC JC KC LC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC XC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:5,C:"Scroll methods on elements (scroll, scrollTo, scrollBy)"}; diff --git a/node_modules/caniuse-lite/data/features/eme.js b/node_modules/caniuse-lite/data/features/eme.js new file mode 100644 index 00000000..75833936 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/eme.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","164":"B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w mB nB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t","132":"0 u v w x y z"},E:{"1":"C K L D aB wB xB yB","2":"I d J rB fB sB tB","164":"E F G A B uB vB gB ZB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g zB 0B 1B 2B ZB hB 3B aB","132":"h i j k l m n"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"16":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:2,C:"Encrypted Media Extensions"}; diff --git a/node_modules/caniuse-lite/data/features/eot.js b/node_modules/caniuse-lite/data/features/eot.js new file mode 100644 index 00000000..2eb7f9d1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/eot.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B","2":"jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"EOT - Embedded OpenType fonts"}; diff --git a/node_modules/caniuse-lite/data/features/es5.js b/node_modules/caniuse-lite/data/features/es5.js new file mode 100644 index 00000000..888886de --- /dev/null +++ b/node_modules/caniuse-lite/data/features/es5.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E jB","260":"G","1026":"F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","4":"kB bB mB nB","132":"I d J E F G A B C K L D M N O e f"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","4":"I d J E F G A B C K L D M N O","132":"e f g h"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","4":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","4":"G B C zB 0B 1B 2B ZB hB 3B","132":"aB"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","4":"fB 4B iB 5B"},H:{"132":"NC"},I:{"1":"H SC TC","4":"bB OC PC QC","132":"RC iB","900":"I"},J:{"1":"A","4":"E"},K:{"1":"R","4":"A B C ZB hB","132":"aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"ECMAScript 5"}; diff --git a/node_modules/caniuse-lite/data/features/es6-class.js b/node_modules/caniuse-lite/data/features/es6-class.js new file mode 100644 index 00000000..1525daf7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/es6-class.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","2":"C"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","132":"1 2 3 4 5 6 7"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n zB 0B 1B 2B ZB hB 3B aB","132":"o p q r s t u"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"ES6 classes"}; diff --git a/node_modules/caniuse-lite/data/features/es6-generators.js b/node_modules/caniuse-lite/data/features/es6-generators.js new file mode 100644 index 00000000..80aef50a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/es6-generators.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"ES6 Generators"}; diff --git a/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js b/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js new file mode 100644 index 00000000..f1b65ae2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB mB nB","194":"MB"},D:{"1":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC XC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"JavaScript modules: dynamic import()"}; diff --git a/node_modules/caniuse-lite/data/features/es6-module.js b/node_modules/caniuse-lite/data/features/es6-module.js new file mode 100644 index 00000000..6fff2cb1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/es6-module.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L","4097":"M N O","4290":"D"},C:{"1":"IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB mB nB","322":"DB EB FB GB HB cB"},D:{"1":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB","194":"IB"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB","3076":"gB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","194":"6"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC","3076":"CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC XC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"JavaScript modules via script tag"}; diff --git a/node_modules/caniuse-lite/data/features/es6-number.js b/node_modules/caniuse-lite/data/features/es6-number.js new file mode 100644 index 00000000..2d53b742 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/es6-number.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D mB nB","132":"M N O e f g h i j","260":"k l m n o p","516":"q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O","1028":"e f g h i j k l m n o p q r s"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","1028":"D M N O e f"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC","1028":"RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"ES6 Number"}; diff --git a/node_modules/caniuse-lite/data/features/es6-string-includes.js b/node_modules/caniuse-lite/data/features/es6-string-includes.js new file mode 100644 index 00000000..33aa17dc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/es6-string-includes.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"String.prototype.includes"}; diff --git a/node_modules/caniuse-lite/data/features/es6.js b/node_modules/caniuse-lite/data/features/es6.js new file mode 100644 index 00000000..06f7da41 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/es6.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","388":"B"},B:{"257":"P S T U V W X Y Z a b c Q H","260":"C K L","769":"D M N O"},C:{"2":"kB bB I d mB nB","4":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB","257":"DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"I d J E F G A B C K L D M N O e f","4":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z","257":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E rB fB sB tB","4":"F G uB vB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","4":"D M N O e f g h i j k l m n o p q r s t u v w","257":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B","4":"F 7B 8B 9B AC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","4":"SC TC","257":"H"},J:{"2":"E","4":"A"},K:{"2":"A B C ZB hB aB","257":"R"},L:{"257":"H"},M:{"257":"Q"},N:{"2":"A","388":"B"},O:{"257":"UC"},P:{"4":"I","257":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"257":"eC"},R:{"4":"fC"},S:{"4":"gC"}},B:6,C:"ECMAScript 2015 (ES6)"}; diff --git a/node_modules/caniuse-lite/data/features/eventsource.js b/node_modules/caniuse-lite/data/features/eventsource.js new file mode 100644 index 00000000..416f76ac --- /dev/null +++ b/node_modules/caniuse-lite/data/features/eventsource.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","4":"G zB 0B 1B 2B"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"E A"},K:{"1":"C R ZB hB aB","4":"A B"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Server-sent events"}; diff --git a/node_modules/caniuse-lite/data/features/extended-system-fonts.js b/node_modules/caniuse-lite/data/features/extended-system-fonts.js new file mode 100644 index 00000000..ea574cca --- /dev/null +++ b/node_modules/caniuse-lite/data/features/extended-system-fonts.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"L D wB xB yB","2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family"}; diff --git a/node_modules/caniuse-lite/data/features/feature-policy.js b/node_modules/caniuse-lite/data/features/feature-policy.js new file mode 100644 index 00000000..3d4c0dc7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/feature-policy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y","2":"C K L D M N O","1025":"Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB mB nB","260":"UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"UB VB WB XB YB P S T U V W X Y","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB","132":"IB dB JB KB R LB MB NB OB PB QB RB SB TB","1025":"Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B rB fB sB tB uB vB gB","772":"C K L D ZB aB wB xB yB"},F:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","132":"6 7 8 9 AB BB CB DB EB FB GB HB IB","1025":"VB WB XB YB P"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC","772":"D EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1025":"H"},M:{"260":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"aC bC cC dC","2":"I VC WC XC","132":"YC ZC gB"},Q:{"132":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"Feature Policy"}; diff --git a/node_modules/caniuse-lite/data/features/fetch.js b/node_modules/caniuse-lite/data/features/fetch.js new file mode 100644 index 00000000..337e9bad --- /dev/null +++ b/node_modules/caniuse-lite/data/features/fetch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s mB nB","1025":"y","1218":"t u v w x"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y","260":"z","772":"0"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l zB 0B 1B 2B ZB hB 3B aB","260":"m","772":"n"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Fetch"}; diff --git a/node_modules/caniuse-lite/data/features/fieldset-disabled.js b/node_modules/caniuse-lite/data/features/fieldset-disabled.js new file mode 100644 index 00000000..35cd815a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/fieldset-disabled.js @@ -0,0 +1 @@ +module.exports={A:{A:{"16":"jB","132":"F G","388":"J E A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D","16":"M N O e"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 0B 1B 2B ZB hB 3B aB","16":"G zB"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B"},H:{"388":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A","260":"B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"disabled attribute of the fieldset element"}; diff --git a/node_modules/caniuse-lite/data/features/fileapi.js b/node_modules/caniuse-lite/data/features/fileapi.js new file mode 100644 index 00000000..50ddda60 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/fileapi.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","260":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","260":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB","260":"I d J E F G A B C K L D M N O e f g h i j k l m nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d","260":"K L D M N O e f g h i j k l m n o p q r s t u v w","388":"J E F G A B C"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d rB fB","260":"J E F G tB uB vB","388":"sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B zB 0B 1B 2B","260":"C D M N O e f g h i j ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B","260":"F 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H TC","2":"OC PC QC","260":"SC","388":"bB I RC iB"},J:{"260":"A","388":"E"},K:{"1":"R","2":"A B","260":"C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A","260":"B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"File API"}; diff --git a/node_modules/caniuse-lite/data/features/filereader.js b/node_modules/caniuse-lite/data/features/filereader.js new file mode 100644 index 00000000..94206eda --- /dev/null +++ b/node_modules/caniuse-lite/data/features/filereader.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","132":"A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB nB","2":"kB bB mB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","2":"G B zB 0B 1B 2B"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B"},H:{"2":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"A","2":"E"},K:{"1":"C R ZB hB aB","2":"A B"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"FileReader API"}; diff --git a/node_modules/caniuse-lite/data/features/filereadersync.js b/node_modules/caniuse-lite/data/features/filereadersync.js new file mode 100644 index 00000000..e9315aa0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/filereadersync.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G zB 0B","16":"B 1B 2B ZB hB"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"C R hB aB","2":"A","16":"B ZB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"FileReaderSync"}; diff --git a/node_modules/caniuse-lite/data/features/filesystem.js b/node_modules/caniuse-lite/data/features/filesystem.js new file mode 100644 index 00000000..733499f9 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/filesystem.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","33":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"I d J E","33":"0 1 2 3 4 5 6 7 8 9 K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","36":"F G A B C"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E","33":"A"},K:{"2":"A B C R ZB hB aB"},L:{"33":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I","33":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Filesystem & FileWriter API"}; diff --git a/node_modules/caniuse-lite/data/features/flac.js b/node_modules/caniuse-lite/data/features/flac.js new file mode 100644 index 00000000..766736e7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/flac.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","2":"C K L D"},C:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","16":"3 4 5","388":"6 7 8 9 AB BB CB DB EB"},E:{"1":"K L D wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB","516":"B C ZB aB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","2":"OC PC QC","16":"bB I RC iB SC TC"},J:{"1":"A","2":"E"},K:{"1":"R aB","16":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","129":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:6,C:"FLAC audio format"}; diff --git a/node_modules/caniuse-lite/data/features/flexbox-gap.js b/node_modules/caniuse-lite/data/features/flexbox-gap.js new file mode 100644 index 00000000..a33d03aa --- /dev/null +++ b/node_modules/caniuse-lite/data/features/flexbox-gap.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"V W X Y Z a b c Q H","2":"C K L D M N O P S T U"},C:{"1":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB mB nB"},D:{"1":"V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U"},E:{"1":"D xB yB","2":"I d J E F G A B C K L rB fB sB tB uB vB gB ZB aB wB"},F:{"1":"TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"dC","2":"I VC WC XC YC ZC gB aC bC cC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"gap property for Flexbox"}; diff --git a/node_modules/caniuse-lite/data/features/flexbox.js b/node_modules/caniuse-lite/data/features/flexbox.js new file mode 100644 index 00000000..60ba4a9a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/flexbox.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","1028":"B","1316":"A"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","164":"kB bB I d J E F G A B C K L D M N O e f g mB nB","516":"h i j k l m"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"g h i j k l m n","164":"I d J E F G A B C K L D M N O e f"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","33":"E F tB uB","164":"I d J rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B C zB 0B 1B 2B ZB hB 3B","33":"D M"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","33":"F 7B 8B","164":"fB 4B iB 5B 6B"},H:{"1":"NC"},I:{"1":"H SC TC","164":"bB I OC PC QC RC iB"},J:{"1":"A","164":"E"},K:{"1":"R aB","2":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","292":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS Flexible Box Layout Module"}; diff --git a/node_modules/caniuse-lite/data/features/flow-root.js b/node_modules/caniuse-lite/data/features/flow-root.js new file mode 100644 index 00000000..66c0531e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/flow-root.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB mB nB"},D:{"1":"HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB"},E:{"1":"K L D wB xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB aB"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","2":"I VC WC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"display: flow-root"}; diff --git a/node_modules/caniuse-lite/data/features/focusin-focusout-events.js b/node_modules/caniuse-lite/data/features/focusin-focusout-events.js new file mode 100644 index 00000000..080d936d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/focusin-focusout-events.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B","2":"jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G zB 0B 1B 2B","16":"B ZB hB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"2":"NC"},I:{"1":"I H RC iB SC TC","2":"OC PC QC","16":"bB"},J:{"1":"E A"},K:{"1":"C R aB","2":"A","16":"B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"focusin & focusout events"}; diff --git a/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js b/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js new file mode 100644 index 00000000..92196ad1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M","132":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"preventScroll support in focus"}; diff --git a/node_modules/caniuse-lite/data/features/font-family-system-ui.js b/node_modules/caniuse-lite/data/features/font-family-system-ui.js new file mode 100644 index 00000000..6330817a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-family-system-ui.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"Q H eB","2":"0 1 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","132":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c"},D:{"1":"FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB","260":"CB DB EB"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB","16":"G","132":"A vB gB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B","132":"9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I VC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"132":"gC"}},B:5,C:"system-ui value for font-family"}; diff --git a/node_modules/caniuse-lite/data/features/font-feature.js b/node_modules/caniuse-lite/data/features/font-feature.js new file mode 100644 index 00000000..98150a9e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-feature.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","33":"D M N O e f g h i j k l m n o p q r s","164":"I d J E F G A B C K L"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D","33":"0 1 2 3 4 5 6 g h i j k l m n o p q r s t u v w x y z","292":"M N O e f"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"E F G rB fB tB uB","4":"I d J sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"D M N O e f g h i j k l m n o p q r s t"},G:{"1":"D AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F 7B 8B 9B","4":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB","33":"SC TC"},J:{"2":"E","33":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","33":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS font-feature-settings"}; diff --git a/node_modules/caniuse-lite/data/features/font-kerning.js b/node_modules/caniuse-lite/data/features/font-kerning.js new file mode 100644 index 00000000..bfec04f5 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-kerning.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i mB nB","194":"j k l m n o p q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n","33":"o p q r"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"I d J rB fB sB tB","33":"E F G uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D zB 0B 1B 2B ZB hB 3B aB","33":"M N O e"},G:{"1":"D FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B","33":"F 8B 9B AC BC CC DC EC"},H:{"2":"NC"},I:{"1":"H TC","2":"bB I OC PC QC RC iB","33":"SC"},J:{"2":"E","33":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS3 font-kerning"}; diff --git a/node_modules/caniuse-lite/data/features/font-loading.js b/node_modules/caniuse-lite/data/features/font-loading.js new file mode 100644 index 00000000..fd54074e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-loading.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t mB nB","194":"u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"CSS Font Loading"}; diff --git a/node_modules/caniuse-lite/data/features/font-metrics-overrides.js b/node_modules/caniuse-lite/data/features/font-metrics-overrides.js new file mode 100644 index 00000000..d776afc2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-metrics-overrides.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W","194":"X"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"@font-face metrics overrides"}; diff --git a/node_modules/caniuse-lite/data/features/font-size-adjust.js b/node_modules/caniuse-lite/data/features/font-size-adjust.js new file mode 100644 index 00000000..2970a84e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-size-adjust.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","194":"P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB"},D:{"2":"0 1 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","194":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C D M N O e f g h i j k l m n o zB 0B 1B 2B ZB hB 3B aB","194":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"258":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"194":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"CSS font-size-adjust"}; diff --git a/node_modules/caniuse-lite/data/features/font-smooth.js b/node_modules/caniuse-lite/data/features/font-smooth.js new file mode 100644 index 00000000..0f507071 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-smooth.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","676":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j mB nB","804":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"I","676":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"rB fB","676":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","676":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"804":"gC"}},B:7,C:"CSS font-smooth"}; diff --git a/node_modules/caniuse-lite/data/features/font-unicode-range.js b/node_modules/caniuse-lite/data/features/font-unicode-range.js new file mode 100644 index 00000000..0fa8c76d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-unicode-range.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","4":"G A B"},B:{"1":"N O P S T U V W X Y Z a b c Q H","4":"C K L D M"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u mB nB","194":"0 1 2 v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","4":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u"},E:{"1":"A B C K L D gB ZB aB wB xB yB","4":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","4":"D M N O e f g h"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","4":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","4":"bB I OC PC QC RC iB SC TC"},J:{"2":"E","4":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"4":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","4":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:4,C:"Font unicode-range subsetting"}; diff --git a/node_modules/caniuse-lite/data/features/font-variant-alternates.js b/node_modules/caniuse-lite/data/features/font-variant-alternates.js new file mode 100644 index 00000000..8b6c3b0d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-variant-alternates.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","130":"A B"},B:{"130":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","130":"I d J E F G A B C K L D M N O e f g h i","322":"j k l m n o p q r s"},D:{"2":"I d J E F G A B C K L D","130":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"E F G rB fB tB uB","130":"I d J sB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","130":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"D AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 7B 8B 9B","130":"4B iB 5B 6B"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","130":"H SC TC"},J:{"2":"E","130":"A"},K:{"2":"A B C ZB hB aB","130":"R"},L:{"130":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"130":"UC"},P:{"130":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"130":"eC"},R:{"130":"fC"},S:{"1":"gC"}},B:5,C:"CSS font-variant-alternates"}; diff --git a/node_modules/caniuse-lite/data/features/font-variant-east-asian.js b/node_modules/caniuse-lite/data/features/font-variant-east-asian.js new file mode 100644 index 00000000..6e2faae8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-variant-east-asian.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i mB nB","132":"j k l m n o p q r s"},D:{"1":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"132":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:4,C:"CSS font-variant-east-asian "}; diff --git a/node_modules/caniuse-lite/data/features/font-variant-numeric.js b/node_modules/caniuse-lite/data/features/font-variant-numeric.js new file mode 100644 index 00000000..840fd9ce --- /dev/null +++ b/node_modules/caniuse-lite/data/features/font-variant-numeric.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s mB nB"},D:{"1":"BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E","16":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I VC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:2,C:"CSS font-variant-numeric"}; diff --git a/node_modules/caniuse-lite/data/features/fontface.js b/node_modules/caniuse-lite/data/features/fontface.js new file mode 100644 index 00000000..30b1a101 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/fontface.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","132":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D fB sB tB uB vB gB ZB aB wB xB yB","2":"rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 0B 1B 2B ZB hB 3B aB","2":"G zB"},G:{"1":"F D iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","260":"fB 4B"},H:{"2":"NC"},I:{"1":"I H RC iB SC TC","2":"OC","4":"bB PC QC"},J:{"1":"A","4":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"@font-face Web fonts"}; diff --git a/node_modules/caniuse-lite/data/features/form-attribute.js b/node_modules/caniuse-lite/data/features/form-attribute.js new file mode 100644 index 00000000..04a2bbc3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/form-attribute.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","2":"C K L D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB","16":"d"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"1":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Form attribute"}; diff --git a/node_modules/caniuse-lite/data/features/form-submit-attributes.js b/node_modules/caniuse-lite/data/features/form-submit-attributes.js new file mode 100644 index 00000000..7a25cbc1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/form-submit-attributes.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 2B ZB hB 3B aB","2":"G zB","16":"0B 1B"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"1":"NC"},I:{"1":"I H RC iB SC TC","2":"OC PC QC","16":"bB"},J:{"1":"A","2":"E"},K:{"1":"B C R ZB hB aB","16":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Attributes for form submission"}; diff --git a/node_modules/caniuse-lite/data/features/form-validation.js b/node_modules/caniuse-lite/data/features/form-validation.js new file mode 100644 index 00000000..cc22d2d5 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/form-validation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I rB fB","132":"d J E F G A sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 0B 1B 2B ZB hB 3B aB","2":"G zB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"fB","132":"F 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"516":"NC"},I:{"1":"H TC","2":"bB OC PC QC","132":"I RC iB SC"},J:{"1":"A","132":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"260":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"132":"gC"}},B:1,C:"Form validation"}; diff --git a/node_modules/caniuse-lite/data/features/forms.js b/node_modules/caniuse-lite/data/features/forms.js new file mode 100644 index 00000000..dd3b522c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/forms.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"jB","4":"A B","8":"J E F G"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","4":"C K L D"},C:{"4":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","8":"kB bB mB nB"},D:{"1":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","4":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB"},E:{"4":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","8":"rB fB"},F:{"1":"G B C BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","4":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB"},G:{"2":"fB","4":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB","4":"SC TC"},J:{"2":"E","4":"A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"4":"Q"},N:{"4":"A B"},O:{"1":"UC"},P:{"1":"YC ZC gB aC bC cC dC","4":"I VC WC XC"},Q:{"1":"eC"},R:{"4":"fC"},S:{"4":"gC"}},B:1,C:"HTML5 form features"}; diff --git a/node_modules/caniuse-lite/data/features/fullscreen.js b/node_modules/caniuse-lite/data/features/fullscreen.js new file mode 100644 index 00000000..376546ca --- /dev/null +++ b/node_modules/caniuse-lite/data/features/fullscreen.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","548":"B"},B:{"1":"P S T U V W X Y Z a b c Q H","516":"C K L D M N O"},C:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G mB nB","676":"0 1 2 3 4 5 A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","1700":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB"},D:{"1":"RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L","676":"D M N O e","804":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB"},E:{"2":"I d rB fB","676":"sB","804":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB"},F:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B C zB 0B 1B 2B ZB hB 3B","804":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC","2052":"FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E","292":"A"},K:{"2":"A B C R ZB hB aB"},L:{"804":"H"},M:{"1":"Q"},N:{"2":"A","548":"B"},O:{"804":"UC"},P:{"1":"gB aC bC cC dC","804":"I VC WC XC YC ZC"},Q:{"804":"eC"},R:{"804":"fC"},S:{"1":"gC"}},B:1,C:"Full Screen API"}; diff --git a/node_modules/caniuse-lite/data/features/gamepad.js b/node_modules/caniuse-lite/data/features/gamepad.js new file mode 100644 index 00000000..b0addaf7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/gamepad.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f","33":"g h i j"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"Gamepad API"}; diff --git a/node_modules/caniuse-lite/data/features/geolocation.js b/node_modules/caniuse-lite/data/features/geolocation.js new file mode 100644 index 00000000..5db09561 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/geolocation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"jB","8":"J E F"},B:{"1":"C K L D M N O","129":"P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB mB nB","8":"kB bB","129":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","4":"I","129":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J E F G B C K L D sB tB uB vB gB ZB aB wB xB yB","8":"I rB fB","129":"A"},F:{"1":"B C M N O e f g h i j k l m n o p q r s t u v w x 2B ZB hB 3B aB","2":"G D zB","8":"0B 1B","129":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"F fB 4B iB 5B 6B 7B 8B 9B AC","129":"D BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I OC PC QC RC iB SC TC","129":"H"},J:{"1":"E A"},K:{"1":"B C ZB hB aB","8":"A","129":"R"},L:{"129":"H"},M:{"129":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I","129":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"129":"eC"},R:{"129":"fC"},S:{"1":"gC"}},B:2,C:"Geolocation"}; diff --git a/node_modules/caniuse-lite/data/features/getboundingclientrect.js b/node_modules/caniuse-lite/data/features/getboundingclientrect.js new file mode 100644 index 00000000..ecc3347d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/getboundingclientrect.js @@ -0,0 +1 @@ +module.exports={A:{A:{"644":"J E jB","2049":"G A B","2692":"F"},B:{"1":"P S T U V W X Y Z a b c Q H","2049":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB","260":"I d J E F G A B","1156":"bB","1284":"mB","1796":"nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 2B ZB hB 3B aB","16":"G zB","132":"0B 1B"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"1":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","132":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"2049":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"Element.getBoundingClientRect()"}; diff --git a/node_modules/caniuse-lite/data/features/getcomputedstyle.js b/node_modules/caniuse-lite/data/features/getcomputedstyle.js new file mode 100644 index 00000000..373b6b8d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/getcomputedstyle.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB","132":"bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","260":"I d J E F G A"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","260":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 2B ZB hB 3B aB","260":"G zB 0B 1B"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","260":"fB 4B iB"},H:{"260":"NC"},I:{"1":"I H RC iB SC TC","260":"bB OC PC QC"},J:{"1":"A","260":"E"},K:{"1":"B C R ZB hB aB","260":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"getComputedStyle"}; diff --git a/node_modules/caniuse-lite/data/features/getelementsbyclassname.js b/node_modules/caniuse-lite/data/features/getelementsbyclassname.js new file mode 100644 index 00000000..f7c0a2fa --- /dev/null +++ b/node_modules/caniuse-lite/data/features/getelementsbyclassname.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"jB","8":"J E F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","8":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"getElementsByClassName"}; diff --git a/node_modules/caniuse-lite/data/features/getrandomvalues.js b/node_modules/caniuse-lite/data/features/getrandomvalues.js new file mode 100644 index 00000000..f3739105 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/getrandomvalues.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","33":"B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A","33":"B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"crypto.getRandomValues()"}; diff --git a/node_modules/caniuse-lite/data/features/gyroscope.js b/node_modules/caniuse-lite/data/features/gyroscope.js new file mode 100644 index 00000000..a6c39f5e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/gyroscope.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB","194":"HB cB IB dB JB KB R LB MB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"Gyroscope"}; diff --git a/node_modules/caniuse-lite/data/features/hardwareconcurrency.js b/node_modules/caniuse-lite/data/features/hardwareconcurrency.js new file mode 100644 index 00000000..85f408e1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/hardwareconcurrency.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","2":"C K L"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v"},E:{"2":"I d J E rB fB sB tB uB","129":"B C K L D gB ZB aB wB xB yB","194":"F G A vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"fB 4B iB 5B 6B 7B","129":"D CC DC EC FC GC HC IC JC KC LC MC","194":"F 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"navigator.hardwareConcurrency"}; diff --git a/node_modules/caniuse-lite/data/features/hashchange.js b/node_modules/caniuse-lite/data/features/hashchange.js new file mode 100644 index 00000000..48a06bef --- /dev/null +++ b/node_modules/caniuse-lite/data/features/hashchange.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F G A B","8":"J E jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB nB","8":"kB bB mB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","8":"I"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","8":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 2B ZB hB 3B aB","8":"G zB 0B 1B"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB"},H:{"2":"NC"},I:{"1":"bB I H PC QC RC iB SC TC","2":"OC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","8":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Hashchange event"}; diff --git a/node_modules/caniuse-lite/data/features/heif.js b/node_modules/caniuse-lite/data/features/heif.js new file mode 100644 index 00000000..df2da63e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/heif.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A rB fB sB tB uB vB gB","130":"B C K L D ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC","130":"D DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"HEIF/ISO Base Media File Format"}; diff --git a/node_modules/caniuse-lite/data/features/hevc.js b/node_modules/caniuse-lite/data/features/hevc.js new file mode 100644 index 00000000..1e452c19 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/hevc.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","132":"B"},B:{"2":"P S T U V W X Y Z a b c Q H","132":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"K L D wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB","516":"B C ZB aB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","258":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","258":"R"},L:{"258":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I","258":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"HEVC/H.265 video format"}; diff --git a/node_modules/caniuse-lite/data/features/hidden.js b/node_modules/caniuse-lite/data/features/hidden.js new file mode 100644 index 00000000..4a005f64 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/hidden.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","2":"G B zB 0B 1B 2B"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"1":"NC"},I:{"1":"I H RC iB SC TC","2":"bB OC PC QC"},J:{"1":"A","2":"E"},K:{"1":"C R ZB hB aB","2":"A B"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"hidden attribute"}; diff --git a/node_modules/caniuse-lite/data/features/high-resolution-time.js b/node_modules/caniuse-lite/data/features/high-resolution-time.js new file mode 100644 index 00000000..6185a93a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/high-resolution-time.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e","33":"f g h i"},E:{"1":"F G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"High Resolution Time API"}; diff --git a/node_modules/caniuse-lite/data/features/history.js b/node_modules/caniuse-lite/data/features/history.js new file mode 100644 index 00000000..aeb94a8e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/history.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I rB fB","4":"d sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P hB 3B aB","2":"G B zB 0B 1B 2B ZB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B","4":"iB"},H:{"2":"NC"},I:{"1":"H PC QC iB SC TC","2":"bB I OC RC"},J:{"1":"E A"},K:{"1":"C R ZB hB aB","2":"A B"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Session history management"}; diff --git a/node_modules/caniuse-lite/data/features/html-media-capture.js b/node_modules/caniuse-lite/data/features/html-media-capture.js new file mode 100644 index 00000000..ce4ed8d7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/html-media-capture.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"fB 4B iB 5B","129":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC","257":"PC QC"},J:{"1":"A","16":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"516":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"16":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:4,C:"HTML Media Capture"}; diff --git a/node_modules/caniuse-lite/data/features/html5semantic.js b/node_modules/caniuse-lite/data/features/html5semantic.js new file mode 100644 index 00000000..a4b7f456 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/html5semantic.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"jB","8":"J E F","260":"G A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB","132":"bB mB nB","260":"I d J E F G A B C K L D M N O e f"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d","260":"J E F G A B C K L D M N O e f g h i j k"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","132":"I rB fB","260":"d J sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","132":"G B zB 0B 1B 2B","260":"C ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","132":"fB","260":"4B iB 5B 6B"},H:{"132":"NC"},I:{"1":"H SC TC","132":"OC","260":"bB I PC QC RC iB"},J:{"260":"E A"},K:{"1":"R","132":"A","260":"B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"260":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"HTML5 semantic elements"}; diff --git a/node_modules/caniuse-lite/data/features/http-live-streaming.js b/node_modules/caniuse-lite/data/features/http-live-streaming.js new file mode 100644 index 00000000..fa9f98e6 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/http-live-streaming.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O","2":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:7,C:"HTTP Live Streaming (HLS)"}; diff --git a/node_modules/caniuse-lite/data/features/http2.js b/node_modules/caniuse-lite/data/features/http2.js new file mode 100644 index 00000000..367f2a33 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/http2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","132":"B"},B:{"1":"C K L D M N O","513":"P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u mB nB","513":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","513":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB","260":"G A vB gB"},F:{"1":"n o p q r s t u v w","2":"G B C D M N O e f g h i j k l m zB 0B 1B 2B ZB hB 3B aB","513":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","513":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","513":"R"},L:{"513":"H"},M:{"513":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I","513":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"513":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"HTTP/2 protocol"}; diff --git a/node_modules/caniuse-lite/data/features/http3.js b/node_modules/caniuse-lite/data/features/http3.js new file mode 100644 index 00000000..a75281a5 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/http3.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"Y Z a b c Q H","2":"C K L D M N O","322":"P S T U V","578":"W X"},C:{"1":"Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB mB nB","194":"SB TB UB VB WB XB YB P S T lB U V W X Y"},D:{"1":"Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB","322":"P S T U V","578":"W X"},E:{"2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB wB","1090":"L D xB yB"},F:{"1":"UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB zB 0B 1B 2B ZB hB 3B aB","578":"TB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC","66":"D LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"194":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"dC","2":"I VC WC XC YC ZC gB aC bC cC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"HTTP/3 protocol"}; diff --git a/node_modules/caniuse-lite/data/features/iframe-sandbox.js b/node_modules/caniuse-lite/data/features/iframe-sandbox.js new file mode 100644 index 00000000..cc15de08 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/iframe-sandbox.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M mB nB","4":"N O e f g h i j k l m"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B"},H:{"2":"NC"},I:{"1":"bB I H PC QC RC iB SC TC","2":"OC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"sandbox attribute for iframes"}; diff --git a/node_modules/caniuse-lite/data/features/iframe-seamless.js b/node_modules/caniuse-lite/data/features/iframe-seamless.js new file mode 100644 index 00000000..08f1ca2e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/iframe-seamless.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","66":"f g h i j k l"},E:{"2":"I d J F G A B C K L D rB fB sB tB vB gB ZB aB wB xB yB","130":"E uB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","130":"7B"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"seamless attribute for iframes"}; diff --git a/node_modules/caniuse-lite/data/features/iframe-srcdoc.js b/node_modules/caniuse-lite/data/features/iframe-srcdoc.js new file mode 100644 index 00000000..67d3c489 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/iframe-srcdoc.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"jB","8":"J E F G A B"},B:{"1":"P S T U V W X Y Z a b c Q H","8":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB","8":"bB I d J E F G A B C K L D M N O e f g h i j mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K","8":"L D M N O e"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"rB fB","8":"I d sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B zB 0B 1B 2B","8":"C ZB hB 3B aB"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB","8":"4B iB 5B"},H:{"2":"NC"},I:{"1":"H SC TC","8":"bB I OC PC QC RC iB"},J:{"1":"A","8":"E"},K:{"1":"R","2":"A B","8":"C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"8":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"srcdoc attribute for iframes"}; diff --git a/node_modules/caniuse-lite/data/features/imagecapture.js b/node_modules/caniuse-lite/data/features/imagecapture.js new file mode 100644 index 00000000..839841dd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/imagecapture.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","322":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t mB nB","194":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB","322":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y zB 0B 1B 2B ZB hB 3B aB","322":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"322":"eC"},R:{"1":"fC"},S:{"194":"gC"}},B:5,C:"ImageCapture API"}; diff --git a/node_modules/caniuse-lite/data/features/ime.js b/node_modules/caniuse-lite/data/features/ime.js new file mode 100644 index 00000000..a7b1c142 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/ime.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","161":"B"},B:{"2":"P S T U V W X Y Z a b c Q H","161":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A","161":"B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"Input Method Editor API"}; diff --git a/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js b/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js new file mode 100644 index 00000000..68487588 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"naturalWidth & naturalHeight image properties"}; diff --git a/node_modules/caniuse-lite/data/features/import-maps.js b/node_modules/caniuse-lite/data/features/import-maps.js new file mode 100644 index 00000000..126f88e5 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/import-maps.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"a b c Q H","2":"C K L D M N O","194":"P S T U V W X Y Z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB","194":"UB VB WB XB YB P S T U V W X Y Z"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB zB 0B 1B 2B ZB hB 3B aB","194":"JB KB R LB MB NB OB PB QB RB SB TB UB VB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Import maps"}; diff --git a/node_modules/caniuse-lite/data/features/imports.js b/node_modules/caniuse-lite/data/features/imports.js new file mode 100644 index 00000000..764efece --- /dev/null +++ b/node_modules/caniuse-lite/data/features/imports.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","8":"A B"},B:{"1":"P","2":"S T U V W X Y Z a b c Q H","8":"C K L D M N O"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o mB nB","8":"p q FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","72":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o S T U V W X Y Z a b c Q H eB oB pB qB","66":"p q r s t","72":"u"},E:{"2":"I d rB fB sB","8":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB","2":"G B C D M NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","66":"N O e f g","72":"h"},G:{"2":"fB 4B iB 5B 6B","8":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"8":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC","2":"cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"HTML Imports"}; diff --git a/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js b/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js new file mode 100644 index 00000000..f1ab7449 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B","16":"jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB nB","2":"kB bB","16":"mB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G B zB 0B 1B 2B ZB hB"},G:{"1":"D GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"2":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"indeterminate checkbox"}; diff --git a/node_modules/caniuse-lite/data/features/indexeddb.js b/node_modules/caniuse-lite/data/features/indexeddb.js new file mode 100644 index 00000000..0c1127c1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/indexeddb.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","132":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","132":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","33":"A B C K L D","36":"I d J E F G"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"A","8":"I d J E F G","33":"i","36":"B C K L D M N O e f g h"},E:{"1":"A B C K L D gB ZB aB wB yB","8":"I d J E rB fB sB tB","260":"F G uB vB","516":"xB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G zB 0B","8":"B C 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC","8":"fB 4B iB 5B 6B 7B","260":"F 8B 9B AC","516":"MC"},H:{"2":"NC"},I:{"1":"H SC TC","8":"bB I OC PC QC RC iB"},J:{"1":"A","8":"E"},K:{"1":"R","2":"A","8":"B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"IndexedDB"}; diff --git a/node_modules/caniuse-lite/data/features/indexeddb2.js b/node_modules/caniuse-lite/data/features/indexeddb2.js new file mode 100644 index 00000000..8602e8a1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/indexeddb2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","132":"3 4 5","260":"6 7 8 9"},D:{"1":"HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","132":"7 8 9 AB","260":"BB CB DB EB FB GB"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t zB 0B 1B 2B ZB hB 3B aB","132":"u v w x","260":"0 1 2 3 y z"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC","16":"BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","2":"I","260":"VC WC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"260":"gC"}},B:4,C:"IndexedDB 2.0"}; diff --git a/node_modules/caniuse-lite/data/features/inline-block.js b/node_modules/caniuse-lite/data/features/inline-block.js new file mode 100644 index 00000000..3f545d7a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/inline-block.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F G A B","4":"jB","132":"J E"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","36":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS inline-block"}; diff --git a/node_modules/caniuse-lite/data/features/innertext.js b/node_modules/caniuse-lite/data/features/innertext.js new file mode 100644 index 00000000..feea9932 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/innertext.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B","16":"jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D fB sB tB uB vB gB ZB aB wB xB yB","16":"rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","16":"G"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"1":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"HTMLElement.innerText"}; diff --git a/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js b/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js new file mode 100644 index 00000000..3f5311bf --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A jB","132":"B"},B:{"132":"C K L D M N O","260":"P S T U V W X Y Z a b c Q H"},C:{"1":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o mB nB","516":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"N O e f g h i j k l","2":"I d J E F G A B C K L D M","132":"m n o p q r s t u v w x y z","260":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"J sB tB","2":"I d rB fB","2052":"E F G A B C K L D uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"fB 4B iB","1025":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1025":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2052":"A B"},O:{"1025":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"260":"eC"},R:{"1":"fC"},S:{"516":"gC"}},B:1,C:"autocomplete attribute: on & off values"}; diff --git a/node_modules/caniuse-lite/data/features/input-color.js b/node_modules/caniuse-lite/data/features/input-color.js new file mode 100644 index 00000000..8af06b6a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-color.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e"},E:{"1":"K L D aB wB xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","2":"G D M zB 0B 1B 2B"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC","129":"D GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:1,C:"Color input type"}; diff --git a/node_modules/caniuse-lite/data/features/input-datetime.js b/node_modules/caniuse-lite/data/features/input-datetime.js new file mode 100644 index 00000000..c5e5798c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-datetime.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","132":"C"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB mB nB","1090":"CB DB EB FB","2052":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e","2052":"f g h i j"},E:{"2":"I d J E F G A B C K L rB fB sB tB uB vB gB ZB aB wB","4100":"D xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"fB 4B iB","260":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB OC PC QC","514":"I RC iB"},J:{"1":"A","2":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2052":"gC"}},B:1,C:"Date and time input types"}; diff --git a/node_modules/caniuse-lite/data/features/input-email-tel-url.js b/node_modules/caniuse-lite/data/features/input-email-tel-url.js new file mode 100644 index 00000000..aa71fc1f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-email-tel-url.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H RC iB SC TC","132":"OC PC QC"},J:{"1":"A","132":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Email, telephone & URL input types"}; diff --git a/node_modules/caniuse-lite/data/features/input-event.js b/node_modules/caniuse-lite/data/features/input-event.js new file mode 100644 index 00000000..638a712a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-event.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","2561":"A B","2692":"G"},B:{"1":"P S T U V W X Y Z a b c Q H","2561":"C K L D M N O"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","16":"kB","1537":"0 1 2 3 4 5 6 7 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z nB","1796":"bB mB"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L","1025":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB","1537":"D M N O e f g h i j k l m n o p q r s t"},E:{"1":"L D wB xB yB","16":"I d J rB fB","1025":"E F G A B C tB uB vB gB ZB","1537":"sB","4097":"K aB"},F:{"1":"BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","16":"G B C zB 0B 1B 2B ZB hB","260":"3B","1025":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB","1537":"D M N O e f g"},G:{"16":"fB 4B iB","1025":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","1537":"5B 6B 7B"},H:{"2":"NC"},I:{"16":"OC PC","1025":"H TC","1537":"bB I QC RC iB SC"},J:{"1025":"A","1537":"E"},K:{"1":"A B C ZB hB aB","1025":"R"},L:{"1":"H"},M:{"1537":"Q"},N:{"2561":"A B"},O:{"1537":"UC"},P:{"1025":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1025":"eC"},R:{"1025":"fC"},S:{"1537":"gC"}},B:1,C:"input event"}; diff --git a/node_modules/caniuse-lite/data/features/input-file-accept.js b/node_modules/caniuse-lite/data/features/input-file-accept.js new file mode 100644 index 00000000..8ad2f244 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-file-accept.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","132":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I","16":"d J E F g h i j k","132":"G A B C K L D M N O e f"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d rB fB sB","132":"J E F G A B tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"6B 7B","132":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","514":"fB 4B iB 5B"},H:{"2":"NC"},I:{"2":"OC PC QC","260":"bB I RC iB","514":"H SC TC"},J:{"132":"A","260":"E"},K:{"2":"A B C ZB hB aB","514":"R"},L:{"260":"H"},M:{"2":"Q"},N:{"514":"A","1028":"B"},O:{"2":"UC"},P:{"260":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"260":"eC"},R:{"260":"fC"},S:{"1":"gC"}},B:1,C:"accept attribute for file input"}; diff --git a/node_modules/caniuse-lite/data/features/input-file-directory.js b/node_modules/caniuse-lite/data/features/input-file-directory.js new file mode 100644 index 00000000..61d05275 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-file-directory.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","2":"C K"},C:{"1":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Directory selection from file input"}; diff --git a/node_modules/caniuse-lite/data/features/input-file-multiple.js b/node_modules/caniuse-lite/data/features/input-file-multiple.js new file mode 100644 index 00000000..da76d7e2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-file-multiple.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB nB","2":"kB bB mB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 2B ZB hB 3B aB","2":"G zB 0B 1B"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B"},H:{"130":"NC"},I:{"130":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"130":"A B C R ZB hB aB"},L:{"132":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"130":"UC"},P:{"130":"I","132":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"132":"eC"},R:{"132":"fC"},S:{"2":"gC"}},B:1,C:"Multiple file selection"}; diff --git a/node_modules/caniuse-lite/data/features/input-inputmode.js b/node_modules/caniuse-lite/data/features/input-inputmode.js new file mode 100644 index 00000000..c5a0b32a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-inputmode.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"kB bB I d J E F G A B C K L D M mB nB","4":"N O e f","194":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","66":"FB GB HB cB IB dB JB KB R LB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","66":"2 3 4 5 6 7 8 9 AB BB"},G:{"1":"D GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"ZC gB aC bC cC dC","2":"I VC WC XC YC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"194":"gC"}},B:1,C:"inputmode attribute"}; diff --git a/node_modules/caniuse-lite/data/features/input-minlength.js b/node_modules/caniuse-lite/data/features/input-minlength.js new file mode 100644 index 00000000..24de96a0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-minlength.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"N O P S T U V W X Y Z a b c Q H","2":"C K L D M"},C:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:1,C:"Minimum length attribute for input fields"}; diff --git a/node_modules/caniuse-lite/data/features/input-number.js b/node_modules/caniuse-lite/data/features/input-number.js new file mode 100644 index 00000000..5facb940 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-number.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","129":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","129":"C K","1025":"L D M N O"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB","513":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"388":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB OC PC QC","388":"I H RC iB SC TC"},J:{"2":"E","388":"A"},K:{"1":"A B C ZB hB aB","388":"R"},L:{"388":"H"},M:{"641":"Q"},N:{"388":"A B"},O:{"388":"UC"},P:{"388":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"388":"eC"},R:{"388":"fC"},S:{"513":"gC"}},B:1,C:"Number input type"}; diff --git a/node_modules/caniuse-lite/data/features/input-pattern.js b/node_modules/caniuse-lite/data/features/input-pattern.js new file mode 100644 index 00000000..e0887eaf --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-pattern.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I rB fB","16":"d","388":"J E F G A sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB","388":"F 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H TC","2":"bB I OC PC QC RC iB SC"},J:{"1":"A","2":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Pattern attribute for input fields"}; diff --git a/node_modules/caniuse-lite/data/features/input-placeholder.js b/node_modules/caniuse-lite/data/features/input-placeholder.js new file mode 100644 index 00000000..9e7f9623 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-placeholder.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","132":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P hB 3B aB","2":"G zB 0B 1B 2B","132":"B ZB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB H OC PC QC iB SC TC","4":"I RC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"input placeholder attribute"}; diff --git a/node_modules/caniuse-lite/data/features/input-range.js b/node_modules/caniuse-lite/data/features/input-range.js new file mode 100644 index 00000000..ff4fe5c3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-range.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"2":"NC"},I:{"1":"H iB SC TC","4":"bB I OC PC QC RC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Range input type"}; diff --git a/node_modules/caniuse-lite/data/features/input-search.js b/node_modules/caniuse-lite/data/features/input-search.js new file mode 100644 index 00000000..ad2427a3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-search.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","129":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","129":"C K L D M N O"},C:{"2":"kB bB mB nB","129":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L g h i j k","129":"D M N O e f"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G zB 0B 1B 2B","16":"B ZB hB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB"},H:{"129":"NC"},I:{"1":"H SC TC","16":"OC PC","129":"bB I QC RC iB"},J:{"1":"E","129":"A"},K:{"1":"C R","2":"A","16":"B ZB hB","129":"aB"},L:{"1":"H"},M:{"129":"Q"},N:{"129":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"129":"gC"}},B:1,C:"Search input type"}; diff --git a/node_modules/caniuse-lite/data/features/input-selection.js b/node_modules/caniuse-lite/data/features/input-selection.js new file mode 100644 index 00000000..b7188235 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/input-selection.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 2B ZB hB 3B aB","16":"G zB 0B 1B"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"2":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Selection controls for input & textarea"}; diff --git a/node_modules/caniuse-lite/data/features/insert-adjacent.js b/node_modules/caniuse-lite/data/features/insert-adjacent.js new file mode 100644 index 00000000..fca15588 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/insert-adjacent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B","16":"jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","16":"G"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Element.insertAdjacentElement() & Element.insertAdjacentText()"}; diff --git a/node_modules/caniuse-lite/data/features/insertadjacenthtml.js b/node_modules/caniuse-lite/data/features/insertadjacenthtml.js new file mode 100644 index 00000000..356e7608 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/insertadjacenthtml.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","16":"jB","132":"J E F G"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 0B 1B 2B ZB hB 3B aB","16":"G zB"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"1":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"Element.insertAdjacentHTML()"}; diff --git a/node_modules/caniuse-lite/data/features/internationalization.js b/node_modules/caniuse-lite/data/features/internationalization.js new file mode 100644 index 00000000..d667a0af --- /dev/null +++ b/node_modules/caniuse-lite/data/features/internationalization.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:6,C:"Internationalization API"}; diff --git a/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js b/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js new file mode 100644 index 00000000..725b6678 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"aC bC cC dC","2":"I VC WC XC YC ZC gB"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"IntersectionObserver V2"}; diff --git a/node_modules/caniuse-lite/data/features/intersectionobserver.js b/node_modules/caniuse-lite/data/features/intersectionobserver.js new file mode 100644 index 00000000..a1719355 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/intersectionobserver.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"M N O","2":"C K L","516":"D","1025":"P S T U V W X Y Z a b c Q H"},C:{"1":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB mB nB","194":"BB CB DB"},D:{"1":"HB cB IB dB JB KB R","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","516":"AB BB CB DB EB FB GB","1025":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"K L D aB wB xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w zB 0B 1B 2B ZB hB 3B aB","516":"0 1 2 3 x y z","1025":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"D GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","1025":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","1025":"R"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"516":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","2":"I","516":"VC WC"},Q:{"1025":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"IntersectionObserver"}; diff --git a/node_modules/caniuse-lite/data/features/intl-pluralrules.js b/node_modules/caniuse-lite/data/features/intl-pluralrules.js new file mode 100644 index 00000000..d293b5ac --- /dev/null +++ b/node_modules/caniuse-lite/data/features/intl-pluralrules.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N","130":"O"},C:{"1":"HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB mB nB"},D:{"1":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB"},E:{"1":"K L D wB xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB aB"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC XC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"Intl.PluralRules API"}; diff --git a/node_modules/caniuse-lite/data/features/intrinsic-width.js b/node_modules/caniuse-lite/data/features/intrinsic-width.js new file mode 100644 index 00000000..3bbab2d7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/intrinsic-width.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","1537":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB","932":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB mB nB","2308":"MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"I d J E F G A B C K L D M N O e f g","545":"0 1 2 3 4 h i j k l m n o p q r s t u v w x y z","1537":"5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J rB fB sB","516":"B C K L D ZB aB wB xB yB","548":"G A vB gB","676":"E F tB uB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","513":"t","545":"D M N O e f g h i j k l m n o p q r","1537":"0 1 2 3 4 5 6 7 8 9 s u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"fB 4B iB 5B 6B","516":"D LC MC","548":"9B AC BC CC DC EC FC GC HC IC JC KC","676":"F 7B 8B"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","545":"SC TC","1537":"H"},J:{"2":"E","545":"A"},K:{"2":"A B C ZB hB aB","1537":"R"},L:{"1537":"H"},M:{"2308":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"545":"I","1537":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"545":"eC"},R:{"1537":"fC"},S:{"932":"gC"}},B:5,C:"Intrinsic & Extrinsic Sizing"}; diff --git a/node_modules/caniuse-lite/data/features/jpeg2000.js b/node_modules/caniuse-lite/data/features/jpeg2000.js new file mode 100644 index 00000000..2a3133d8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/jpeg2000.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I rB fB","129":"d sB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"JPEG 2000 image format"}; diff --git a/node_modules/caniuse-lite/data/features/jpegxl.js b/node_modules/caniuse-lite/data/features/jpegxl.js new file mode 100644 index 00000000..6c1f0964 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/jpegxl.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b","578":"c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a mB nB","322":"b c Q H eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b","194":"c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB zB 0B 1B 2B ZB hB 3B aB","194":"XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"JPEG XL image format"}; diff --git a/node_modules/caniuse-lite/data/features/jpegxr.js b/node_modules/caniuse-lite/data/features/jpegxr.js new file mode 100644 index 00000000..9c1137d8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/jpegxr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O","2":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"1":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"JPEG XR image format"}; diff --git a/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js b/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js new file mode 100644 index 00000000..e33c125b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB mB nB"},D:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC XC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"Lookbehind in JS regular expressions"}; diff --git a/node_modules/caniuse-lite/data/features/json.js b/node_modules/caniuse-lite/data/features/json.js new file mode 100644 index 00000000..5b296e5f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/json.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E jB","129":"F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"JSON parsing"}; diff --git a/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js b/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js new file mode 100644 index 00000000..9b258772 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D","132":"M N O"},C:{"1":"BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB mB nB"},D:{"1":"IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB","132":"GB HB cB"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB","132":"gB"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","132":"3 4 5"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC","132":"CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"132":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC","132":"XC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"132":"gC"}},B:5,C:"CSS justify-content: space-evenly"}; diff --git a/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js b/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js new file mode 100644 index 00000000..854a6162 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"O P S T U V W X Y Z a b c Q H","2":"C K L D M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"OC PC QC","132":"bB I RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:7,C:"High-quality kerning pairs & ligatures"}; diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js b/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js new file mode 100644 index 00000000..0373c728 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","16":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B ZB hB 3B","16":"C"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"R aB","2":"A B ZB hB","16":"C"},L:{"1":"H"},M:{"130":"Q"},N:{"130":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:7,C:"KeyboardEvent.charCode"}; diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-code.js b/node_modules/caniuse-lite/data/features/keyboardevent-code.js new file mode 100644 index 00000000..d16735ce --- /dev/null +++ b/node_modules/caniuse-lite/data/features/keyboardevent-code.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w mB nB"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","194":"1 2 3 4 5 6"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n zB 0B 1B 2B ZB hB 3B aB","194":"o p q r s t"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"194":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I","194":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"194":"fC"},S:{"1":"gC"}},B:5,C:"KeyboardEvent.code"}; diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js b/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js new file mode 100644 index 00000000..de91be95 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B D M zB 0B 1B 2B ZB hB 3B","16":"C"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R aB","2":"A B ZB hB","16":"C"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"KeyboardEvent.getModifierState()"}; diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-key.js b/node_modules/caniuse-lite/data/features/keyboardevent-key.js new file mode 100644 index 00000000..db91946e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/keyboardevent-key.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","260":"G A B"},B:{"1":"P S T U V W X Y Z a b c Q H","260":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h mB nB","132":"i j k l m n"},D:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B D M N O e f g h i j k l m n o p q r s t u v w zB 0B 1B 2B ZB hB 3B","16":"C"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"1":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R aB","2":"A B ZB hB","16":"C"},L:{"1":"H"},M:{"1":"Q"},N:{"260":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"2":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:5,C:"KeyboardEvent.key"}; diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-location.js b/node_modules/caniuse-lite/data/features/keyboardevent-location.js new file mode 100644 index 00000000..28f91d5a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/keyboardevent-location.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d J E F G A B C K L D M N O e f g h i j k l m n o"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","16":"J rB fB","132":"I d sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B ZB hB 3B","16":"C","132":"D M"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB","132":"5B 6B 7B"},H:{"2":"NC"},I:{"1":"H SC TC","16":"OC PC","132":"bB I QC RC iB"},J:{"132":"E A"},K:{"1":"R aB","2":"A B ZB hB","16":"C"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"KeyboardEvent.location"}; diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-which.js b/node_modules/caniuse-lite/data/features/keyboardevent-which.js new file mode 100644 index 00000000..b1a9a51a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/keyboardevent-which.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB","16":"d"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 0B 1B 2B ZB hB 3B aB","16":"G zB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB","16":"OC PC","132":"SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"132":"H"},M:{"132":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"2":"I","132":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"132":"fC"},S:{"1":"gC"}},B:7,C:"KeyboardEvent.which"}; diff --git a/node_modules/caniuse-lite/data/features/lazyload.js b/node_modules/caniuse-lite/data/features/lazyload.js new file mode 100644 index 00000000..98eb1e57 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/lazyload.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"C K L D M N O","2":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"1":"B","2":"A"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Resource Hints: Lazyload"}; diff --git a/node_modules/caniuse-lite/data/features/let.js b/node_modules/caniuse-lite/data/features/let.js new file mode 100644 index 00000000..b90e815c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/let.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","2052":"B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","194":"0 1 2 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O","322":"e f g h i j k l m n o p q r s t u v w x y z","516":"0 1 2 3 4 5 6 7"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB","1028":"A gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","322":"D M N O e f g h i j k l m","516":"n o p q r s t u"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC","1028":"BC CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","516":"I"},Q:{"1":"eC"},R:{"516":"fC"},S:{"1":"gC"}},B:6,C:"let"}; diff --git a/node_modules/caniuse-lite/data/features/link-icon-png.js b/node_modules/caniuse-lite/data/features/link-icon-png.js new file mode 100644 index 00000000..8b60f1a7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/link-icon-png.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D FC GC HC IC JC KC LC MC","130":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC"},H:{"130":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E","130":"A"},K:{"1":"R","130":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"130":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"PNG favicons"}; diff --git a/node_modules/caniuse-lite/data/features/link-icon-svg.js b/node_modules/caniuse-lite/data/features/link-icon-svg.js new file mode 100644 index 00000000..f67e869a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/link-icon-svg.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P","1537":"S T U V W X Y Z a b c Q H"},C:{"2":"kB bB mB nB","260":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","513":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","1537":"S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"3 4 5 6 7 8 9 AB BB CB","2":"0 1 2 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z DB EB FB GB HB IB JB KB R LB MB zB 0B 1B 2B ZB hB 3B aB","1537":"NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"D FC GC HC IC JC KC LC MC","130":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC"},H:{"130":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E","130":"A"},K:{"2":"R","130":"A B C ZB hB aB"},L:{"1537":"H"},M:{"2":"Q"},N:{"130":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC","1537":"cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"513":"gC"}},B:1,C:"SVG favicons"}; diff --git a/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js b/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js new file mode 100644 index 00000000..4d04fea8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F jB","132":"G"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB","260":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"16":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"16":"bB I H OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"16":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"16":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","16":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"Resource Hints: dns-prefetch"}; diff --git a/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js b/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js new file mode 100644 index 00000000..d13d1b5a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"ZC gB aC bC cC dC","2":"I VC WC XC YC"},Q:{"16":"eC"},R:{"16":"fC"},S:{"2":"gC"}},B:1,C:"Resource Hints: modulepreload"}; diff --git a/node_modules/caniuse-lite/data/features/link-rel-preconnect.js b/node_modules/caniuse-lite/data/features/link-rel-preconnect.js new file mode 100644 index 00000000..11743f53 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/link-rel-preconnect.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L","260":"D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","129":"y"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"16":"Q"},N:{"2":"A B"},O:{"16":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"Resource Hints: preconnect"}; diff --git a/node_modules/caniuse-lite/data/features/link-rel-prefetch.js b/node_modules/caniuse-lite/data/features/link-rel-prefetch.js new file mode 100644 index 00000000..8c9b0287 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/link-rel-prefetch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E"},E:{"2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB","194":"L D wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","194":"D KC LC MC"},H:{"2":"NC"},I:{"1":"I H SC TC","2":"bB OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"Resource Hints: prefetch"}; diff --git a/node_modules/caniuse-lite/data/features/link-rel-preload.js b/node_modules/caniuse-lite/data/features/link-rel-preload.js new file mode 100644 index 00000000..1a9e2d3b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/link-rel-preload.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M","1028":"N O"},C:{"1":"W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB mB nB","132":"FB","578":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V"},D:{"1":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB","322":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC","322":"DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"Resource Hints: preload"}; diff --git a/node_modules/caniuse-lite/data/features/link-rel-prerender.js b/node_modules/caniuse-lite/data/features/link-rel-prerender.js new file mode 100644 index 00000000..fdbbc1b0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/link-rel-prerender.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"1":"B","2":"A"},O:{"2":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"Resource Hints: prerender"}; diff --git a/node_modules/caniuse-lite/data/features/loading-lazy-attr.js b/node_modules/caniuse-lite/data/features/loading-lazy-attr.js new file mode 100644 index 00000000..c965b4c6 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/loading-lazy-attr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB mB nB","132":"VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB","66":"VB WB"},E:{"2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB","322":"L D wB xB yB"},F:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB zB 0B 1B 2B ZB hB 3B aB","66":"JB KB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","322":"D KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"132":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"bC cC dC","2":"I VC WC XC YC ZC gB aC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"Lazy loading via attribute for images & iframes"}; diff --git a/node_modules/caniuse-lite/data/features/localecompare.js b/node_modules/caniuse-lite/data/features/localecompare.js new file mode 100644 index 00000000..ffc1dd32 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/localecompare.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","16":"jB","132":"J E F G A"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","132":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d J E F G A B C K L D M N O e f g h i"},E:{"1":"A B C K L D gB ZB aB wB xB yB","132":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G B C zB 0B 1B 2B ZB hB 3B","132":"aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","132":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"132":"NC"},I:{"1":"H SC TC","132":"bB I OC PC QC RC iB"},J:{"132":"E A"},K:{"1":"R","16":"A B C ZB hB","132":"aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","132":"A"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","132":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"4":"gC"}},B:6,C:"localeCompare()"}; diff --git a/node_modules/caniuse-lite/data/features/magnetometer.js b/node_modules/caniuse-lite/data/features/magnetometer.js new file mode 100644 index 00000000..a59820d8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/magnetometer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB","194":"HB cB IB dB JB KB R LB MB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"194":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"Magnetometer"}; diff --git a/node_modules/caniuse-lite/data/features/matchesselector.js b/node_modules/caniuse-lite/data/features/matchesselector.js new file mode 100644 index 00000000..6584082e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/matchesselector.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","36":"G A B"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","36":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB","36":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","36":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s"},E:{"1":"F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I rB fB","36":"d J E sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B zB 0B 1B 2B ZB","36":"C D M N O e f hB 3B aB"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB","36":"4B iB 5B 6B 7B"},H:{"2":"NC"},I:{"1":"H","2":"OC","36":"bB I PC QC RC iB SC TC"},J:{"36":"E A"},K:{"1":"R","2":"A B","36":"C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"36":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","36":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"matches() DOM method"}; diff --git a/node_modules/caniuse-lite/data/features/matchmedia.js b/node_modules/caniuse-lite/data/features/matchmedia.js new file mode 100644 index 00000000..46c6016c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/matchmedia.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B C zB 0B 1B 2B ZB hB 3B"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"1":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"A","2":"E"},K:{"1":"R aB","2":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"matchMedia"}; diff --git a/node_modules/caniuse-lite/data/features/mathml.js b/node_modules/caniuse-lite/data/features/mathml.js new file mode 100644 index 00000000..459a85c8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/mathml.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"G A B jB","8":"J E F"},B:{"2":"C K L D M N O","8":"P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","129":"kB bB mB nB"},D:{"1":"j","8":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","260":"I d J E F G rB fB sB tB uB vB"},F:{"2":"G","4":"B C zB 0B 1B 2B ZB hB 3B aB","8":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","8":"fB 4B iB"},H:{"8":"NC"},I:{"8":"bB I H OC PC QC RC iB SC TC"},J:{"1":"A","8":"E"},K:{"8":"A B C R ZB hB aB"},L:{"8":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"4":"UC"},P:{"8":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"8":"eC"},R:{"8":"fC"},S:{"1":"gC"}},B:2,C:"MathML"}; diff --git a/node_modules/caniuse-lite/data/features/maxlength.js b/node_modules/caniuse-lite/data/features/maxlength.js new file mode 100644 index 00000000..f0874332 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/maxlength.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","16":"jB","900":"J E F G"},B:{"1":"P S T U V W X Y Z a b c Q H","1025":"C K L D M N O"},C:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","900":"kB bB mB nB","1025":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"d rB","900":"I fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G","132":"B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 4B iB 5B 6B 7B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB","2052":"F 8B"},H:{"132":"NC"},I:{"1":"bB I QC RC iB SC TC","16":"OC PC","4097":"H"},J:{"1":"E A"},K:{"132":"A B C ZB hB aB","4097":"R"},L:{"4097":"H"},M:{"4097":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"4097":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1025":"gC"}},B:1,C:"maxlength attribute for input and textarea elements"}; diff --git a/node_modules/caniuse-lite/data/features/media-attribute.js b/node_modules/caniuse-lite/data/features/media-attribute.js new file mode 100644 index 00000000..bf2841b5 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/media-attribute.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O","16":"P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L mB nB"},D:{"1":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s","2":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB","16":"oB pB qB"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I d rB fB"},F:{"1":"B C D M N O e f g h i j 0B 1B 2B ZB hB 3B aB","2":"0 1 2 3 4 5 6 7 8 9 G k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB"},H:{"16":"NC"},I:{"1":"I H RC iB SC TC","16":"bB OC PC QC"},J:{"16":"E A"},K:{"1":"C R aB","16":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"16":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Media attribute"}; diff --git a/node_modules/caniuse-lite/data/features/media-fragments.js b/node_modules/caniuse-lite/data/features/media-fragments.js new file mode 100644 index 00000000..afa2b4b2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/media-fragments.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","132":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s mB nB","132":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"I d J E F G A B C K L D M N","132":"0 1 2 3 4 5 6 7 8 9 O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d rB fB sB","132":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","132":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"fB 4B iB 5B 6B 7B","132":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","132":"H SC TC"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","132":"R"},L:{"132":"H"},M:{"132":"Q"},N:{"132":"A B"},O:{"2":"UC"},P:{"2":"I VC","132":"WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"132":"gC"}},B:2,C:"Media Fragments"}; diff --git a/node_modules/caniuse-lite/data/features/media-session-api.js b/node_modules/caniuse-lite/data/features/media-session-api.js new file mode 100644 index 00000000..b37024ce --- /dev/null +++ b/node_modules/caniuse-lite/data/features/media-session-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB"},E:{"2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB","16":"L D wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"Media Session API"}; diff --git a/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js b/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js new file mode 100644 index 00000000..f912ee2d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","260":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","324":"AB BB CB DB EB FB GB HB cB IB dB"},E:{"2":"I d J E F G A rB fB sB tB uB vB gB","132":"B C K L D ZB aB wB xB yB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u zB 0B 1B 2B ZB hB 3B aB","324":"0 1 2 3 4 5 6 v w x y z"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"260":"Q"},N:{"2":"A B"},O:{"132":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I","132":"VC WC XC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"260":"gC"}},B:5,C:"Media Capture from DOM Elements API"}; diff --git a/node_modules/caniuse-lite/data/features/mediarecorder.js b/node_modules/caniuse-lite/data/features/mediarecorder.js new file mode 100644 index 00000000..5214c585 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/mediarecorder.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","194":"6 7"},E:{"1":"D xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB","322":"K L aB wB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s zB 0B 1B 2B ZB hB 3B aB","194":"t u"},G:{"1":"D MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC","578":"FC GC HC IC JC KC LC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:5,C:"MediaRecorder API"}; diff --git a/node_modules/caniuse-lite/data/features/mediasource.js b/node_modules/caniuse-lite/data/features/mediasource.js new file mode 100644 index 00000000..59aabd9a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/mediasource.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","132":"B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j mB nB","66":"0 k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M","33":"i j k l m n o p","66":"N O e f g h"},E:{"1":"F G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC","260":"D HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H TC","2":"bB I OC PC QC RC iB SC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"ZC gB aC bC cC dC","2":"I VC WC XC YC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"Media Source Extensions"}; diff --git a/node_modules/caniuse-lite/data/features/menu.js b/node_modules/caniuse-lite/data/features/menu.js new file mode 100644 index 00000000..7c9f4a17 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/menu.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E mB nB","132":"0 1 2 3 4 5 6 7 8 9 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V","450":"W X Y Z a b c Q H eB"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","66":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","66":"0 1 2 3 4 5 u v w x y z"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"450":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Context menu item (menuitem element)"}; diff --git a/node_modules/caniuse-lite/data/features/meta-theme-color.js b/node_modules/caniuse-lite/data/features/meta-theme-color.js new file mode 100644 index 00000000..e6c37df8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/meta-theme-color.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x","132":"TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","258":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB"},E:{"1":"D yB","2":"I d J E F G A B C K L rB fB sB tB uB vB gB ZB aB wB xB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"513":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I","16":"VC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"theme-color Meta Tag"}; diff --git a/node_modules/caniuse-lite/data/features/meter.js b/node_modules/caniuse-lite/data/features/meter.js new file mode 100644 index 00000000..c215d0c9 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/meter.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","2":"G zB 0B 1B 2B"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"1":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"meter element"}; diff --git a/node_modules/caniuse-lite/data/features/midi.js b/node_modules/caniuse-lite/data/features/midi.js new file mode 100644 index 00000000..61bebcaf --- /dev/null +++ b/node_modules/caniuse-lite/data/features/midi.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"Web MIDI API"}; diff --git a/node_modules/caniuse-lite/data/features/minmaxwh.js b/node_modules/caniuse-lite/data/features/minmaxwh.js new file mode 100644 index 00000000..c0c121d7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/minmaxwh.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","8":"J jB","129":"E","257":"F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"CSS min/max-width/height"}; diff --git a/node_modules/caniuse-lite/data/features/mp3.js b/node_modules/caniuse-lite/data/features/mp3.js new file mode 100644 index 00000000..6d9cbccc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/mp3.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","132":"I d J E F G A B C K L D M N O e f g mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","2":"OC PC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"MP3 audio format"}; diff --git a/node_modules/caniuse-lite/data/features/mpeg-dash.js b/node_modules/caniuse-lite/data/features/mpeg-dash.js new file mode 100644 index 00000000..10343775 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/mpeg-dash.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O","2":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","386":"g h"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"Dynamic Adaptive Streaming over HTTP (MPEG-DASH)"}; diff --git a/node_modules/caniuse-lite/data/features/mpeg4.js b/node_modules/caniuse-lite/data/features/mpeg4.js new file mode 100644 index 00000000..3f87da77 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/mpeg4.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f mB nB","4":"g h i j k l m n o p q r s t"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D fB sB tB uB vB gB ZB aB wB xB yB","2":"rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H SC TC","4":"bB I OC PC RC iB","132":"QC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"260":"Q"},N:{"1":"A B"},O:{"4":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"MPEG-4/H.264 video format"}; diff --git a/node_modules/caniuse-lite/data/features/multibackgrounds.js b/node_modules/caniuse-lite/data/features/multibackgrounds.js new file mode 100644 index 00000000..52c7b5ff --- /dev/null +++ b/node_modules/caniuse-lite/data/features/multibackgrounds.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB nB","2":"kB bB mB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS3 Multiple backgrounds"}; diff --git a/node_modules/caniuse-lite/data/features/multicolumn.js b/node_modules/caniuse-lite/data/features/multicolumn.js new file mode 100644 index 00000000..70ed0073 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/multicolumn.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O","516":"P S T U V W X Y Z a b c Q H"},C:{"132":"BB CB DB EB FB GB HB cB IB dB JB KB R","164":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB mB nB","516":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"420":"0 1 2 3 4 5 6 7 8 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","516":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","132":"G vB","164":"E F uB","420":"I d J rB fB sB tB"},F:{"1":"C ZB hB 3B aB","2":"G B zB 0B 1B 2B","420":"D M N O e f g h i j k l m n o p q r s t u v","516":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","132":"9B AC","164":"F 7B 8B","420":"fB 4B iB 5B 6B"},H:{"1":"NC"},I:{"420":"bB I OC PC QC RC iB SC TC","516":"H"},J:{"420":"E A"},K:{"1":"C ZB hB aB","2":"A B","516":"R"},L:{"516":"H"},M:{"516":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","420":"I"},Q:{"132":"eC"},R:{"132":"fC"},S:{"164":"gC"}},B:4,C:"CSS3 Multiple column layout"}; diff --git a/node_modules/caniuse-lite/data/features/mutation-events.js b/node_modules/caniuse-lite/data/features/mutation-events.js new file mode 100644 index 00000000..be4dfa42 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/mutation-events.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","260":"G A B"},B:{"132":"P S T U V W X Y Z a b c Q H","260":"C K L D M N O"},C:{"2":"kB bB I d mB nB","260":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"16":"I d J E F G A B C K L","132":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"16":"rB fB","132":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"C 3B aB","2":"G zB 0B 1B 2B","16":"B ZB hB","132":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"16":"fB 4B","132":"F D iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"16":"OC PC","132":"bB I H QC RC iB SC TC"},J:{"132":"E A"},K:{"1":"C aB","2":"A","16":"B ZB hB","132":"R"},L:{"132":"H"},M:{"260":"Q"},N:{"260":"A B"},O:{"132":"UC"},P:{"132":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"132":"eC"},R:{"132":"fC"},S:{"260":"gC"}},B:5,C:"Mutation events"}; diff --git a/node_modules/caniuse-lite/data/features/mutationobserver.js b/node_modules/caniuse-lite/data/features/mutationobserver.js new file mode 100644 index 00000000..d0e50bf0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/mutationobserver.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F jB","8":"G A"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N","33":"O e f g h i j k l"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B","33":"6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB OC PC QC","8":"I RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","8":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Mutation Observer"}; diff --git a/node_modules/caniuse-lite/data/features/namevalue-storage.js b/node_modules/caniuse-lite/data/features/namevalue-storage.js new file mode 100644 index 00000000..09b1e465 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/namevalue-storage.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F G A B","2":"jB","8":"J E"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","4":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Web Storage - name/value pairs"}; diff --git a/node_modules/caniuse-lite/data/features/native-filesystem-api.js b/node_modules/caniuse-lite/data/features/native-filesystem-api.js new file mode 100644 index 00000000..17737b57 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/native-filesystem-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","194":"P S T U V W","260":"X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB","194":"UB VB WB XB YB P S T U V W","260":"X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB zB 0B 1B 2B ZB hB 3B aB","194":"JB KB R LB MB NB OB PB QB RB","260":"SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"File System Access API"}; diff --git a/node_modules/caniuse-lite/data/features/nav-timing.js b/node_modules/caniuse-lite/data/features/nav-timing.js new file mode 100644 index 00000000..3d2c9361 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/nav-timing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d","33":"J E F G A B C"},E:{"1":"F G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"I H RC iB SC TC","2":"bB OC PC QC"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"Navigation Timing API"}; diff --git a/node_modules/caniuse-lite/data/features/navigator-language.js b/node_modules/caniuse-lite/data/features/navigator-language.js new file mode 100644 index 00000000..d67cbadd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/navigator-language.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","2":"C K L D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"16":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"16":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"16":"eC"},R:{"16":"fC"},S:{"1":"gC"}},B:2,C:"Navigator Language API"}; diff --git a/node_modules/caniuse-lite/data/features/netinfo.js b/node_modules/caniuse-lite/data/features/netinfo.js new file mode 100644 index 00000000..e4347c85 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/netinfo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","1028":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB","1028":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","1028":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"OC SC TC","132":"bB I PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"YC ZC gB aC bC cC dC","132":"I","516":"VC WC XC"},Q:{"1":"eC"},R:{"516":"fC"},S:{"260":"gC"}},B:7,C:"Network Information API"}; diff --git a/node_modules/caniuse-lite/data/features/notifications.js b/node_modules/caniuse-lite/data/features/notifications.js new file mode 100644 index 00000000..921b7cfb --- /dev/null +++ b/node_modules/caniuse-lite/data/features/notifications.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I","36":"d J E F G A B C K L D M N O e f g"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","36":"H SC TC"},J:{"1":"A","2":"E"},K:{"2":"A B C ZB hB aB","36":"R"},L:{"513":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"36":"I","258":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"258":"fC"},S:{"1":"gC"}},B:1,C:"Web Notifications"}; diff --git a/node_modules/caniuse-lite/data/features/object-entries.js b/node_modules/caniuse-lite/data/features/object-entries.js new file mode 100644 index 00000000..5eafb410 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/object-entries.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","2":"C K"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E","16":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I VC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:6,C:"Object.entries"}; diff --git a/node_modules/caniuse-lite/data/features/object-fit.js b/node_modules/caniuse-lite/data/features/object-fit.js new file mode 100644 index 00000000..0e08003b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/object-fit.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D","260":"M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E rB fB sB tB","132":"F G uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G D M N O zB 0B 1B","33":"B C 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B","132":"F 8B 9B AC"},H:{"33":"NC"},I:{"1":"H TC","2":"bB I OC PC QC RC iB SC"},J:{"2":"E A"},K:{"1":"R","2":"A","33":"B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS3 object-fit/object-position"}; diff --git a/node_modules/caniuse-lite/data/features/object-observe.js b/node_modules/caniuse-lite/data/features/object-observe.js new file mode 100644 index 00000000..076e609b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/object-observe.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 v w x y z","2":"9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"i j k l m n o p q r s t u v","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"I","2":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:7,C:"Object.observe data binding"}; diff --git a/node_modules/caniuse-lite/data/features/object-values.js b/node_modules/caniuse-lite/data/features/object-values.js new file mode 100644 index 00000000..56cf59ae --- /dev/null +++ b/node_modules/caniuse-lite/data/features/object-values.js @@ -0,0 +1 @@ +module.exports={A:{A:{"8":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","2":"C K"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","8":"0 1 2 3 4 5 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","8":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB"},E:{"1":"B C K L D gB ZB aB wB xB yB","8":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","8":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","8":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"8":"NC"},I:{"1":"H","8":"bB I OC PC QC RC iB SC TC"},J:{"8":"E A"},K:{"1":"R","8":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"8":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","8":"I VC"},Q:{"1":"eC"},R:{"8":"fC"},S:{"1":"gC"}},B:6,C:"Object.values method"}; diff --git a/node_modules/caniuse-lite/data/features/objectrtc.js b/node_modules/caniuse-lite/data/features/objectrtc.js new file mode 100644 index 00000000..9b089043 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/objectrtc.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O","2":"C P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E","130":"A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"Object RTC (ORTC) API for WebRTC"}; diff --git a/node_modules/caniuse-lite/data/features/offline-apps.js b/node_modules/caniuse-lite/data/features/offline-apps.js new file mode 100644 index 00000000..27ec8d50 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/offline-apps.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"G jB","8":"J E F"},B:{"1":"C K L D M N O P S T U V","2":"W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U mB nB","2":"V W X Y Z a b c Q H eB","4":"bB","8":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V","2":"W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","8":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB 2B ZB hB 3B aB","2":"G TB UB VB WB XB YB P zB","8":"0B 1B"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I OC PC QC RC iB SC TC","2":"H"},J:{"1":"E A"},K:{"1":"B C ZB hB aB","2":"A R"},L:{"2":"H"},M:{"2":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:7,C:"Offline web applications"}; diff --git a/node_modules/caniuse-lite/data/features/offscreencanvas.js b/node_modules/caniuse-lite/data/features/offscreencanvas.js new file mode 100644 index 00000000..77660176 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/offscreencanvas.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","194":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB","322":"HB cB IB dB JB KB R LB MB NB OB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","322":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"194":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"gB aC bC cC dC","2":"I VC WC XC YC ZC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"194":"gC"}},B:1,C:"OffscreenCanvas"}; diff --git a/node_modules/caniuse-lite/data/features/ogg-vorbis.js b/node_modules/caniuse-lite/data/features/ogg-vorbis.js new file mode 100644 index 00000000..e64a1cf6 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/ogg-vorbis.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"N O P S T U V W X Y Z a b c Q H","2":"C K L D M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L rB fB sB tB uB vB gB ZB aB wB","132":"D xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"A","2":"E"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Ogg Vorbis audio format"}; diff --git a/node_modules/caniuse-lite/data/features/ogv.js b/node_modules/caniuse-lite/data/features/ogv.js new file mode 100644 index 00000000..860b0eaa --- /dev/null +++ b/node_modules/caniuse-lite/data/features/ogv.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","8":"G A B"},B:{"1":"N O P S T U V W X Y Z a b c Q H","8":"C K L D M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"1":"Q"},N:{"8":"A B"},O:{"1":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:6,C:"Ogg/Theora video format"}; diff --git a/node_modules/caniuse-lite/data/features/ol-reversed.js b/node_modules/caniuse-lite/data/features/ol-reversed.js new file mode 100644 index 00000000..56e10447 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/ol-reversed.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D","16":"M N O e"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB","16":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B ZB hB 3B","16":"C"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Reversed attribute of ordered lists"}; diff --git a/node_modules/caniuse-lite/data/features/once-event-listener.js b/node_modules/caniuse-lite/data/features/once-event-listener.js new file mode 100644 index 00000000..aacae5a1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/once-event-listener.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","2":"C K L D"},C:{"1":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I VC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"\"once\" event listener option"}; diff --git a/node_modules/caniuse-lite/data/features/online-status.js b/node_modules/caniuse-lite/data/features/online-status.js new file mode 100644 index 00000000..85a7edf1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/online-status.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E jB","260":"F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB","516":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B","4":"aB"},G:{"1":"F D iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"A","132":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Online/offline status"}; diff --git a/node_modules/caniuse-lite/data/features/opus.js b/node_modules/caniuse-lite/data/features/opus.js new file mode 100644 index 00000000..a9239ae8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/opus.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r"},E:{"2":"I d J E F G A rB fB sB tB uB vB gB","132":"B C K L D ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC","132":"D DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Opus"}; diff --git a/node_modules/caniuse-lite/data/features/orientation-sensor.js b/node_modules/caniuse-lite/data/features/orientation-sensor.js new file mode 100644 index 00000000..f28fddc7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/orientation-sensor.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB","194":"HB cB IB dB JB KB R LB MB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"Orientation Sensor"}; diff --git a/node_modules/caniuse-lite/data/features/outline.js b/node_modules/caniuse-lite/data/features/outline.js new file mode 100644 index 00000000..bd3f92ec --- /dev/null +++ b/node_modules/caniuse-lite/data/features/outline.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E jB","260":"F","388":"G A B"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","388":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B","129":"aB","260":"G B zB 0B 1B 2B ZB hB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"C R aB","260":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"388":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS outline properties"}; diff --git a/node_modules/caniuse-lite/data/features/pad-start-end.js b/node_modules/caniuse-lite/data/features/pad-start-end.js new file mode 100644 index 00000000..5b7438a2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/pad-start-end.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","2":"C K L"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","2":"I VC WC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:6,C:"String.prototype.padStart(), String.prototype.padEnd()"}; diff --git a/node_modules/caniuse-lite/data/features/page-transition-events.js b/node_modules/caniuse-lite/data/features/page-transition-events.js new file mode 100644 index 00000000..f3f75b36 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/page-transition-events.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"PageTransitionEvent"}; diff --git a/node_modules/caniuse-lite/data/features/pagevisibility.js b/node_modules/caniuse-lite/data/features/pagevisibility.js new file mode 100644 index 00000000..83aa9093 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/pagevisibility.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G mB nB","33":"A B C K L D M N"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K","33":"L D M N O e f g h i j k l m n o p q r"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B C zB 0B 1B 2B ZB hB 3B","33":"D M N O e"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB","33":"SC TC"},J:{"1":"A","2":"E"},K:{"1":"R aB","2":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","33":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"Page Visibility"}; diff --git a/node_modules/caniuse-lite/data/features/passive-event-listener.js b/node_modules/caniuse-lite/data/features/passive-event-listener.js new file mode 100644 index 00000000..d6c014b5 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/passive-event-listener.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","2":"C K L D"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"Passive event listeners"}; diff --git a/node_modules/caniuse-lite/data/features/passwordrules.js b/node_modules/caniuse-lite/data/features/passwordrules.js new file mode 100644 index 00000000..c013ff94 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/passwordrules.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","16":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q mB nB","16":"H eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB","16":"oB pB qB"},E:{"1":"C K aB","2":"I d J E F G A B rB fB sB tB uB vB gB ZB","16":"L D wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB zB 0B 1B 2B ZB hB 3B aB","16":"CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"16":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","16":"H"},J:{"2":"E","16":"A"},K:{"2":"A B C ZB hB aB","16":"R"},L:{"16":"H"},M:{"16":"Q"},N:{"2":"A","16":"B"},O:{"16":"UC"},P:{"2":"I VC WC","16":"XC YC ZC gB aC bC cC dC"},Q:{"16":"eC"},R:{"16":"fC"},S:{"2":"gC"}},B:1,C:"Password Rules"}; diff --git a/node_modules/caniuse-lite/data/features/path2d.js b/node_modules/caniuse-lite/data/features/path2d.js new file mode 100644 index 00000000..25597c3c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/path2d.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K","132":"L D M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p mB nB","132":"0 1 2 3 4 5 6 q r s t u v w x y z"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u","132":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"I d J E rB fB sB tB","132":"F G uB"},F:{"1":"EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h zB 0B 1B 2B ZB hB 3B aB","132":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B","16":"F","132":"8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"132":"UC"},P:{"1":"gB aC bC cC dC","132":"I VC WC XC YC ZC"},Q:{"132":"eC"},R:{"132":"fC"},S:{"1":"gC"}},B:1,C:"Path2D"}; diff --git a/node_modules/caniuse-lite/data/features/payment-request.js b/node_modules/caniuse-lite/data/features/payment-request.js new file mode 100644 index 00000000..62b8a69b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/payment-request.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K","322":"L","8196":"D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB mB nB","4162":"EB FB GB HB cB IB dB JB KB R LB","16452":"MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB","194":"CB DB EB FB GB HB","1090":"cB IB","8196":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"1":"K L D aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB","514":"A B gB","8196":"C ZB"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y zB 0B 1B 2B ZB hB 3B aB","194":"0 1 2 3 4 5 6 z","8196":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB"},G:{"1":"D GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC","514":"BC CC DC","8196":"EC FC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"2049":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"bC cC dC","2":"I","8196":"VC WC XC YC ZC gB aC"},Q:{"8196":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"Payment Request API"}; diff --git a/node_modules/caniuse-lite/data/features/pdf-viewer.js b/node_modules/caniuse-lite/data/features/pdf-viewer.js new file mode 100644 index 00000000..245602f4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/pdf-viewer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","132":"B"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","16":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B ZB hB 3B"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"16":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"Built-in PDF viewer"}; diff --git a/node_modules/caniuse-lite/data/features/permissions-api.js b/node_modules/caniuse-lite/data/features/permissions-api.js new file mode 100644 index 00000000..59baf9ea --- /dev/null +++ b/node_modules/caniuse-lite/data/features/permissions-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:7,C:"Permissions API"}; diff --git a/node_modules/caniuse-lite/data/features/permissions-policy.js b/node_modules/caniuse-lite/data/features/permissions-policy.js new file mode 100644 index 00000000..49c9f546 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/permissions-policy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","258":"P S T U V W","322":"X Y","388":"Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB mB nB","258":"UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB","258":"IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W","322":"X Y","388":"Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B rB fB sB tB uB vB gB","258":"C K L D ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","258":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB","322":"SB TB UB VB WB XB YB P"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC","258":"D EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","258":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","258":"R"},L:{"388":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC","258":"YC ZC gB aC bC cC dC"},Q:{"258":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"Permissions Policy"}; diff --git a/node_modules/caniuse-lite/data/features/picture-in-picture.js b/node_modules/caniuse-lite/data/features/picture-in-picture.js new file mode 100644 index 00000000..5f84b91f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/picture-in-picture.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB mB nB","132":"SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","1090":"NB","1412":"RB","1668":"OB PB QB"},D:{"1":"QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB","2114":"PB"},E:{"1":"L D wB xB yB","2":"I d J E F G rB fB sB tB uB vB","4100":"A B C K gB ZB aB"},F:{"1":"TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v zB 0B 1B 2B ZB hB 3B aB","8196":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB"},G:{"1":"D LC MC","2":"F fB 4B iB 5B 6B 7B 8B","4100":"9B AC BC CC DC EC FC GC HC IC JC KC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"16388":"H"},M:{"16388":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Picture-in-Picture"}; diff --git a/node_modules/caniuse-lite/data/features/picture.js b/node_modules/caniuse-lite/data/features/picture.js new file mode 100644 index 00000000..73bb4e84 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/picture.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s mB nB","578":"t u v w"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v","194":"w"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i zB 0B 1B 2B ZB hB 3B aB","322":"j"},G:{"1":"D AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Picture element"}; diff --git a/node_modules/caniuse-lite/data/features/ping.js b/node_modules/caniuse-lite/data/features/ping.js new file mode 100644 index 00000000..bd98c9be --- /dev/null +++ b/node_modules/caniuse-lite/data/features/ping.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"N O P S T U V W X Y Z a b c Q H","2":"C K L D M"},C:{"2":"kB","194":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"194":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"194":"gC"}},B:1,C:"Ping attribute"}; diff --git a/node_modules/caniuse-lite/data/features/png-alpha.js b/node_modules/caniuse-lite/data/features/png-alpha.js new file mode 100644 index 00000000..05cb187a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/png-alpha.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F G A B","2":"jB","8":"J"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"PNG alpha transparency"}; diff --git a/node_modules/caniuse-lite/data/features/pointer-events.js b/node_modules/caniuse-lite/data/features/pointer-events.js new file mode 100644 index 00000000..5b151f1a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/pointer-events.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB nB","2":"kB bB mB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:7,C:"CSS pointer-events (for HTML)"}; diff --git a/node_modules/caniuse-lite/data/features/pointer.js b/node_modules/caniuse-lite/data/features/pointer.js new file mode 100644 index 00000000..b33f82c1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/pointer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G jB","164":"A"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d mB nB","8":"J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","328":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB"},D:{"1":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g","8":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB","584":"BB CB DB"},E:{"1":"K L D wB xB yB","2":"I d J rB fB sB","8":"E F G A B C tB uB vB gB ZB","1096":"aB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","8":"D M N O e f g h i j k l m n o p q r s t u v w x","584":"0 y z"},G:{"1":"D IC JC KC LC MC","8":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC","6148":"HC"},H:{"2":"NC"},I:{"1":"H","8":"bB I OC PC QC RC iB SC TC"},J:{"8":"E A"},K:{"1":"R","2":"A","8":"B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","36":"A"},O:{"8":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"VC","8":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"328":"gC"}},B:2,C:"Pointer events"}; diff --git a/node_modules/caniuse-lite/data/features/pointerlock.js b/node_modules/caniuse-lite/data/features/pointerlock.js new file mode 100644 index 00000000..f08ebe68 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/pointerlock.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K mB nB","33":"L D M N O e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D","33":"h i j k l m n o p q r s t u v","66":"M N O e f g"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"D M N O e f g h i"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:2,C:"Pointer Lock API"}; diff --git a/node_modules/caniuse-lite/data/features/portals.js b/node_modules/caniuse-lite/data/features/portals.js new file mode 100644 index 00000000..10f7c51e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/portals.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V","322":"b c Q H","450":"W X Y Z a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB","194":"VB WB XB YB P S T U V","322":"X Y Z a b c Q H eB oB pB qB","450":"W"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB zB 0B 1B 2B ZB hB 3B aB","194":"JB KB R LB MB NB OB PB QB RB SB","322":"TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"450":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Portals"}; diff --git a/node_modules/caniuse-lite/data/features/prefers-color-scheme.js b/node_modules/caniuse-lite/data/features/prefers-color-scheme.js new file mode 100644 index 00000000..a8a83aa7 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/prefers-color-scheme.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB mB nB"},D:{"1":"WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"K L D aB wB xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB"},F:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"bC cC dC","2":"I VC WC XC YC ZC gB aC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"prefers-color-scheme media query"}; diff --git a/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js b/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js new file mode 100644 index 00000000..a1c8b49a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB mB nB"},D:{"1":"UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"aC bC cC dC","2":"I VC WC XC YC ZC gB"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"prefers-reduced-motion media query"}; diff --git a/node_modules/caniuse-lite/data/features/private-class-fields.js b/node_modules/caniuse-lite/data/features/private-class-fields.js new file mode 100644 index 00000000..658a005b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/private-class-fields.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB"},E:{"1":"D xB yB","2":"I d J E F G A B C K L rB fB sB tB uB vB gB ZB aB wB"},F:{"1":"JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"aC bC cC dC","2":"I VC WC XC YC ZC gB"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Private class fields"}; diff --git a/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js b/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js new file mode 100644 index 00000000..86165ede --- /dev/null +++ b/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"V W X Y Z a b c Q H","2":"C K L D M N O P S T U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U"},E:{"1":"D xB yB","2":"I d J E F G A B C K L rB fB sB tB uB vB gB ZB aB wB"},F:{"1":"QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Public class fields"}; diff --git a/node_modules/caniuse-lite/data/features/progress.js b/node_modules/caniuse-lite/data/features/progress.js new file mode 100644 index 00000000..8b47c35b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/progress.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","2":"G zB 0B 1B 2B"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B","132":"7B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"progress element"}; diff --git a/node_modules/caniuse-lite/data/features/promise-finally.js b/node_modules/caniuse-lite/data/features/promise-finally.js new file mode 100644 index 00000000..663b740e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/promise-finally.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"O P S T U V W X Y Z a b c Q H","2":"C K L D M N"},C:{"1":"HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB mB nB"},D:{"1":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC XC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"Promise.prototype.finally"}; diff --git a/node_modules/caniuse-lite/data/features/promises.js b/node_modules/caniuse-lite/data/features/promises.js new file mode 100644 index 00000000..9e8f15c0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/promises.js @@ -0,0 +1 @@ +module.exports={A:{A:{"8":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","4":"m n","8":"kB bB I d J E F G A B C K L D M N O e f g h i j k l mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","4":"r","8":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q"},E:{"1":"F G A B C K L D uB vB gB ZB aB wB xB yB","8":"I d J E rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","4":"e","8":"G B C D M N O zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","8":"fB 4B iB 5B 6B 7B"},H:{"8":"NC"},I:{"1":"H TC","8":"bB I OC PC QC RC iB SC"},J:{"8":"E A"},K:{"1":"R","8":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"8":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Promises"}; diff --git a/node_modules/caniuse-lite/data/features/proximity.js b/node_modules/caniuse-lite/data/features/proximity.js new file mode 100644 index 00000000..5cab8f6b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/proximity.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:4,C:"Proximity API"}; diff --git a/node_modules/caniuse-lite/data/features/proxy.js b/node_modules/caniuse-lite/data/features/proxy.js new file mode 100644 index 00000000..d990a5ca --- /dev/null +++ b/node_modules/caniuse-lite/data/features/proxy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N mB nB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 I d J E F G A B C K L D M N O x y z","66":"e f g h i j k l m n o p q r s t u v w"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C k l m n o p q r s t u zB 0B 1B 2B ZB hB 3B aB","66":"D M N O e f g h i j"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:6,C:"Proxy object"}; diff --git a/node_modules/caniuse-lite/data/features/public-class-fields.js b/node_modules/caniuse-lite/data/features/public-class-fields.js new file mode 100644 index 00000000..c079070f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/public-class-fields.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB mB nB","4":"QB RB SB TB UB","132":"PB"},D:{"1":"SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB"},E:{"1":"D xB yB","2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB wB","260":"L"},F:{"1":"IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"aC bC cC dC","2":"I VC WC XC YC ZC gB"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Public class fields"}; diff --git a/node_modules/caniuse-lite/data/features/publickeypinning.js b/node_modules/caniuse-lite/data/features/publickeypinning.js new file mode 100644 index 00000000..edc3a5c2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/publickeypinning.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB","2":"G B C D M N O e MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","4":"i","16":"f g h j"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB","2":"aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"HTTP Public Key Pinning"}; diff --git a/node_modules/caniuse-lite/data/features/push-api.js b/node_modules/caniuse-lite/data/features/push-api.js new file mode 100644 index 00000000..cc560e7b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/push-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"N O","2":"C K L D M","257":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","257":"3 5 6 7 8 9 AB CB DB EB FB GB HB cB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","1281":"4 BB IB"},D:{"2":"0 1 2 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","257":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","388":"3 4 5 6 7 8"},E:{"2":"I d J E F G rB fB sB tB uB","514":"A B C K L D vB gB ZB aB wB xB yB"},F:{"2":"G B C D M N O e f g h i j k l m n o p q r s t u v zB 0B 1B 2B ZB hB 3B aB","16":"0 w x y z","257":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"257":"gC"}},B:5,C:"Push API"}; diff --git a/node_modules/caniuse-lite/data/features/queryselector.js b/node_modules/caniuse-lite/data/features/queryselector.js new file mode 100644 index 00000000..a4720651 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/queryselector.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"jB","8":"J E","132":"F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","8":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 0B 1B 2B ZB hB 3B aB","8":"G zB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"querySelector/querySelectorAll"}; diff --git a/node_modules/caniuse-lite/data/features/readonly-attr.js b/node_modules/caniuse-lite/data/features/readonly-attr.js new file mode 100644 index 00000000..67da1053 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/readonly-attr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B","16":"jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","16":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L D M N O e f g h i j k"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G zB","132":"B C 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB 5B 6B"},H:{"1":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"R","132":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"257":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"readonly attribute of input and textarea elements"}; diff --git a/node_modules/caniuse-lite/data/features/referrer-policy.js b/node_modules/caniuse-lite/data/features/referrer-policy.js new file mode 100644 index 00000000..ac1c21dc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/referrer-policy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","132":"B"},B:{"1":"P S T U","132":"C K L D M N O","513":"V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u mB nB"},D:{"1":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V","2":"I d J E F G A B C K L D M N O e f","260":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB","513":"W X Y Z a b c Q H eB oB pB qB"},E:{"1":"C ZB aB","2":"I d J E rB fB sB tB","132":"F G A B uB vB gB","1025":"K L D wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB","2":"G B C zB 0B 1B 2B ZB hB 3B aB","513":"TB UB VB WB XB YB P"},G:{"1":"FC GC HC IC","2":"fB 4B iB 5B 6B 7B","132":"F 8B 9B AC BC CC DC EC","1025":"D JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"513":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"Referrer Policy"}; diff --git a/node_modules/caniuse-lite/data/features/registerprotocolhandler.js b/node_modules/caniuse-lite/data/features/registerprotocolhandler.js new file mode 100644 index 00000000..7d26d5ee --- /dev/null +++ b/node_modules/caniuse-lite/data/features/registerprotocolhandler.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","129":"P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB"},D:{"2":"I d J E F G A B C","129":"0 1 2 3 4 5 6 7 8 9 K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B zB 0B 1B 2B ZB hB","129":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E","129":"A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"Custom protocol handling"}; diff --git a/node_modules/caniuse-lite/data/features/rel-noopener.js b/node_modules/caniuse-lite/data/features/rel-noopener.js new file mode 100644 index 00000000..d09413be --- /dev/null +++ b/node_modules/caniuse-lite/data/features/rel-noopener.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB mB nB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:1,C:"rel=noopener"}; diff --git a/node_modules/caniuse-lite/data/features/rel-noreferrer.js b/node_modules/caniuse-lite/data/features/rel-noreferrer.js new file mode 100644 index 00000000..a6e4ffd6 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/rel-noreferrer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","132":"B"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L D"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Link type \"noreferrer\""}; diff --git a/node_modules/caniuse-lite/data/features/rellist.js b/node_modules/caniuse-lite/data/features/rellist.js new file mode 100644 index 00000000..3a098bcd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/rellist.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"O P S T U V W X Y Z a b c Q H","2":"C K L D M","132":"N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o mB nB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","132":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F rB fB sB tB uB"},F:{"1":"BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v zB 0B 1B 2B ZB hB 3B aB","132":"0 1 2 3 4 5 6 7 8 9 w x y z AB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"132":"UC"},P:{"1":"ZC gB aC bC cC dC","2":"I","132":"VC WC XC YC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:1,C:"relList (DOMTokenList)"}; diff --git a/node_modules/caniuse-lite/data/features/rem.js b/node_modules/caniuse-lite/data/features/rem.js new file mode 100644 index 00000000..262abcdc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/rem.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F jB","132":"G A"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB nB","2":"kB bB mB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G B zB 0B 1B 2B ZB hB"},G:{"1":"F D 4B iB 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB","260":"5B"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"C R aB","2":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"rem (root em) units"}; diff --git a/node_modules/caniuse-lite/data/features/requestanimationframe.js b/node_modules/caniuse-lite/data/features/requestanimationframe.js new file mode 100644 index 00000000..b679e3b1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/requestanimationframe.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","33":"B C K L D M N O e f g h","164":"I d J E F G A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G","33":"h i","164":"O e f g","420":"A B C K L D M N"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B","33":"6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"requestAnimationFrame"}; diff --git a/node_modules/caniuse-lite/data/features/requestidlecallback.js b/node_modules/caniuse-lite/data/features/requestidlecallback.js new file mode 100644 index 00000000..9c991271 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/requestidlecallback.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB mB nB","194":"CB DB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB","322":"L D wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","322":"D KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"requestIdleCallback"}; diff --git a/node_modules/caniuse-lite/data/features/resizeobserver.js b/node_modules/caniuse-lite/data/features/resizeobserver.js new file mode 100644 index 00000000..7c6eb664 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/resizeobserver.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB mB nB"},D:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB","194":"DB EB FB GB HB cB IB dB JB KB"},E:{"1":"L D wB xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB aB","66":"K"},F:{"1":"BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","194":"0 1 2 3 4 5 6 7 8 9 AB"},G:{"1":"D KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"ZC gB aC bC cC dC","2":"I VC WC XC YC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Resize Observer"}; diff --git a/node_modules/caniuse-lite/data/features/resource-timing.js b/node_modules/caniuse-lite/data/features/resource-timing.js new file mode 100644 index 00000000..5cdcd6a5 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/resource-timing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p mB nB","194":"q r s t"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB","260":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"Resource Timing"}; diff --git a/node_modules/caniuse-lite/data/features/rest-parameters.js b/node_modules/caniuse-lite/data/features/rest-parameters.js new file mode 100644 index 00000000..18e59adc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/rest-parameters.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L mB nB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","194":"3 4 5"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p zB 0B 1B 2B ZB hB 3B aB","194":"q r s"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Rest parameters"}; diff --git a/node_modules/caniuse-lite/data/features/rtcpeerconnection.js b/node_modules/caniuse-lite/data/features/rtcpeerconnection.js new file mode 100644 index 00000000..27095267 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/rtcpeerconnection.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L","516":"D M N O"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g mB nB","33":"0 1 2 h i j k l m n o p q r s t u v w x y z"},D:{"1":"FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h","33":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N zB 0B 1B 2B ZB hB 3B aB","33":"0 1 O e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E","130":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"33":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"33":"eC"},R:{"33":"fC"},S:{"1":"gC"}},B:5,C:"WebRTC Peer-to-peer connections"}; diff --git a/node_modules/caniuse-lite/data/features/ruby.js b/node_modules/caniuse-lite/data/features/ruby.js new file mode 100644 index 00000000..327cc1df --- /dev/null +++ b/node_modules/caniuse-lite/data/features/ruby.js @@ -0,0 +1 @@ +module.exports={A:{A:{"4":"J E F G A B jB"},B:{"4":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","8":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w mB nB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","8":"I"},E:{"4":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","8":"I rB fB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","8":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"4":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","8":"fB 4B iB"},H:{"8":"NC"},I:{"4":"bB I H RC iB SC TC","8":"OC PC QC"},J:{"4":"A","8":"E"},K:{"4":"R","8":"A B C ZB hB aB"},L:{"4":"H"},M:{"1":"Q"},N:{"4":"A B"},O:{"4":"UC"},P:{"4":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"4":"eC"},R:{"4":"fC"},S:{"1":"gC"}},B:1,C:"Ruby annotation"}; diff --git a/node_modules/caniuse-lite/data/features/run-in.js b/node_modules/caniuse-lite/data/features/run-in.js new file mode 100644 index 00000000..4fdd9efa --- /dev/null +++ b/node_modules/caniuse-lite/data/features/run-in.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F G A B","2":"J E jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q","2":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J sB","2":"E F G A B C K L D uB vB gB ZB aB wB xB yB","16":"tB","129":"I rB fB"},F:{"1":"G B C D M N O zB 0B 1B 2B ZB hB 3B aB","2":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"4B iB 5B 6B 7B","2":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","129":"fB"},H:{"1":"NC"},I:{"1":"bB I OC PC QC RC iB SC","2":"H TC"},J:{"1":"E A"},K:{"1":"A B C ZB hB aB","2":"R"},L:{"2":"H"},M:{"2":"Q"},N:{"1":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"display: run-in"}; diff --git a/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js b/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js new file mode 100644 index 00000000..0de95f1b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","388":"B"},B:{"1":"O P S T U V W","2":"C K L D","129":"M N","513":"X Y Z a b c Q H"},C:{"1":"IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB mB nB"},D:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","513":"S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"D xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB ZB","2052":"L","3076":"C K aB wB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x zB 0B 1B 2B ZB hB 3B aB","513":"RB SB TB UB VB WB XB YB P"},G:{"1":"D HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC","2052":"FC GC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"513":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"16":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:6,C:"'SameSite' cookie attribute"}; diff --git a/node_modules/caniuse-lite/data/features/screen-orientation.js b/node_modules/caniuse-lite/data/features/screen-orientation.js new file mode 100644 index 00000000..c71d2dfe --- /dev/null +++ b/node_modules/caniuse-lite/data/features/screen-orientation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","164":"B"},B:{"1":"P S T U V W X Y Z a b c Q H","36":"C K L D M N O"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N mB nB","36":"0 1 2 O e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A","36":"B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","16":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"Screen Orientation"}; diff --git a/node_modules/caniuse-lite/data/features/script-async.js b/node_modules/caniuse-lite/data/features/script-async.js new file mode 100644 index 00000000..c53dba85 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/script-async.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB nB","2":"kB bB mB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB","132":"d"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"2":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"async attribute for external scripts"}; diff --git a/node_modules/caniuse-lite/data/features/script-defer.js b/node_modules/caniuse-lite/data/features/script-defer.js new file mode 100644 index 00000000..75d0133b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/script-defer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","132":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","257":"I d J E F G A B C K L D M N O e f g h i j k l m n o p mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"2":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"defer attribute for external scripts"}; diff --git a/node_modules/caniuse-lite/data/features/scrollintoview.js b/node_modules/caniuse-lite/data/features/scrollintoview.js new file mode 100644 index 00000000..20d2a453 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/scrollintoview.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E jB","132":"F G A B"},B:{"1":"P S T U V W X Y Z a b c Q H","132":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","132":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u mB nB"},D:{"1":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB"},E:{"2":"I d rB fB","132":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G zB 0B 1B 2B","16":"B ZB hB","132":"0 1 2 3 4 5 6 C D M N O e f g h i j k l m n o p q r s t u v w x y z 3B aB"},G:{"16":"fB 4B iB","132":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","16":"OC PC","132":"bB I QC RC iB SC TC"},J:{"132":"E A"},K:{"1":"R","132":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"132":"UC"},P:{"132":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"132":"fC"},S:{"1":"gC"}},B:5,C:"scrollIntoView"}; diff --git a/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js b/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js new file mode 100644 index 00000000..52917945 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:7,C:"Element.scrollIntoViewIfNeeded()"}; diff --git a/node_modules/caniuse-lite/data/features/sdch.js b/node_modules/caniuse-lite/data/features/sdch.js new file mode 100644 index 00000000..5e823692 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/sdch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB","2":"cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB","2":"G B C TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"SDCH Accept-Encoding/Content-Encoding"}; diff --git a/node_modules/caniuse-lite/data/features/selection-api.js b/node_modules/caniuse-lite/data/features/selection-api.js new file mode 100644 index 00000000..7f99be9a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/selection-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","16":"jB","260":"J E F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","132":"0 1 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","2180":"2 3 4 5 6 7 8 9 AB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","132":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"16":"iB","132":"fB 4B","516":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H SC TC","16":"bB I OC PC QC RC","1025":"iB"},J:{"1":"A","16":"E"},K:{"1":"R","16":"A B C ZB hB","132":"aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","16":"A"},O:{"1025":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2180":"gC"}},B:5,C:"Selection API"}; diff --git a/node_modules/caniuse-lite/data/features/server-timing.js b/node_modules/caniuse-lite/data/features/server-timing.js new file mode 100644 index 00000000..56a34fc8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/server-timing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB mB nB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB","196":"IB dB JB KB","324":"R"},E:{"2":"I d J E F G A B C rB fB sB tB uB vB gB ZB","516":"K L D aB wB xB yB"},F:{"1":"BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"Server Timing"}; diff --git a/node_modules/caniuse-lite/data/features/serviceworkers.js b/node_modules/caniuse-lite/data/features/serviceworkers.js new file mode 100644 index 00000000..50176300 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/serviceworkers.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"N O P S T U V W X Y Z a b c Q H","2":"C K L","322":"D M"},C:{"1":"3 5 6 7 8 9 AB CB DB EB FB GB HB cB dB JB KB R LB MB NB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r mB nB","194":"0 1 2 s t u v w x y z","513":"4 BB IB OB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y","4":"0 1 2 3 z"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E F G A B rB fB sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l zB 0B 1B 2B ZB hB 3B aB","4":"m n o p q"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","4":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","4":"R"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"4":"fC"},S:{"2":"gC"}},B:4,C:"Service Workers"}; diff --git a/node_modules/caniuse-lite/data/features/setimmediate.js b/node_modules/caniuse-lite/data/features/setimmediate.js new file mode 100644 index 00000000..63d39897 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/setimmediate.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O","2":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"1":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Efficient Script Yielding: setImmediate()"}; diff --git a/node_modules/caniuse-lite/data/features/sha-2.js b/node_modules/caniuse-lite/data/features/sha-2.js new file mode 100644 index 00000000..baa496dd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/sha-2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B","2":"jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"16":"NC"},I:{"1":"bB I H PC QC RC iB SC TC","260":"OC"},J:{"1":"E A"},K:{"1":"R","16":"A B C ZB hB aB"},L:{"1":"H"},M:{"16":"Q"},N:{"16":"A B"},O:{"16":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","16":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"SHA-2 SSL certificates"}; diff --git a/node_modules/caniuse-lite/data/features/shadowdom.js b/node_modules/caniuse-lite/data/features/shadowdom.js new file mode 100644 index 00000000..b37021f4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/shadowdom.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P","2":"C K L D M N O S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","66":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"I d J E F G A B C K L D M N O e f g h i j S T U V W X Y Z a b c Q H eB oB pB qB","33":"k l m n o p q r s t"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB","2":"G B C NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","33":"D M N O e f g"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB","33":"SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC","2":"cC dC","33":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:7,C:"Shadow DOM (deprecated V0 spec)"}; diff --git a/node_modules/caniuse-lite/data/features/shadowdomv1.js b/node_modules/caniuse-lite/data/features/shadowdomv1.js new file mode 100644 index 00000000..fcb343d4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/shadowdomv1.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB mB nB","322":"HB","578":"cB IB dB JB"},D:{"1":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"1":"A B C K L D gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC","132":"BC CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I","4":"VC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"Shadow DOM (V1)"}; diff --git a/node_modules/caniuse-lite/data/features/sharedarraybuffer.js b/node_modules/caniuse-lite/data/features/sharedarraybuffer.js new file mode 100644 index 00000000..0ed33b1d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/sharedarraybuffer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D","194":"M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB mB nB","194":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB","450":"UB VB WB XB YB","513":"P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB","194":"IB dB JB KB R LB MB NB","513":"c Q H eB oB pB qB"},E:{"2":"I d J E F G A rB fB sB tB uB vB","194":"B C K L D gB ZB aB wB xB yB"},F:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","194":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC","194":"D CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"513":"H"},M:{"513":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"Shared Array Buffer"}; diff --git a/node_modules/caniuse-lite/data/features/sharedworkers.js b/node_modules/caniuse-lite/data/features/sharedworkers.js new file mode 100644 index 00000000..a8406cac --- /dev/null +++ b/node_modules/caniuse-lite/data/features/sharedworkers.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"d J sB","2":"I E F G A B C K L D rB fB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 2B ZB hB 3B aB","2":"G zB 0B 1B"},G:{"1":"5B 6B","2":"F D fB 4B iB 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"B C ZB hB aB","2":"R","16":"A"},L:{"2":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"I","2":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:1,C:"Shared Web Workers"}; diff --git a/node_modules/caniuse-lite/data/features/sni.js b/node_modules/caniuse-lite/data/features/sni.js new file mode 100644 index 00000000..a9bd836a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/sni.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J jB","132":"E F"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB"},H:{"1":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"A","2":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Server Name Indication"}; diff --git a/node_modules/caniuse-lite/data/features/spdy.js b/node_modules/caniuse-lite/data/features/spdy.js new file mode 100644 index 00000000..6115d00d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/spdy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G A jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L D M N O e f g h i j k l m n o p q r s t u v w x y z","2":"kB bB I d J E F G A B C AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","2":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"F G A B C vB gB ZB","2":"I d J E rB fB sB tB uB","129":"K L D aB wB xB yB"},F:{"1":"1 3 D M N O e f g h i j k l m n o p q r s t u v w x y aB","2":"0 2 4 5 6 7 8 9 G B C z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B"},G:{"1":"F 8B 9B AC BC CC DC EC FC","2":"fB 4B iB 5B 6B 7B","257":"D GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I RC iB SC TC","2":"H OC PC QC"},J:{"2":"E A"},K:{"1":"aB","2":"A B C R ZB hB"},L:{"2":"H"},M:{"2":"Q"},N:{"1":"B","2":"A"},O:{"2":"UC"},P:{"1":"I","2":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"16":"fC"},S:{"1":"gC"}},B:7,C:"SPDY protocol"}; diff --git a/node_modules/caniuse-lite/data/features/speech-recognition.js b/node_modules/caniuse-lite/data/features/speech-recognition.js new file mode 100644 index 00000000..36531a5e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/speech-recognition.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","1026":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g mB nB","322":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j","164":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L rB fB sB tB uB vB gB ZB aB wB","2084":"D xB yB"},F:{"2":"G B C D M N O e f g h i j k l zB 0B 1B 2B ZB hB 3B aB","1026":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC","2084":"D MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"164":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"164":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"164":"eC"},R:{"164":"fC"},S:{"322":"gC"}},B:7,C:"Speech Recognition API"}; diff --git a/node_modules/caniuse-lite/data/features/speech-synthesis.js b/node_modules/caniuse-lite/data/features/speech-synthesis.js new file mode 100644 index 00000000..d088399f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/speech-synthesis.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O","2":"C K","257":"P S T U V W X Y Z a b c Q H"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p mB nB","194":"0 1 2 3 4 5 6 7 q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r","257":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB","2":"G B C D M N O e f g h i j k l zB 0B 1B 2B ZB hB 3B aB","257":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:7,C:"Speech Synthesis API"}; diff --git a/node_modules/caniuse-lite/data/features/spellcheck-attribute.js b/node_modules/caniuse-lite/data/features/spellcheck-attribute.js new file mode 100644 index 00000000..ffb24dd0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/spellcheck-attribute.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"4":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"4":"NC"},I:{"4":"bB I H OC PC QC RC iB SC TC"},J:{"1":"A","4":"E"},K:{"4":"A B C R ZB hB aB"},L:{"4":"H"},M:{"4":"Q"},N:{"4":"A B"},O:{"4":"UC"},P:{"4":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"4":"fC"},S:{"2":"gC"}},B:1,C:"Spellcheck attribute"}; diff --git a/node_modules/caniuse-lite/data/features/sql-storage.js b/node_modules/caniuse-lite/data/features/sql-storage.js new file mode 100644 index 00000000..7cb96c34 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/sql-storage.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C rB fB sB tB uB vB gB ZB aB","2":"K L D wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"1":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC","2":"D HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:7,C:"Web SQL Database"}; diff --git a/node_modules/caniuse-lite/data/features/srcset.js b/node_modules/caniuse-lite/data/features/srcset.js new file mode 100644 index 00000000..9bc426ee --- /dev/null +++ b/node_modules/caniuse-lite/data/features/srcset.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","260":"C","514":"K L D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q mB nB","194":"r s t u v w"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s","260":"t u v w"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E rB fB sB tB","260":"F uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f zB 0B 1B 2B ZB hB 3B aB","260":"g h i j"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B","260":"F 8B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Srcset and sizes attributes"}; diff --git a/node_modules/caniuse-lite/data/features/stream.js b/node_modules/caniuse-lite/data/features/stream.js new file mode 100644 index 00000000..10cc5c53 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/stream.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M mB nB","129":"0 v w x y z","420":"N O e f g h i j k l m n o p q r s t u"},D:{"1":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f","420":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B D M N zB 0B 1B 2B ZB hB 3B","420":"C O e f g h i j k l m n o p q r s t u v w x y aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC","513":"D KC LC MC","1537":"DC EC FC GC HC IC JC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E","420":"A"},K:{"1":"R","2":"A B ZB hB","420":"C aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","420":"I VC"},Q:{"1":"eC"},R:{"420":"fC"},S:{"2":"gC"}},B:4,C:"getUserMedia/Stream API"}; diff --git a/node_modules/caniuse-lite/data/features/streams.js b/node_modules/caniuse-lite/data/features/streams.js new file mode 100644 index 00000000..51a1e646 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/streams.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","130":"B"},B:{"1":"a b c Q H","16":"C K","260":"L D","1028":"P S T U V W X Y Z","5124":"M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB mB nB","6148":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","6722":"GB HB cB IB dB JB KB R"},D:{"1":"a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB","260":"BB CB DB EB FB GB HB","1028":"cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z"},E:{"2":"I d J E F G rB fB sB tB uB vB","1028":"D xB yB","3076":"A B C K L gB ZB aB wB"},F:{"1":"WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x zB 0B 1B 2B ZB hB 3B aB","260":"0 1 2 3 4 y z","1028":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC","16":"BC","1028":"D CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"6148":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC","1028":"XC YC ZC gB aC bC cC dC"},Q:{"1028":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"Streams"}; diff --git a/node_modules/caniuse-lite/data/features/stricttransportsecurity.js b/node_modules/caniuse-lite/data/features/stricttransportsecurity.js new file mode 100644 index 00000000..64f3029f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/stricttransportsecurity.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A jB","129":"B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B ZB hB 3B"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Strict Transport Security"}; diff --git a/node_modules/caniuse-lite/data/features/style-scoped.js b/node_modules/caniuse-lite/data/features/style-scoped.js new file mode 100644 index 00000000..5689f2b3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/style-scoped.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB","2":"kB bB I d J E F G A B C K L D M N O e f dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","322":"EB FB GB HB cB IB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","194":"f g h i j k l m n o p q r s t u v"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:7,C:"Scoped CSS"}; diff --git a/node_modules/caniuse-lite/data/features/subresource-integrity.js b/node_modules/caniuse-lite/data/features/subresource-integrity.js new file mode 100644 index 00000000..5fddf0d3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/subresource-integrity.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"N O P S T U V W X Y Z a b c Q H","2":"C K L D M"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC","194":"DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"Subresource Integrity"}; diff --git a/node_modules/caniuse-lite/data/features/svg-css.js b/node_modules/caniuse-lite/data/features/svg-css.js new file mode 100644 index 00000000..20c090a1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/svg-css.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","516":"C K L D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","260":"I d J E F G A B C K L D M N O e f g h i"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","4":"I"},E:{"1":"d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB","132":"I fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"F D iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","132":"fB 4B"},H:{"260":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"E A"},K:{"1":"R","260":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"SVG in CSS backgrounds"}; diff --git a/node_modules/caniuse-lite/data/features/svg-filters.js b/node_modules/caniuse-lite/data/features/svg-filters.js new file mode 100644 index 00000000..812a7ef4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/svg-filters.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I","4":"d J E"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"SVG filters"}; diff --git a/node_modules/caniuse-lite/data/features/svg-fonts.js b/node_modules/caniuse-lite/data/features/svg-fonts.js new file mode 100644 index 00000000..4d5d056e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/svg-fonts.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"G A B jB","8":"J E F"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w","2":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","130":"0 1 2 3 4 5 6 7 8 9 x y z"},E:{"1":"I d J E F G A B C K L D fB sB tB uB vB gB ZB aB wB xB yB","2":"rB"},F:{"1":"G B C D M N O e f g h i j zB 0B 1B 2B ZB hB 3B aB","2":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","130":"k l m n o p q r s t u v"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"258":"NC"},I:{"1":"bB I RC iB SC TC","2":"H OC PC QC"},J:{"1":"E A"},K:{"1":"A B C ZB hB aB","2":"R"},L:{"130":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"I","130":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"130":"fC"},S:{"2":"gC"}},B:2,C:"SVG fonts"}; diff --git a/node_modules/caniuse-lite/data/features/svg-fragment.js b/node_modules/caniuse-lite/data/features/svg-fragment.js new file mode 100644 index 00000000..9d918f9c --- /dev/null +++ b/node_modules/caniuse-lite/data/features/svg-fragment.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","260":"G A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L mB nB"},D:{"1":"9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u","132":"0 1 2 3 4 5 6 7 8 v w x y z"},E:{"1":"C K L D ZB aB wB xB yB","2":"I d J E G A B rB fB sB tB vB gB","132":"F uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"D M N O e f g h","4":"B C 0B 1B 2B ZB hB 3B","16":"G zB","132":"i j k l m n o p q r s t u v"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B 9B AC BC CC DC","132":"F 8B"},H:{"1":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E","132":"A"},K:{"1":"R aB","4":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","132":"I"},Q:{"1":"eC"},R:{"132":"fC"},S:{"1":"gC"}},B:4,C:"SVG fragment identifiers"}; diff --git a/node_modules/caniuse-lite/data/features/svg-html.js b/node_modules/caniuse-lite/data/features/svg-html.js new file mode 100644 index 00000000..e901784b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/svg-html.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","388":"G A B"},B:{"4":"P S T U V W X Y Z a b c Q H","260":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB","4":"bB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"rB fB","4":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"4":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","4":"H SC TC"},J:{"1":"A","2":"E"},K:{"4":"A B C R ZB hB aB"},L:{"4":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"4":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"4":"eC"},R:{"4":"fC"},S:{"1":"gC"}},B:2,C:"SVG effects for HTML"}; diff --git a/node_modules/caniuse-lite/data/features/svg-html5.js b/node_modules/caniuse-lite/data/features/svg-html5.js new file mode 100644 index 00000000..2cc71771 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/svg-html5.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"jB","8":"J E F","129":"G A B"},B:{"1":"N O P S T U V W X Y Z a b c Q H","129":"C K L D M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","8":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","8":"I d J"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","8":"I d rB fB","129":"J E F sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"B 2B ZB hB","8":"G zB 0B 1B"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","8":"fB 4B iB","129":"F 5B 6B 7B 8B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"OC PC QC","129":"bB I RC iB"},J:{"1":"A","129":"E"},K:{"1":"C R aB","8":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"129":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Inline SVG in HTML5"}; diff --git a/node_modules/caniuse-lite/data/features/svg-img.js b/node_modules/caniuse-lite/data/features/svg-img.js new file mode 100644 index 00000000..ba4f5039 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/svg-img.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d J E F G A B C K L D M N O e f g h i j k l m"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"rB","4":"fB","132":"I d J E F sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","132":"F fB 4B iB 5B 6B 7B 8B"},H:{"1":"NC"},I:{"1":"H SC TC","2":"OC PC QC","132":"bB I RC iB"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"SVG in HTML img element"}; diff --git a/node_modules/caniuse-lite/data/features/svg-smil.js b/node_modules/caniuse-lite/data/features/svg-smil.js new file mode 100644 index 00000000..ecf72d60 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/svg-smil.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"jB","8":"J E F G A B"},B:{"1":"P S T U V W X Y Z a b c Q H","8":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","8":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","4":"I"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","8":"rB fB","132":"I d sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","132":"fB 4B iB 5B"},H:{"2":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"8":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"SVG SMIL animation"}; diff --git a/node_modules/caniuse-lite/data/features/svg.js b/node_modules/caniuse-lite/data/features/svg.js new file mode 100644 index 00000000..1f29b906 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/svg.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"jB","8":"J E F","772":"G A B"},B:{"1":"P S T U V W X Y Z a b c Q H","513":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","4":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D fB sB tB uB vB gB ZB aB wB xB yB","4":"rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"H SC TC","2":"OC PC QC","132":"bB I RC iB"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"257":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"SVG (basic support)"}; diff --git a/node_modules/caniuse-lite/data/features/sxg.js b/node_modules/caniuse-lite/data/features/sxg.js new file mode 100644 index 00000000..4d75ef75 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/sxg.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB","132":"RB SB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"16":"UC"},P:{"1":"aC bC cC dC","2":"I VC WC XC YC ZC gB"},Q:{"16":"eC"},R:{"16":"fC"},S:{"2":"gC"}},B:6,C:"Signed HTTP Exchanges (SXG)"}; diff --git a/node_modules/caniuse-lite/data/features/tabindex-attr.js b/node_modules/caniuse-lite/data/features/tabindex-attr.js new file mode 100644 index 00000000..7b6ec16a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/tabindex-attr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F G A B","16":"J jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"16":"kB bB mB nB","129":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"16":"I d rB fB","257":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","16":"G"},G:{"769":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"16":"NC"},I:{"16":"bB I H OC PC QC RC iB SC TC"},J:{"16":"E A"},K:{"16":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"16":"A B"},O:{"16":"UC"},P:{"16":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"16":"fC"},S:{"129":"gC"}},B:1,C:"tabindex global attribute"}; diff --git a/node_modules/caniuse-lite/data/features/template-literals.js b/node_modules/caniuse-lite/data/features/template-literals.js new file mode 100644 index 00000000..6935f937 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/template-literals.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"K L D M N O P S T U V W X Y Z a b c Q H","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B K L D vB gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB","129":"C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D 9B AC BC CC DC EC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B","129":"FC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"ES6 Template Literals (Template Strings)"}; diff --git a/node_modules/caniuse-lite/data/features/template.js b/node_modules/caniuse-lite/data/features/template.js new file mode 100644 index 00000000..075272d3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/template.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"D M N O P S T U V W X Y Z a b c Q H","2":"C","388":"K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k","132":"l m n o p q r s t"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","2":"I d J E rB fB sB","388":"F uB","514":"tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","132":"D M N O e f g"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B","388":"F 8B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"HTML templates"}; diff --git a/node_modules/caniuse-lite/data/features/temporal.js b/node_modules/caniuse-lite/data/features/temporal.js new file mode 100644 index 00000000..271dc445 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/temporal.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"Temporal"}; diff --git a/node_modules/caniuse-lite/data/features/testfeat.js b/node_modules/caniuse-lite/data/features/testfeat.js new file mode 100644 index 00000000..a1d388c9 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/testfeat.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F A B jB","16":"G"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","16":"I d"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"B C"},E:{"2":"I J rB fB sB","16":"d E F G A B C K L D tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B hB 3B aB","16":"ZB"},G:{"2":"fB 4B iB 5B 6B","16":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC RC iB SC TC","16":"QC"},J:{"2":"A","16":"E"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Test feature - updated"}; diff --git a/node_modules/caniuse-lite/data/features/text-decoration.js b/node_modules/caniuse-lite/data/features/text-decoration.js new file mode 100644 index 00000000..65583cec --- /dev/null +++ b/node_modules/caniuse-lite/data/features/text-decoration.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","2052":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d mB nB","1028":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","1060":"J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j k","226":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB","2052":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E rB fB sB tB","772":"K L D aB wB xB yB","804":"F G A B C vB gB ZB","1316":"uB"},F:{"2":"G B C D M N O e f g h i j k l m n o p q r s t zB 0B 1B 2B ZB hB 3B aB","226":"0 1 2 u v w x y z","2052":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"fB 4B iB 5B 6B 7B","292":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"2052":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2052":"UC"},P:{"2":"I VC WC","2052":"XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"1":"fC"},S:{"1028":"gC"}},B:4,C:"text-decoration styling"}; diff --git a/node_modules/caniuse-lite/data/features/text-emphasis.js b/node_modules/caniuse-lite/data/features/text-emphasis.js new file mode 100644 index 00000000..0718cf45 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/text-emphasis.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","164":"P S T U V W X Y Z a b c Q H"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","322":"4"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j","164":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB","164":"E tB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","164":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB","164":"H SC TC"},J:{"2":"E","164":"A"},K:{"2":"A B C ZB hB aB","164":"R"},L:{"164":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"164":"UC"},P:{"164":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"164":"eC"},R:{"164":"fC"},S:{"1":"gC"}},B:4,C:"text-emphasis styling"}; diff --git a/node_modules/caniuse-lite/data/features/text-overflow.js b/node_modules/caniuse-lite/data/features/text-overflow.js new file mode 100644 index 00000000..39f79c9b --- /dev/null +++ b/node_modules/caniuse-lite/data/features/text-overflow.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B","2":"jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","8":"kB bB I d J mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","33":"G zB 0B 1B 2B"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"R aB","33":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS3 Text-overflow"}; diff --git a/node_modules/caniuse-lite/data/features/text-size-adjust.js b/node_modules/caniuse-lite/data/features/text-size-adjust.js new file mode 100644 index 00000000..b8318b40 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/text-size-adjust.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","33":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k m n o p q r s t u v w x y z AB BB CB","258":"l"},E:{"2":"I d J E F G A B C K L D rB fB tB uB vB gB ZB aB wB xB yB","258":"sB"},F:{"1":"2 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 3 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"fB 4B iB","33":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"33":"Q"},N:{"161":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"CSS text-size-adjust"}; diff --git a/node_modules/caniuse-lite/data/features/text-stroke.js b/node_modules/caniuse-lite/data/features/text-stroke.js new file mode 100644 index 00000000..1a611583 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/text-stroke.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L","33":"P S T U V W X Y Z a b c Q H","161":"D M N O"},C:{"2":"0 1 2 3 4 5 6 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","161":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","450":"7"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"33":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"33":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","36":"fB"},H:{"2":"NC"},I:{"2":"bB","33":"I H OC PC QC RC iB SC TC"},J:{"33":"E A"},K:{"2":"A B C ZB hB aB","33":"R"},L:{"33":"H"},M:{"161":"Q"},N:{"2":"A B"},O:{"33":"UC"},P:{"33":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"33":"eC"},R:{"33":"fC"},S:{"161":"gC"}},B:7,C:"CSS text-stroke and text-fill"}; diff --git a/node_modules/caniuse-lite/data/features/text-underline-offset.js b/node_modules/caniuse-lite/data/features/text-underline-offset.js new file mode 100644 index 00000000..6bbbd802 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/text-underline-offset.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB mB nB","130":"PB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"K L D aB wB xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"text-underline-offset"}; diff --git a/node_modules/caniuse-lite/data/features/textcontent.js b/node_modules/caniuse-lite/data/features/textcontent.js new file mode 100644 index 00000000..ce4652e6 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/textcontent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D fB sB tB uB vB gB ZB aB wB xB yB","16":"rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","16":"G"},G:{"1":"F D 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB"},H:{"1":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Node.textContent"}; diff --git a/node_modules/caniuse-lite/data/features/textencoder.js b/node_modules/caniuse-lite/data/features/textencoder.js new file mode 100644 index 00000000..861d9e82 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/textencoder.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O mB nB","132":"e"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"TextEncoder & TextDecoder"}; diff --git a/node_modules/caniuse-lite/data/features/tls1-1.js b/node_modules/caniuse-lite/data/features/tls1-1.js new file mode 100644 index 00000000..9124df53 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/tls1-1.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E jB","66":"F G A"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB","2":"kB bB I d J E F G A B C K L D M N O e f g h mB nB","66":"i","129":"OB PB QB RB SB TB UB VB WB XB","388":"YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V","2":"I d J E F G A B C K L D M N O e f g","1540":"W X Y Z a b c Q H eB oB pB qB"},E:{"1":"E F G A B C K uB vB gB ZB aB","2":"I d J rB fB sB tB","513":"L D wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB aB","2":"G B C zB 0B 1B 2B ZB hB 3B","1540":"TB UB VB WB XB YB P"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"1":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"1":"A","2":"E"},K:{"1":"R aB","2":"A B C ZB hB"},L:{"1":"H"},M:{"129":"Q"},N:{"1":"B","66":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"TLS 1.1"}; diff --git a/node_modules/caniuse-lite/data/features/tls1-2.js b/node_modules/caniuse-lite/data/features/tls1-2.js new file mode 100644 index 00000000..17bb881d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/tls1-2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E jB","66":"F G A"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i mB nB","66":"j k l"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G D zB","66":"B C 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"1":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"1":"A","2":"E"},K:{"1":"R aB","2":"A B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","66":"A"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"TLS 1.2"}; diff --git a/node_modules/caniuse-lite/data/features/tls1-3.js b/node_modules/caniuse-lite/data/features/tls1-3.js new file mode 100644 index 00000000..6d163ea9 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/tls1-3.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","132":"IB dB JB","450":"AB BB CB DB EB FB GB HB cB"},D:{"1":"QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB","706":"DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB"},E:{"1":"L D xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB","1028":"K aB wB"},F:{"1":"GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB zB 0B 1B 2B ZB hB 3B aB","706":"DB EB FB"},G:{"1":"D GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"gB aC bC cC dC","2":"I VC WC XC YC ZC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:6,C:"TLS 1.3"}; diff --git a/node_modules/caniuse-lite/data/features/token-binding.js b/node_modules/caniuse-lite/data/features/token-binding.js new file mode 100644 index 00000000..bf03ee92 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/token-binding.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L","194":"P S T U V W X Y Z a b c Q H","257":"D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q mB nB","16":"H eB"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x","16":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB","194":"HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F rB fB sB tB uB","16":"G A B C K L D vB gB ZB aB wB xB yB"},F:{"2":"G B C D M N O e f g h i j k l m n o zB 0B 1B 2B ZB hB 3B aB","16":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F fB 4B iB 5B 6B 7B 8B","16":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"16":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","16":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","16":"R"},L:{"16":"H"},M:{"16":"Q"},N:{"2":"A","16":"B"},O:{"16":"UC"},P:{"16":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"16":"eC"},R:{"16":"fC"},S:{"2":"gC"}},B:6,C:"Token Binding"}; diff --git a/node_modules/caniuse-lite/data/features/touch.js b/node_modules/caniuse-lite/data/features/touch.js new file mode 100644 index 00000000..0602c7d4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/touch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","8":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","578":"C K L D M N O"},C:{"1":"O e f g h i j BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","4":"I d J E F G A B C K L D M N","194":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"8":"A","260":"B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:2,C:"Touch events"}; diff --git a/node_modules/caniuse-lite/data/features/transforms2d.js b/node_modules/caniuse-lite/data/features/transforms2d.js new file mode 100644 index 00000000..543bbb41 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/transforms2d.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"jB","8":"J E F","129":"A B","161":"G"},B:{"1":"N O P S T U V W X Y Z a b c Q H","129":"C K L D M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","33":"I d J E F G A B C K L D mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","33":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G zB 0B","33":"B C D M N O e f g h 1B 2B ZB hB 3B"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","33":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","33":"bB I OC PC QC RC iB SC TC"},J:{"33":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"CSS3 2D Transforms"}; diff --git a/node_modules/caniuse-lite/data/features/transforms3d.js b/node_modules/caniuse-lite/data/features/transforms3d.js new file mode 100644 index 00000000..44cf1c0a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/transforms3d.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","132":"A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G mB nB","33":"A B C K L D"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B","33":"C K L D M N O e f g h i j k l m n o p q r s t u"},E:{"1":"yB","2":"rB fB","33":"I d J E F sB tB uB","257":"G A B C K L D vB gB ZB aB wB xB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"D M N O e f g h"},G:{"33":"F fB 4B iB 5B 6B 7B 8B","257":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"OC PC QC","33":"bB I RC iB SC TC"},J:{"33":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"CSS3 3D Transforms"}; diff --git a/node_modules/caniuse-lite/data/features/trusted-types.js b/node_modules/caniuse-lite/data/features/trusted-types.js new file mode 100644 index 00000000..e73479b2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/trusted-types.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"U V W X Y Z a b c Q H","2":"C K L D M N O P S T"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"cC dC","2":"I VC WC XC YC ZC gB aC bC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Trusted Types for DOM manipulation"}; diff --git a/node_modules/caniuse-lite/data/features/ttf.js b/node_modules/caniuse-lite/data/features/ttf.js new file mode 100644 index 00000000..08150976 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/ttf.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","132":"G A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 0B 1B 2B ZB hB 3B aB","2":"G zB"},G:{"1":"F D iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B"},H:{"2":"NC"},I:{"1":"bB I H PC QC RC iB SC TC","2":"OC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"TTF/OTF - TrueType and OpenType font support"}; diff --git a/node_modules/caniuse-lite/data/features/typedarrays.js b/node_modules/caniuse-lite/data/features/typedarrays.js new file mode 100644 index 00000000..30bf26ee --- /dev/null +++ b/node_modules/caniuse-lite/data/features/typedarrays.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J E F G jB","132":"A"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB","260":"sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G B zB 0B 1B 2B ZB hB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B","260":"iB"},H:{"1":"NC"},I:{"1":"I H RC iB SC TC","2":"bB OC PC QC"},J:{"1":"A","2":"E"},K:{"1":"C R aB","2":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Typed Arrays"}; diff --git a/node_modules/caniuse-lite/data/features/u2f.js b/node_modules/caniuse-lite/data/features/u2f.js new file mode 100644 index 00000000..be2e6b58 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/u2f.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","513":"P S T U V W X Y Z a b c Q H"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","322":"6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB"},D:{"2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w","130":"x y z","513":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"K L D wB xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB aB"},F:{"2":"0 G B C D M N O e f g h i j k l m n o p q r s t u v w x y zB 0B 1B 2B ZB hB 3B aB","513":"1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"D JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"322":"gC"}},B:6,C:"FIDO U2F API"}; diff --git a/node_modules/caniuse-lite/data/features/unhandledrejection.js b/node_modules/caniuse-lite/data/features/unhandledrejection.js new file mode 100644 index 00000000..c15be9f1 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/unhandledrejection.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB mB nB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC","16":"DC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:1,C:"unhandledrejection/rejectionhandled events"}; diff --git a/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js b/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js new file mode 100644 index 00000000..6521ba3a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"N O P S T U V W X Y Z a b c Q H","2":"C K L D M"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"Upgrade Insecure Requests"}; diff --git a/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js b/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js new file mode 100644 index 00000000..777d4351 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"U V W X Y Z a b c Q H","2":"C K L D M N O","66":"P S T"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB","66":"UB VB WB XB YB P S"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB zB 0B 1B 2B ZB hB 3B aB","66":"MB NB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"cC dC","2":"I VC WC XC YC ZC gB aC bC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"URL Scroll-To-Text Fragment"}; diff --git a/node_modules/caniuse-lite/data/features/url.js b/node_modules/caniuse-lite/data/features/url.js new file mode 100644 index 00000000..b9ae8bcf --- /dev/null +++ b/node_modules/caniuse-lite/data/features/url.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h","130":"i j k l m n o p q"},E:{"1":"F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB tB","130":"E"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","130":"D M N O"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B","130":"7B"},H:{"2":"NC"},I:{"1":"H TC","2":"bB I OC PC QC RC iB","130":"SC"},J:{"2":"E","130":"A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"URL API"}; diff --git a/node_modules/caniuse-lite/data/features/urlsearchparams.js b/node_modules/caniuse-lite/data/features/urlsearchparams.js new file mode 100644 index 00000000..db9e1532 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/urlsearchparams.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"N O P S T U V W X Y Z a b c Q H","2":"C K L D M"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB","132":"0 1 2 o p q r s t u v w x y z"},D:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L D gB ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","2":"I"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:1,C:"URLSearchParams"}; diff --git a/node_modules/caniuse-lite/data/features/use-strict.js b/node_modules/caniuse-lite/data/features/use-strict.js new file mode 100644 index 00000000..68112777 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/use-strict.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I rB fB","132":"d sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G B zB 0B 1B 2B ZB hB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"1":"NC"},I:{"1":"bB I H RC iB SC TC","2":"OC PC QC"},J:{"1":"E A"},K:{"1":"C R hB aB","2":"A B ZB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"ECMAScript 5 Strict Mode"}; diff --git a/node_modules/caniuse-lite/data/features/user-select-none.js b/node_modules/caniuse-lite/data/features/user-select-none.js new file mode 100644 index 00000000..feff2add --- /dev/null +++ b/node_modules/caniuse-lite/data/features/user-select-none.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","33":"A B"},B:{"1":"P S T U V W X Y Z a b c Q H","33":"C K L D M N O"},C:{"1":"PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","33":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB mB nB"},D:{"1":"DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","33":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB"},E:{"33":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","33":"D M N O e f g h i j k l m n o p q r s t u v w x y z"},G:{"33":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","33":"bB I OC PC QC RC iB SC TC"},J:{"33":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"33":"A B"},O:{"2":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","33":"I VC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"33":"gC"}},B:5,C:"CSS user-select: none"}; diff --git a/node_modules/caniuse-lite/data/features/user-timing.js b/node_modules/caniuse-lite/data/features/user-timing.js new file mode 100644 index 00000000..201b0453 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/user-timing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"User Timing API"}; diff --git a/node_modules/caniuse-lite/data/features/variable-fonts.js b/node_modules/caniuse-lite/data/features/variable-fonts.js new file mode 100644 index 00000000..aba52d61 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/variable-fonts.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"N O P S T U V W X Y Z a b c Q H","2":"C K L D M"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB mB nB","4609":"JB KB R LB MB NB OB PB QB","4674":"dB","5698":"IB","7490":"CB DB EB FB GB","7746":"HB cB","8705":"RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB","4097":"MB","4290":"cB IB dB","6148":"JB KB R LB"},E:{"1":"D yB","2":"I d J E F G A rB fB sB tB uB vB gB","4609":"B C ZB aB","8193":"K L wB xB"},F:{"1":"DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","4097":"CB","6148":"8 9 AB BB"},G:{"1":"D HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC","4097":"DC EC FC GC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"4097":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC","4097":"YC ZC gB aC bC cC dC"},Q:{"4097":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"Variable fonts"}; diff --git a/node_modules/caniuse-lite/data/features/vector-effect.js b/node_modules/caniuse-lite/data/features/vector-effect.js new file mode 100644 index 00000000..a9a80618 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/vector-effect.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","2":"G B zB 0B 1B 2B ZB hB"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB"},H:{"1":"NC"},I:{"1":"H SC TC","16":"bB I OC PC QC RC iB"},J:{"16":"E A"},K:{"1":"C R aB","2":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"SVG vector-effect: non-scaling-stroke"}; diff --git a/node_modules/caniuse-lite/data/features/vibration.js b/node_modules/caniuse-lite/data/features/vibration.js new file mode 100644 index 00000000..29fa7bd2 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/vibration.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A mB nB","33":"B C K L D"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"Vibration API"}; diff --git a/node_modules/caniuse-lite/data/features/video.js b/node_modules/caniuse-lite/data/features/video.js new file mode 100644 index 00000000..02c2cabb --- /dev/null +++ b/node_modules/caniuse-lite/data/features/video.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","260":"I d J E F G A B C K L D M N O e mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A sB tB uB vB gB","2":"rB fB","513":"B C K L D ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"1":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC","513":"D DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","132":"OC PC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Video element"}; diff --git a/node_modules/caniuse-lite/data/features/videotracks.js b/node_modules/caniuse-lite/data/features/videotracks.js new file mode 100644 index 00000000..4db47dbd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/videotracks.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O","322":"P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r mB nB","194":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"0 1 2 3 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","322":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d J rB fB sB"},F:{"2":"G B C D M N O e f g h i j k l m n o p q zB 0B 1B 2B ZB hB 3B aB","322":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"322":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"194":"gC"}},B:1,C:"Video Tracks"}; diff --git a/node_modules/caniuse-lite/data/features/viewport-unit-variants.js b/node_modules/caniuse-lite/data/features/viewport-unit-variants.js new file mode 100644 index 00000000..77d361da --- /dev/null +++ b/node_modules/caniuse-lite/data/features/viewport-unit-variants.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Large, Small, and Dynamic viewport units"}; diff --git a/node_modules/caniuse-lite/data/features/viewport-units.js b/node_modules/caniuse-lite/data/features/viewport-units.js new file mode 100644 index 00000000..8b2b7b25 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/viewport-units.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","132":"G","260":"A B"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","260":"C K L D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e","260":"f g h i j k"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB","260":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B","516":"7B","772":"6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"260":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"Viewport units: vw, vh, vmin, vmax"}; diff --git a/node_modules/caniuse-lite/data/features/wai-aria.js b/node_modules/caniuse-lite/data/features/wai-aria.js new file mode 100644 index 00000000..85d7080f --- /dev/null +++ b/node_modules/caniuse-lite/data/features/wai-aria.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E jB","4":"F G A B"},B:{"4":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"4":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"rB fB","4":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G","4":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"4":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"4":"NC"},I:{"2":"bB I OC PC QC RC iB","4":"H SC TC"},J:{"2":"E A"},K:{"4":"A B C R ZB hB aB"},L:{"4":"H"},M:{"4":"Q"},N:{"4":"A B"},O:{"2":"UC"},P:{"4":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"4":"eC"},R:{"4":"fC"},S:{"4":"gC"}},B:2,C:"WAI-ARIA Accessibility features"}; diff --git a/node_modules/caniuse-lite/data/features/wake-lock.js b/node_modules/caniuse-lite/data/features/wake-lock.js new file mode 100644 index 00000000..870a132a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/wake-lock.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"b c Q H","2":"C K L D M N O","194":"P S T U V W X Y Z a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB","194":"RB SB TB UB VB WB XB YB P S T U V"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB zB 0B 1B 2B ZB hB 3B aB","194":"HB IB JB KB R LB MB NB OB PB QB RB SB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"dC","2":"I VC WC XC YC ZC gB aC bC cC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:4,C:"Screen Wake Lock API"}; diff --git a/node_modules/caniuse-lite/data/features/wasm.js b/node_modules/caniuse-lite/data/features/wasm.js new file mode 100644 index 00000000..7ce0c7dc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/wasm.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"M N O P S T U V W X Y Z a b c Q H","2":"C K L","578":"D"},C:{"1":"CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB","194":"6 7 8 9 AB","1025":"BB"},D:{"1":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","322":"AB BB CB DB EB FB"},E:{"1":"B C K L D ZB aB wB xB yB","2":"I d J E F G A rB fB sB tB uB vB gB"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w zB 0B 1B 2B ZB hB 3B aB","322":"0 1 2 x y z"},G:{"1":"D DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","2":"I VC WC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"194":"gC"}},B:6,C:"WebAssembly"}; diff --git a/node_modules/caniuse-lite/data/features/wav.js b/node_modules/caniuse-lite/data/features/wav.js new file mode 100644 index 00000000..0cfd4ae4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/wav.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 1B 2B ZB hB 3B aB","2":"G zB 0B"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","16":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"Wav audio format"}; diff --git a/node_modules/caniuse-lite/data/features/wbr-element.js b/node_modules/caniuse-lite/data/features/wbr-element.js new file mode 100644 index 00000000..d36a5d97 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/wbr-element.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E jB","2":"F G A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D fB sB tB uB vB gB ZB aB wB xB yB","16":"rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","16":"G"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB"},H:{"1":"NC"},I:{"1":"bB I H QC RC iB SC TC","16":"OC PC"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"wbr (word break opportunity) element"}; diff --git a/node_modules/caniuse-lite/data/features/web-animation.js b/node_modules/caniuse-lite/data/features/web-animation.js new file mode 100644 index 00000000..277d10b8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/web-animation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"V W X Y Z a b c Q H","2":"C K L D M N O","260":"P S T U"},C:{"1":"T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r mB nB","260":"cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB","516":"6 7 8 9 AB BB CB DB EB FB GB HB","580":"0 1 2 3 4 5 s t u v w x y z","2049":"VB WB XB YB P S"},D:{"1":"V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u","132":"v w x","260":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U"},E:{"1":"D yB","2":"I d J E F G A rB fB sB tB uB vB gB","1090":"B C K ZB aB","2049":"L wB xB"},F:{"1":"RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h zB 0B 1B 2B ZB hB 3B aB","132":"i j k","260":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC","1090":"DC EC FC GC HC IC JC","2049":"D KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"260":"UC"},P:{"260":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"260":"eC"},R:{"260":"fC"},S:{"516":"gC"}},B:5,C:"Web Animations API"}; diff --git a/node_modules/caniuse-lite/data/features/web-app-manifest.js b/node_modules/caniuse-lite/data/features/web-app-manifest.js new file mode 100644 index 00000000..75d14c16 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/web-app-manifest.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M","130":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB X Y Z a b c Q H eB mB nB","578":"WB XB YB P S T lB U V W"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC","260":"D EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"2":"gC"}},B:5,C:"Add to home screen (A2HS)"}; diff --git a/node_modules/caniuse-lite/data/features/web-bluetooth.js b/node_modules/caniuse-lite/data/features/web-bluetooth.js new file mode 100644 index 00000000..69a96b06 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/web-bluetooth.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","1025":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","194":"4 5 6 7 8 9 AB BB","706":"CB DB EB","1025":"FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C D M N O e f g h i j k l m n o p q r s t u zB 0B 1B 2B ZB hB 3B aB","450":"v w x y","706":"0 1 z","1025":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC TC","1025":"H"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","1025":"R"},L:{"1025":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"WC XC YC ZC gB aC bC cC dC","2":"I VC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Web Bluetooth"}; diff --git a/node_modules/caniuse-lite/data/features/web-serial.js b/node_modules/caniuse-lite/data/features/web-serial.js new file mode 100644 index 00000000..e750d63e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/web-serial.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"a b c Q H","2":"C K L D M N O","66":"P S T U V W X Y Z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB","66":"YB P S T U V W X Y Z"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R zB 0B 1B 2B ZB hB 3B aB","66":"LB MB NB OB PB QB RB SB TB UB VB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Web Serial API"}; diff --git a/node_modules/caniuse-lite/data/features/web-share.js b/node_modules/caniuse-lite/data/features/web-share.js new file mode 100644 index 00000000..ac725b09 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/web-share.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P S","516":"T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z","130":"O e f g h i j","1028":"a b c Q H eB oB pB qB"},E:{"1":"L D xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB","2049":"K aB wB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC","2049":"GC HC IC JC KC"},H:{"2":"NC"},I:{"2":"bB I OC PC QC RC iB SC","258":"H TC"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","258":"R"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I","258":"VC WC XC"},Q:{"2":"eC"},R:{"16":"fC"},S:{"2":"gC"}},B:5,C:"Web Share API"}; diff --git a/node_modules/caniuse-lite/data/features/webauthn.js b/node_modules/caniuse-lite/data/features/webauthn.js new file mode 100644 index 00000000..99e946c5 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webauthn.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"O P S T U V W X Y Z a b c Q H","2":"C","226":"K L D M N"},C:{"1":"IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB mB nB"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB"},E:{"1":"K L D wB xB yB","2":"I d J E F G A B C rB fB sB tB uB vB gB ZB","322":"aB"},F:{"1":"DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC","578":"IC","2052":"LC","3076":"JC KC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:2,C:"Web Authentication API"}; diff --git a/node_modules/caniuse-lite/data/features/webgl.js b/node_modules/caniuse-lite/data/features/webgl.js new file mode 100644 index 00000000..6378e118 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webgl.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"jB","8":"J E F G A","129":"B"},B:{"1":"P S T U V W X Y Z a b c Q H","129":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","129":"I d J E F G A B C K L D M N O e f g h i"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E","129":"F G A B C K L D M N O e f g h i j k l m n o p q r"},E:{"1":"F G A B C K L D vB gB ZB aB wB xB yB","2":"I d rB fB","129":"J E sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B zB 0B 1B 2B ZB hB 3B","129":"C D M N O aB"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B 7B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"1":"A","2":"E"},K:{"1":"C R aB","2":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"8":"A","129":"B"},O:{"129":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"129":"gC"}},B:6,C:"WebGL - 3D Canvas graphics"}; diff --git a/node_modules/caniuse-lite/data/features/webgl2.js b/node_modules/caniuse-lite/data/features/webgl2.js new file mode 100644 index 00000000..c81f41bb --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webgl2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j mB nB","194":"1 2 3","450":"0 k l m n o p q r s t u v w x y z","2242":"4 5 6 7 8 9"},D:{"1":"FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z","578":"2 3 4 5 6 7 8 9 AB BB CB DB EB"},E:{"1":"D yB","2":"I d J E F G A rB fB sB tB uB vB","1090":"B C K L gB ZB aB wB xB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"0 1 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC","1090":"FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"XC YC ZC gB aC bC cC dC","2":"I VC WC"},Q:{"578":"eC"},R:{"2":"fC"},S:{"2242":"gC"}},B:6,C:"WebGL 2.0"}; diff --git a/node_modules/caniuse-lite/data/features/webgpu.js b/node_modules/caniuse-lite/data/features/webgpu.js new file mode 100644 index 00000000..a889eebf --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webgpu.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P","578":"S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB mB nB","194":"KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","578":"S T U V W X Y Z a b c Q H","1602":"eB oB pB qB"},E:{"2":"I d J E F G A B rB fB sB tB uB vB gB","322":"C K L D ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB zB 0B 1B 2B ZB hB 3B aB","578":"TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"194":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"WebGPU"}; diff --git a/node_modules/caniuse-lite/data/features/webhid.js b/node_modules/caniuse-lite/data/features/webhid.js new file mode 100644 index 00000000..a667a550 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webhid.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"a b c Q H","2":"C K L D M N O","66":"P S T U V W X Y Z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB","66":"YB P S T U V W X Y Z"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"WB XB YB P","2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB zB 0B 1B 2B ZB hB 3B aB","66":"MB NB OB PB QB RB SB TB UB VB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"WebHID API"}; diff --git a/node_modules/caniuse-lite/data/features/webkit-user-drag.js b/node_modules/caniuse-lite/data/features/webkit-user-drag.js new file mode 100644 index 00000000..ac7768b4 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webkit-user-drag.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","132":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"16":"I d J E F G A B C K L D","132":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"G B C zB 0B 1B 2B ZB hB 3B aB","132":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"CSS -webkit-user-drag property"}; diff --git a/node_modules/caniuse-lite/data/features/webm.js b/node_modules/caniuse-lite/data/features/webm.js new file mode 100644 index 00000000..b6034fd3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webm.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F jB","520":"G A B"},B:{"1":"P S T U V W X Y Z a b c Q H","8":"C K","388":"L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","132":"I d J E F G A B C K L D M N O e f g h i j k l m"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d","132":"J E F G A B C K L D M N O e f g h i j"},E:{"2":"rB","8":"I d fB sB","520":"J E F G A B C tB uB vB gB ZB","1028":"K aB wB","7172":"L","8196":"D xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G zB 0B 1B","132":"B C D 2B ZB hB 3B aB"},G:{"2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC","1028":"GC HC IC JC KC","3076":"D LC MC"},H:{"2":"NC"},I:{"1":"H","2":"OC PC","132":"bB I QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"8":"A B"},O:{"1":"UC"},P:{"1":"VC WC XC YC ZC gB aC bC cC dC","132":"I"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:6,C:"WebM video format"}; diff --git a/node_modules/caniuse-lite/data/features/webnfc.js b/node_modules/caniuse-lite/data/features/webnfc.js new file mode 100644 index 00000000..868b60ae --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webnfc.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O P a b c Q H","450":"S T U V W X Y Z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P a b c Q H eB oB pB qB","450":"S T U V W X Y Z"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB zB 0B 1B 2B ZB hB 3B aB","450":"NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"257":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"Web NFC"}; diff --git a/node_modules/caniuse-lite/data/features/webp.js b/node_modules/caniuse-lite/data/features/webp.js new file mode 100644 index 00000000..ef04bd58 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webp.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"O P S T U V W X Y Z a b c Q H","2":"C K L D M N"},C:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","8":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d","8":"J E F","132":"G A B C K L D M N O e f g h","260":"i j k l m n o p q"},E:{"2":"I d J E F G A B C K rB fB sB tB uB vB gB ZB aB wB","516":"L D xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G zB 0B 1B","8":"B 2B","132":"ZB hB 3B","260":"C D M N O aB"},G:{"1":"D LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC"},H:{"1":"NC"},I:{"1":"H iB SC TC","2":"bB OC PC QC","132":"I RC"},J:{"2":"E A"},K:{"1":"C R ZB hB aB","2":"A","132":"B"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"8":"gC"}},B:7,C:"WebP image format"}; diff --git a/node_modules/caniuse-lite/data/features/websockets.js b/node_modules/caniuse-lite/data/features/websockets.js new file mode 100644 index 00000000..ef47cd92 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/websockets.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB mB nB","132":"I d","292":"J E F G A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d J E F G A B C K L","260":"D"},E:{"1":"E F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I rB fB","132":"d sB","260":"J tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G zB 0B 1B 2B","132":"B C ZB hB 3B"},G:{"1":"F D 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B","132":"iB 5B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","129":"E"},K:{"1":"R aB","2":"A","132":"B C ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Web Sockets"}; diff --git a/node_modules/caniuse-lite/data/features/webusb.js b/node_modules/caniuse-lite/data/features/webusb.js new file mode 100644 index 00000000..22388b57 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webusb.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB","66":"DB EB FB GB HB cB IB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i j k l m n o p q r s t u v w x y z zB 0B 1B 2B ZB hB 3B aB","66":"0 1 2 3 4 5 6"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"1":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"1":"YC ZC gB aC bC cC dC","2":"I VC WC XC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:7,C:"WebUSB"}; diff --git a/node_modules/caniuse-lite/data/features/webvr.js b/node_modules/caniuse-lite/data/features/webvr.js new file mode 100644 index 00000000..08abfef3 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webvr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L S T U V W X Y Z a b c Q H","66":"P","257":"D M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB mB nB","129":"EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","194":"DB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB S T U V W X Y Z a b c Q H eB oB pB qB","66":"GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","66":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB R LB MB"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C R ZB hB aB"},L:{"2":"H"},M:{"2":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"513":"I","516":"VC WC XC YC ZC gB aC bC cC dC"},Q:{"2":"eC"},R:{"66":"fC"},S:{"2":"gC"}},B:7,C:"WebVR API"}; diff --git a/node_modules/caniuse-lite/data/features/webvtt.js b/node_modules/caniuse-lite/data/features/webvtt.js new file mode 100644 index 00000000..d5a5357d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webvtt.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"2":"kB bB I d J E F G A B C K L D M N O e f g h i mB nB","66":"j k l m n o p","129":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N"},E:{"1":"J E F G A B C K L D tB uB vB gB ZB aB wB xB yB","2":"I d rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB I OC PC QC RC iB"},J:{"1":"A","2":"E"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"B","2":"A"},O:{"2":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"129":"gC"}},B:5,C:"WebVTT - Web Video Text Tracks"}; diff --git a/node_modules/caniuse-lite/data/features/webworkers.js b/node_modules/caniuse-lite/data/features/webworkers.js new file mode 100644 index 00000000..51cfe794 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webworkers.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"jB","8":"J E F G"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","8":"kB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","8":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 2B ZB hB 3B aB","2":"G zB","8":"0B 1B"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"2":"NC"},I:{"1":"H OC SC TC","2":"bB I PC QC RC iB"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","8":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Web Workers"}; diff --git a/node_modules/caniuse-lite/data/features/webxr.js b/node_modules/caniuse-lite/data/features/webxr.js new file mode 100644 index 00000000..96e678bd --- /dev/null +++ b/node_modules/caniuse-lite/data/features/webxr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"2":"C K L D M N O","132":"P S T U V W X Y Z a b c Q H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB mB nB","322":"XB YB P S T lB U V W X Y Z a b c Q H eB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R","66":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB","132":"P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"2":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB zB 0B 1B 2B ZB hB 3B aB","66":"BB CB DB EB FB GB HB IB JB KB R LB","132":"MB NB OB PB QB RB SB TB UB VB WB XB YB P"},G:{"2":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"2":"NC"},I:{"2":"bB I H OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"2":"A B C ZB hB aB","16":"R"},L:{"132":"H"},M:{"322":"Q"},N:{"2":"A B"},O:{"2":"UC"},P:{"2":"I VC WC XC YC ZC gB aC","132":"bC cC dC"},Q:{"2":"eC"},R:{"2":"fC"},S:{"2":"gC"}},B:5,C:"WebXR Device API"}; diff --git a/node_modules/caniuse-lite/data/features/will-change.js b/node_modules/caniuse-lite/data/features/will-change.js new file mode 100644 index 00000000..084d7c83 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/will-change.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"P S T U V W X Y Z a b c Q H","2":"C K L D M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n mB nB","194":"o p q r s t u"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u"},E:{"1":"A B C K L D vB gB ZB aB wB xB yB","2":"I d J E F G rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h i zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"CSS will-change property"}; diff --git a/node_modules/caniuse-lite/data/features/woff.js b/node_modules/caniuse-lite/data/features/woff.js new file mode 100644 index 00000000..484aa80d --- /dev/null +++ b/node_modules/caniuse-lite/data/features/woff.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB nB","2":"kB bB mB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I"},E:{"1":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"I d rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P ZB hB 3B aB","2":"G B zB 0B 1B 2B"},G:{"1":"F D 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB"},H:{"2":"NC"},I:{"1":"H SC TC","2":"bB OC PC QC RC iB","130":"I"},J:{"1":"E A"},K:{"1":"B C R ZB hB aB","2":"A"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:2,C:"WOFF - Web Open Font Format"}; diff --git a/node_modules/caniuse-lite/data/features/woff2.js b/node_modules/caniuse-lite/data/features/woff2.js new file mode 100644 index 00000000..ccd11393 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/woff2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G A B jB"},B:{"1":"L D M N O P S T U V W X Y Z a b c Q H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","2":"I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u"},E:{"1":"C K L D aB wB xB yB","2":"I d J E F G rB fB sB tB uB vB","132":"A B gB ZB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C D M N O e f g h zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"D BC CC DC EC FC GC HC IC JC KC LC MC","2":"F fB 4B iB 5B 6B 7B 8B 9B AC"},H:{"2":"NC"},I:{"1":"H","2":"bB I OC PC QC RC iB SC TC"},J:{"2":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"2":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"WOFF 2.0 - Web Open Font Format"}; diff --git a/node_modules/caniuse-lite/data/features/word-break.js b/node_modules/caniuse-lite/data/features/word-break.js new file mode 100644 index 00000000..fe46caca --- /dev/null +++ b/node_modules/caniuse-lite/data/features/word-break.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J E F G A B jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB I d J E F G A B C K L mB nB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","4":"0 1 2 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"G A B C K L D vB gB ZB aB wB xB yB","4":"I d J E F rB fB sB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","2":"G B C zB 0B 1B 2B ZB hB 3B aB","4":"D M N O e f g h i j k l m n o p"},G:{"1":"D 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","4":"F fB 4B iB 5B 6B 7B 8B"},H:{"2":"NC"},I:{"1":"H","4":"bB I OC PC QC RC iB SC TC"},J:{"4":"E A"},K:{"1":"R","2":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"4":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"4":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:5,C:"CSS3 word-break"}; diff --git a/node_modules/caniuse-lite/data/features/wordwrap.js b/node_modules/caniuse-lite/data/features/wordwrap.js new file mode 100644 index 00000000..3e08967a --- /dev/null +++ b/node_modules/caniuse-lite/data/features/wordwrap.js @@ -0,0 +1 @@ +module.exports={A:{A:{"4":"J E F G A B jB"},B:{"1":"O P S T U V W X Y Z a b c Q H","4":"C K L D M N"},C:{"1":"8 9 AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","4":"0 1 2 3 4 5 6 7 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","4":"I d J E F G A B C K L D M N O e f g h"},E:{"1":"E F G A B C K L D tB uB vB gB ZB aB wB xB yB","4":"I d J rB fB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G zB 0B","4":"B C 1B 2B ZB hB 3B"},G:{"1":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","4":"fB 4B iB 5B 6B"},H:{"4":"NC"},I:{"1":"H SC TC","4":"bB I OC PC QC RC iB"},J:{"1":"A","4":"E"},K:{"1":"R","4":"A B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"4":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"4":"gC"}},B:5,C:"CSS3 Overflow-wrap"}; diff --git a/node_modules/caniuse-lite/data/features/x-doc-messaging.js b/node_modules/caniuse-lite/data/features/x-doc-messaging.js new file mode 100644 index 00000000..7a413ac0 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/x-doc-messaging.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E jB","132":"F G","260":"A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB","2":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","2":"rB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB","2":"G"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"4":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"Cross-document messaging"}; diff --git a/node_modules/caniuse-lite/data/features/x-frame-options.js b/node_modules/caniuse-lite/data/features/x-frame-options.js new file mode 100644 index 00000000..c777f01e --- /dev/null +++ b/node_modules/caniuse-lite/data/features/x-frame-options.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F G A B","2":"J E jB"},B:{"1":"C K L D M N O","4":"P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB","4":"I d J E F G A B C K L D M N QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","16":"kB bB mB nB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J E F G A B C K L D M N O e f g h i j k"},E:{"4":"J E F G A B C K L D sB tB uB vB gB ZB aB wB xB yB","16":"I d rB fB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P 3B aB","16":"G B zB 0B 1B 2B ZB hB"},G:{"4":"F D 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","16":"fB 4B iB 5B 6B"},H:{"2":"NC"},I:{"4":"I H RC iB SC TC","16":"bB OC PC QC"},J:{"4":"E A"},K:{"4":"R aB","16":"A B C ZB hB"},L:{"4":"H"},M:{"4":"Q"},N:{"1":"A B"},O:{"4":"UC"},P:{"4":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"4":"eC"},R:{"4":"fC"},S:{"1":"gC"}},B:6,C:"X-Frame-Options HTTP header"}; diff --git a/node_modules/caniuse-lite/data/features/xhr2.js b/node_modules/caniuse-lite/data/features/xhr2.js new file mode 100644 index 00000000..eac0cfdc --- /dev/null +++ b/node_modules/caniuse-lite/data/features/xhr2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J E F G jB","132":"A B"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","2":"kB bB","260":"A B","388":"J E F G","900":"I d mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","16":"I d J","132":"o p","388":"E F G A B C K L D M N O e f g h i j k l m n"},E:{"1":"F G A B C K L D uB vB gB ZB aB wB xB yB","2":"I rB fB","132":"E tB","388":"d J sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P aB","2":"G B zB 0B 1B 2B ZB hB 3B","132":"D M N"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","2":"fB 4B iB","132":"7B","388":"5B 6B"},H:{"2":"NC"},I:{"1":"H TC","2":"OC PC QC","388":"SC","900":"bB I RC iB"},J:{"132":"A","388":"E"},K:{"1":"C R aB","2":"A B ZB hB"},L:{"1":"H"},M:{"1":"Q"},N:{"132":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:1,C:"XMLHttpRequest advanced features"}; diff --git a/node_modules/caniuse-lite/data/features/xhtml.js b/node_modules/caniuse-lite/data/features/xhtml.js new file mode 100644 index 00000000..1ffdd2d8 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/xhtml.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"G A B","2":"J E F jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"1":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"1":"NC"},I:{"1":"bB I H OC PC QC RC iB SC TC"},J:{"1":"E A"},K:{"1":"A B C R ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"2":"fC"},S:{"1":"gC"}},B:1,C:"XHTML served as application/xhtml+xml"}; diff --git a/node_modules/caniuse-lite/data/features/xhtmlsmil.js b/node_modules/caniuse-lite/data/features/xhtmlsmil.js new file mode 100644 index 00000000..56dcb731 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/xhtmlsmil.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"G A B jB","4":"J E F"},B:{"2":"C K L D M N O","8":"P S T U V W X Y Z a b c Q H"},C:{"8":"0 1 2 3 4 5 6 7 8 9 kB bB I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB mB nB"},D:{"8":"0 1 2 3 4 5 6 7 8 9 I d J E F G A B C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB"},E:{"8":"I d J E F G A B C K L D rB fB sB tB uB vB gB ZB aB wB xB yB"},F:{"8":"0 1 2 3 4 5 6 7 8 9 G B C D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P zB 0B 1B 2B ZB hB 3B aB"},G:{"8":"F D fB 4B iB 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC"},H:{"8":"NC"},I:{"8":"bB I H OC PC QC RC iB SC TC"},J:{"8":"E A"},K:{"8":"A B C R ZB hB aB"},L:{"8":"H"},M:{"8":"Q"},N:{"2":"A B"},O:{"8":"UC"},P:{"8":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"8":"eC"},R:{"8":"fC"},S:{"8":"gC"}},B:7,C:"XHTML+SMIL animation"}; diff --git a/node_modules/caniuse-lite/data/features/xml-serializer.js b/node_modules/caniuse-lite/data/features/xml-serializer.js new file mode 100644 index 00000000..13d8ab78 --- /dev/null +++ b/node_modules/caniuse-lite/data/features/xml-serializer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","260":"J E F G jB"},B:{"1":"C K L D M N O P S T U V W X Y Z a b c Q H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L D M N O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T lB U V W X Y Z a b c Q H eB","132":"B","260":"kB bB I d J E mB nB","516":"F G A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB HB cB IB dB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P S T U V W X Y Z a b c Q H eB oB pB qB","132":"I d J E F G A B C K L D M N O e f g h i j k l m n o p"},E:{"1":"F G A B C K L D uB vB gB ZB aB wB xB yB","132":"I d J E rB fB sB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 O e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB R LB MB NB OB PB QB RB SB TB UB VB WB XB YB P","16":"G zB","132":"B C D M N 0B 1B 2B ZB hB 3B aB"},G:{"1":"F D 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC","132":"fB 4B iB 5B 6B 7B"},H:{"132":"NC"},I:{"1":"H SC TC","132":"bB I OC PC QC RC iB"},J:{"132":"E A"},K:{"1":"R","16":"A","132":"B C ZB hB aB"},L:{"1":"H"},M:{"1":"Q"},N:{"1":"A B"},O:{"1":"UC"},P:{"1":"I VC WC XC YC ZC gB aC bC cC dC"},Q:{"1":"eC"},R:{"1":"fC"},S:{"1":"gC"}},B:4,C:"DOM Parsing and Serialization"}; diff --git a/node_modules/caniuse-lite/data/regions/AD.js b/node_modules/caniuse-lite/data/regions/AD.js new file mode 100644 index 00000000..ac332190 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AD.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.0051,"36":0.0051,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01531,"53":0,"54":0,"55":0,"56":0,"57":0.0051,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.0051,"67":0,"68":0,"69":0.0051,"70":0,"71":0,"72":0.02041,"73":0,"74":0,"75":0,"76":0,"77":0.0051,"78":0.05613,"79":0,"80":0.0051,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.02041,"89":0.09185,"90":1.16348,"91":1.68399,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.01021,"44":0,"45":0,"46":0,"47":0.0051,"48":0,"49":0.63277,"50":0,"51":0,"52":0,"53":0.0051,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.03572,"63":0,"64":0.0051,"65":0.0051,"66":0,"67":0,"68":0,"69":0.01021,"70":0.0051,"71":0.0051,"72":0,"73":0,"74":0.0051,"75":0.0051,"76":0,"77":0.06634,"78":0,"79":0.04593,"80":0.08675,"81":0.06124,"83":0.04593,"84":0,"85":0,"86":0.01531,"87":0.13268,"88":0.03062,"89":0.08165,"90":0.07655,"91":0.95936,"92":13.07389,"93":0,"94":0.0051,"95":0.04593,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.01021,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0051,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.03572,"75":0,"76":0,"77":0.3368,"78":0.30618,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.09677,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00496,"6.0-6.1":0,"7.0-7.1":0.01489,"8.1-8.4":0.02729,"9.0-9.2":0,"9.3":0.22083,"10.0-10.2":0.11165,"10.3":0.33744,"11.0-11.2":0.04218,"11.3-11.4":0.05707,"12.0-12.1":0.02729,"12.2-12.4":0.15383,"13.0-13.1":0.12406,"13.2":0.00744,"13.3":0.11165,"13.4-13.7":0.38707,"14.0-14.4":2.02218,"14.5-14.7":20.10269},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01531,"14":0.54602,"15":0.02041,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.0051,"10.1":0.0051,"11.1":0.02552,"12.1":0.05103,"13.1":0.35721,"14.1":2.13816},B:{"12":0,"13":0,"14":0.01021,"15":0,"16":0,"17":0,"18":0.01021,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.01531,"86":0,"87":0.0051,"88":0,"89":0,"90":0,"91":0.04082,"92":1.55131,"93":0},P:{"4":0.10454,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.06272,"12.0":0.01045,"13.0":0.05227,"14.0":2.21616},I:{"0":0,"3":0,"4":0.00898,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00299,"4.2-4.3":0.01198,"4.4":0,"4.4.3-4.4.4":0.28445},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.39803,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.23506},Q:{"10.4":0},O:{"0":0.00979},H:{"0":0.25963},L:{"0":46.35901},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AE.js b/node_modules/caniuse-lite/data/regions/AE.js new file mode 100644 index 00000000..10c2838d --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.0038,"36":0.0038,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.0038,"53":0,"54":0,"55":0,"56":0.0038,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.019,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.0076,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.019,"85":0,"86":0,"87":0.0038,"88":0.019,"89":0.019,"90":0.152,"91":0.209,"92":0.0038,"93":0.0038,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0038,"35":0.247,"36":0,"37":0,"38":0.0152,"39":0,"40":0,"41":0,"42":0,"43":0.0038,"44":0,"45":0,"46":0,"47":0.0038,"48":0,"49":0.0418,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.0038,"57":0,"58":0.0038,"59":0,"60":0,"61":0,"62":0,"63":0.0038,"64":0.0038,"65":0.0076,"66":0.0038,"67":0.0038,"68":0.0038,"69":0.0076,"70":0.0038,"71":0.0038,"72":0.0076,"73":0.0038,"74":0.0076,"75":0.0114,"76":0.0152,"77":0.0038,"78":0.0076,"79":0.038,"80":0.0114,"81":0.019,"83":0.0798,"84":0.0228,"85":0.0114,"86":0.0228,"87":0.228,"88":0.0418,"89":0.0418,"90":0.0684,"91":0.437,"92":8.9604,"93":0.0152,"94":0.0114,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.0038,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.0038,"37":0.0038,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0038,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0456,"60":0,"62":0,"63":0,"64":0,"65":0.019,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.1406,"78":0.1102,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01704,"6.0-6.1":0.00213,"7.0-7.1":0.07241,"8.1-8.4":0.01491,"9.0-9.2":0.00852,"9.3":0.35992,"10.0-10.2":0.02556,"10.3":0.15547,"11.0-11.2":0.18741,"11.3-11.4":0.05324,"12.0-12.1":0.04046,"12.2-12.4":0.20871,"13.0-13.1":0.05537,"13.2":0.02982,"13.3":0.15547,"13.4-13.7":0.54095,"14.0-14.4":2.32565,"14.5-14.7":16.10276},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0038,"12":0.0038,"13":0.0228,"14":0.2052,"15":0.0114,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.0076,"11.1":0.0152,"12.1":0.0228,"13.1":0.1064,"14.1":0.855},B:{"12":0,"13":0,"14":0.0038,"15":0,"16":0.0038,"17":0.0038,"18":0.0228,"79":0,"80":0,"81":0,"83":0,"84":0.0038,"85":0,"86":0,"87":0,"88":0,"89":0.0076,"90":0.0038,"91":0.0304,"92":1.0184,"93":0},P:{"4":0.19541,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.06171,"8.2":0,"9.2":0.02057,"10.1":0.01028,"11.1-11.2":0.09256,"12.0":0.03085,"13.0":0.14399,"14.0":2.38611},I:{"0":0,"3":0,"4":0.00255,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00255,"4.2-4.3":0.00511,"4.4":0,"4.4.3-4.4.4":0.06639},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00539,"10":0.00539,"11":0.15641,"5.5":0},J:{"7":0,"10":0.0186},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.093},Q:{"10.4":0.0248},O:{"0":5.7846},H:{"0":1.38526},L:{"0":51.2906},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AF.js b/node_modules/caniuse-lite/data/regions/AF.js new file mode 100644 index 00000000..4c2350cd --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AF.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0.00192,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00192,"24":0,"25":0,"26":0,"27":0.00192,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00192,"34":0.00192,"35":0.00192,"36":0,"37":0.00192,"38":0.00192,"39":0.00192,"40":0,"41":0.00192,"42":0,"43":0.00384,"44":0,"45":0,"46":0,"47":0.00192,"48":0.00192,"49":0.00192,"50":0.00192,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.01153,"57":0.00192,"58":0.00192,"59":0,"60":0,"61":0,"62":0,"63":0.00192,"64":0,"65":0,"66":0.00192,"67":0,"68":0.00576,"69":0,"70":0,"71":0,"72":0.00768,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00192,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00192,"85":0.00192,"86":0.00192,"87":0.00192,"88":0.00384,"89":0.01537,"90":0.14023,"91":0.10181,"92":0.00192,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00192,"35":0,"36":0.00192,"37":0.00384,"38":0,"39":0,"40":0.00384,"41":0.00192,"42":0.00192,"43":0.02305,"44":0.00192,"45":0,"46":0.00192,"47":0,"48":0.00192,"49":0.00576,"50":0.00192,"51":0,"52":0.00192,"53":0,"54":0.00192,"55":0.00192,"56":0.00192,"57":0,"58":0.00192,"59":0.00192,"60":0.00192,"61":0.00192,"62":0.00576,"63":0.00384,"64":0.00384,"65":0.00192,"66":0.00192,"67":0.00384,"68":0.00192,"69":0,"70":0.00384,"71":0.00192,"72":0.00384,"73":0.00384,"74":0.00384,"75":0.00192,"76":0.00384,"77":0.00576,"78":0.00384,"79":0.00768,"80":0.00576,"81":0.01537,"83":0.00576,"84":0.00576,"85":0.00768,"86":0.01345,"87":0.04803,"88":0.02305,"89":0.01921,"90":0.02305,"91":0.12102,"92":1.92292,"93":0.00384,"94":0.00192,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00192,"29":0.00192,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00192,"38":0.00192,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00192,"51":0.00192,"52":0,"53":0,"54":0.00384,"55":0.00192,"56":0.00192,"57":0.00576,"58":0.07108,"60":0,"62":0,"63":0,"64":0.00384,"65":0.00192,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00192,"77":0.13255,"78":0.08645,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00192},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00798,"6.0-6.1":0.00199,"7.0-7.1":0.03691,"8.1-8.4":0,"9.0-9.2":0.01496,"9.3":0.07282,"10.0-10.2":0.02294,"10.3":0.13366,"11.0-11.2":0.15162,"11.3-11.4":0.1596,"12.0-12.1":0.14464,"12.2-12.4":0.50572,"13.0-13.1":0.11371,"13.2":0.05985,"13.3":0.34214,"13.4-13.7":0.396,"14.0-14.4":2.87475,"14.5-14.7":4.15353},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00192,"13":0.00192,"14":0.01921,"15":0.01153,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00192,"10.1":0,"11.1":0,"12.1":0,"13.1":0.00576,"14.1":0.09797},B:{"12":0.00384,"13":0.00384,"14":0.00384,"15":0.00384,"16":0.00768,"17":0.00576,"18":0.02497,"79":0,"80":0,"81":0.00192,"83":0,"84":0.00384,"85":0.00192,"86":0,"87":0,"88":0,"89":0.00576,"90":0.00384,"91":0.01153,"92":0.13831,"93":0},P:{"4":1.52088,"5.0-5.4":0.42303,"6.2-6.4":0.24173,"7.2-7.4":0.78562,"8.2":0.10072,"9.2":0.58418,"10.1":0.10072,"11.1-11.2":0.46331,"12.0":0.19137,"13.0":0.48346,"14.0":1.91369},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01576,"4.2-4.3":0.06433,"4.4":0,"4.4.3-4.4.4":0.47528},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00768,"10":0,"11":0.12487,"5.5":0},J:{"7":0,"10":0.00808},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.11311},Q:{"10.4":0},O:{"0":2.69839},H:{"0":1.29263},L:{"0":73.49726},S:{"2.5":0.00808}}; diff --git a/node_modules/caniuse-lite/data/regions/AG.js b/node_modules/caniuse-lite/data/regions/AG.js new file mode 100644 index 00000000..eb55c836 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AG.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00385,"35":0.00385,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00385,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00385,"53":0.00385,"54":0,"55":0.00385,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00769,"79":0,"80":0,"81":0,"82":0.00769,"83":0,"84":0,"85":0,"86":0.00769,"87":0,"88":0.00385,"89":0.01154,"90":0.24993,"91":0.32298,"92":0.00385,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00385,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01154,"50":0,"51":0,"52":0,"53":0.00385,"54":0,"55":0,"56":0,"57":0,"58":0.00769,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00769,"66":0,"67":0.00385,"68":0,"69":0,"70":0,"71":0.00385,"72":0,"73":0,"74":0.2307,"75":0.02307,"76":0.05383,"77":0.00385,"78":0.02692,"79":0.00769,"80":0.01538,"81":0.01923,"83":0.00385,"84":0.0423,"85":0.00769,"86":0.00385,"87":0.03845,"88":0.00385,"89":0.02307,"90":0.08459,"91":0.51523,"92":7.67847,"93":0.04999,"94":0.00769,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00385,"60":0,"62":0,"63":0,"64":0.00769,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.06921,"78":0.09228,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00776,"6.0-6.1":0,"7.0-7.1":0.03685,"8.1-8.4":0.02521,"9.0-9.2":0,"9.3":0.04073,"10.0-10.2":0.00582,"10.3":0.26376,"11.0-11.2":0.00582,"11.3-11.4":0.0543,"12.0-12.1":0.08533,"12.2-12.4":0.09503,"13.0-13.1":0.01164,"13.2":0.00582,"13.3":0.11249,"13.4-13.7":0.57213,"14.0-14.4":1.95494,"14.5-14.7":15.11778},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00385,"13":0.02307,"14":0.10382,"15":0.02307,_:"0","3.1":0,"3.2":0,"5.1":0.00385,"6.1":0,"7.1":0,"9.1":0.18841,"10.1":0,"11.1":0.00385,"12.1":0.00769,"13.1":0.07306,"14.1":0.85744},B:{"12":0,"13":0.00385,"14":0.01538,"15":0.00385,"16":0.00769,"17":0.00385,"18":0.03845,"79":0,"80":0,"81":0,"83":0,"84":0.01538,"85":0,"86":0,"87":0,"88":0,"89":0.00769,"90":0,"91":0.04999,"92":1.66104,"93":0.00385},P:{"4":0.31306,"5.0-5.4":0.0108,"6.2-6.4":0,"7.2-7.4":0.20511,"8.2":0,"9.2":0.06477,"10.1":0,"11.1-11.2":0.42101,"12.0":0.04318,"13.0":0.23749,"14.0":4.77143},I:{"0":0,"3":0,"4":0.03709,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.07417,"4.4":0,"4.4.3-4.4.4":2.03975},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.05383,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.30775},Q:{"10.4":0.00616},O:{"0":0.11695},H:{"0":0.15151},L:{"0":57.08461},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AI.js b/node_modules/caniuse-lite/data/regions/AI.js new file mode 100644 index 00000000..e59f40e4 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AI.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0.00746,"88":0,"89":0.01119,"90":0.15666,"91":0.28348,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0.00373,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.00373,"63":0.01119,"64":0,"65":0,"66":0,"67":0.00373,"68":0,"69":0,"70":0,"71":0.00746,"72":0,"73":0.01119,"74":0.29094,"75":0.01865,"76":0.04476,"77":0,"78":0.10071,"79":0.03357,"80":0,"81":0.04103,"83":0.00373,"84":0.01492,"85":0.00373,"86":0.00746,"87":0.02238,"88":0.02984,"89":0.02984,"90":0.03357,"91":0.83179,"92":6.18061,"93":0.00373,"94":0.01119,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00373,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.08579,"78":0.07087,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00691,"8.1-8.4":0.01613,"9.0-9.2":0,"9.3":0.15208,"10.0-10.2":0,"10.3":0.33411,"11.0-11.2":0.03456,"11.3-11.4":0.00922,"12.0-12.1":0,"12.2-12.4":0.17282,"13.0-13.1":0.02535,"13.2":0.01383,"13.3":0.40554,"13.4-13.7":0.29263,"14.0-14.4":2.03923,"14.5-14.7":18.56502},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00746,"13":0.02984,"14":0.0746,"15":0.0373,_:"0","3.1":0,"3.2":0,"5.1":0.00373,"6.1":0,"7.1":0,"9.1":0.27975,"10.1":0,"11.1":0.01119,"12.1":0.00746,"13.1":0.04849,"14.1":1.02202},B:{"12":0,"13":0.00373,"14":0,"15":0,"16":0,"17":0,"18":0.02238,"79":0,"80":0.01119,"81":0,"83":0,"84":0.00373,"85":0,"86":0,"87":0,"88":0,"89":0.00746,"90":0,"91":0.07833,"92":1.97317,"93":0},P:{"4":0.12637,"5.0-5.4":0,"6.2-6.4":0.02106,"7.2-7.4":0.21062,"8.2":0.01053,"9.2":0.08425,"10.1":0,"11.1-11.2":0.38965,"12.0":0.07372,"13.0":0.3054,"14.0":5.16027},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01766,"4.2-4.3":0.05299,"4.4":0,"4.4.3-4.4.4":0.88319},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0373,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.08778},Q:{"10.4":0.00627},O:{"0":0.15675},H:{"0":1.16346},L:{"0":53.91837},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AL.js b/node_modules/caniuse-lite/data/regions/AL.js new file mode 100644 index 00000000..afdc3579 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AL.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00291,"36":0.00146,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00291,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.04517,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00291,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.00146,"89":0.00291,"90":0.08596,"91":0.07576,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00291,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00146,"48":0,"49":0.03205,"50":0,"51":0,"52":0,"53":0.00146,"54":0,"55":0,"56":0.00146,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00146,"69":0,"70":0,"71":0.00146,"72":0.00146,"73":0,"74":0.00146,"75":0,"76":0.00146,"77":0.00146,"78":0.00146,"79":0.01166,"80":0.00291,"81":0.00291,"83":0.00437,"84":0.00437,"85":0.00437,"86":0.00583,"87":0.02186,"88":0.00437,"89":0.00437,"90":0.00874,"91":0.05682,"92":1.45554,"93":0.00146,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00146,"60":0,"62":0,"63":0,"64":0,"65":0.00146,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.02186,"78":0.0204,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.03529,"7.0-7.1":0.05294,"8.1-8.4":0,"9.0-9.2":0.00441,"9.3":0.10146,"10.0-10.2":0.0397,"10.3":0.22939,"11.0-11.2":0.12793,"11.3-11.4":0.2338,"12.0-12.1":0.12352,"12.2-12.4":0.67053,"13.0-13.1":0.12793,"13.2":0.06176,"13.3":0.48525,"13.4-13.7":1.45575,"14.0-14.4":5.43479,"14.5-14.7":31.99116},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00146,"14":0.01166,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00146,"12.1":0.00146,"13.1":0.00437,"14.1":0.03643},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00146,"18":0.00291,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.00146,"90":0,"91":0.00291,"92":0.08159,"93":0},P:{"4":0.20243,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.03036,"8.2":0.01012,"9.2":0.02024,"10.1":0.02024,"11.1-11.2":0.19231,"12.0":0.05061,"13.0":0.16195,"14.0":2.00408},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0.0034,"4.1":0.01815,"4.2-4.3":0.01588,"4.4":0,"4.4.3-4.4.4":0.07714},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00874,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.15377},Q:{"10.4":0.00854},O:{"0":0.0598},H:{"0":0.11323},L:{"0":52.94102},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AM.js b/node_modules/caniuse-lite/data/regions/AM.js new file mode 100644 index 00000000..6a42070b --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AM.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.00711,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.00711,"42":0,"43":0.01422,"44":0,"45":0.00711,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":21.8277,"53":0,"54":0,"55":0,"56":0.00711,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01422,"79":0,"80":0.03555,"81":0,"82":0.02133,"83":0,"84":0,"85":0.00711,"86":0,"87":0.00711,"88":0.01422,"89":0.02844,"90":0.6399,"91":0.53325,"92":0.00711,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00711,"23":0,"24":0,"25":0,"26":0.00711,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00711,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":1.59264,"50":0,"51":0.00711,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00711,"59":0,"60":0.00711,"61":0,"62":0,"63":0.04977,"64":0,"65":0.00711,"66":0,"67":0.01422,"68":0,"69":0.00711,"70":0.00711,"71":0.01422,"72":0.02133,"73":0.02133,"74":0.00711,"75":0.01422,"76":0.02133,"77":0.01422,"78":0.00711,"79":0.02133,"80":0.02844,"81":0.02844,"83":0.04266,"84":0.04266,"85":0.01422,"86":0.16353,"87":0.23463,"88":0.09243,"89":0.08532,"90":0.11376,"91":0.63279,"92":20.01465,"93":0.02133,"94":0.01422,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01422,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02133,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00711,"77":0.27729,"78":0.23463,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00711},G:{"8":0.00267,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01068,"6.0-6.1":0.01469,"7.0-7.1":0.01202,"8.1-8.4":0.00134,"9.0-9.2":0.00668,"9.3":0.17095,"10.0-10.2":0.01202,"10.3":0.10684,"11.0-11.2":0.06945,"11.3-11.4":0.06811,"12.0-12.1":0.04274,"12.2-12.4":0.22571,"13.0-13.1":0.05075,"13.2":0.01603,"13.3":0.15092,"13.4-13.7":0.42738,"14.0-14.4":2.04206,"14.5-14.7":9.08443},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00711,"14":0.16353,"15":0.00711,_:"0","3.1":0,"3.2":0,"5.1":0.05688,"6.1":0,"7.1":0,"9.1":0.02133,"10.1":0,"11.1":0.00711,"12.1":0.01422,"13.1":0.1422,"14.1":0.62568},B:{"12":0,"13":0,"14":0,"15":0.00711,"16":0,"17":0.00711,"18":0.00711,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0.01422,"87":0,"88":0,"89":0.00711,"90":0,"91":0.02844,"92":0.59724,"93":0},P:{"4":0.05108,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.05108,"8.2":0,"9.2":0.01022,"10.1":0.01022,"11.1-11.2":0.11237,"12.0":0.03065,"13.0":0.09194,"14.0":1.25655},I:{"0":0,"3":0,"4":0.00128,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00128,"4.2-4.3":0.00615,"4.4":0,"4.4.3-4.4.4":0.03973},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.28273,"10":0,"11":0.08699,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.02601},Q:{"10.4":0},O:{"0":0.19652},H:{"0":0.26266},L:{"0":33.23701},S:{"2.5":0.00289}}; diff --git a/node_modules/caniuse-lite/data/regions/AO.js b/node_modules/caniuse-lite/data/regions/AO.js new file mode 100644 index 00000000..58839ee4 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AO.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00467,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00467,"41":0.00467,"42":0,"43":0.00467,"44":0.00467,"45":0,"46":0,"47":0.07946,"48":0,"49":0,"50":0,"51":0,"52":0.0187,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00467,"61":0,"62":0,"63":0,"64":0.00467,"65":0.00467,"66":0,"67":0,"68":0.00935,"69":0,"70":0,"71":0,"72":0.00467,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02337,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.0187,"85":0.00467,"86":0,"87":0.00467,"88":0.00467,"89":0.04207,"90":0.25707,"91":0.38794,"92":0.00467,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00467,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.00467,"26":0.00467,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00935,"34":0,"35":0.0187,"36":0,"37":0,"38":0,"39":0,"40":0.05609,"41":0,"42":0.00935,"43":0.02337,"44":0,"45":0,"46":0.00935,"47":0.00467,"48":0.02804,"49":0.04207,"50":0.0187,"51":0,"52":0,"53":0,"54":0,"55":0.02337,"56":0.0187,"57":0.00467,"58":0.00467,"59":0.00467,"60":0.00467,"61":0,"62":0.00467,"63":0.03739,"64":0.05141,"65":0.03272,"66":0,"67":0.00467,"68":0.00467,"69":0.07946,"70":0.00467,"71":0.00467,"72":0.00467,"73":0.00467,"74":0.00935,"75":0.01402,"76":0.00935,"77":0.00467,"78":0.02337,"79":0.04674,"80":0.00935,"81":0.06076,"83":0.0187,"84":0.01402,"85":0.01402,"86":0.05141,"87":0.1262,"88":0.04207,"89":0.07946,"90":0.10283,"91":0.41131,"92":10.58194,"93":0.02337,"94":0.00467,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.0187,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00467,"35":0,"36":0.00467,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00467,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00467,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00467,"57":0.00467,"58":0.03272,"60":0,"62":0,"63":0,"64":0.00467,"65":0.00467,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.00467,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.50947,"78":0.50012,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00467},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00288,"5.0-5.1":0.06039,"6.0-6.1":0.01869,"7.0-7.1":0.23004,"8.1-8.4":0.1409,"9.0-9.2":0.00431,"9.3":1.23072,"10.0-10.2":0.04457,"10.3":0.73757,"11.0-11.2":0.33356,"11.3-11.4":0.32493,"12.0-12.1":0.06326,"12.2-12.4":0.73182,"13.0-13.1":0.03307,"13.2":0.02157,"13.3":0.14809,"13.4-13.7":0.35513,"14.0-14.4":1.9266,"14.5-14.7":5.65327},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00467,"9":0,"10":0,"11":0.00467,"12":0.00935,"13":0.00467,"14":0.22903,"15":0.01402,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.04674,"11.1":0.00467,"12.1":0.02804,"13.1":0.03739,"14.1":0.13555},B:{"12":0.02337,"13":0.03739,"14":0.01402,"15":0.07946,"16":0.00935,"17":0.03272,"18":0.19163,"79":0,"80":0,"81":0,"83":0,"84":0.03739,"85":0.00935,"86":0.01402,"87":0.00467,"88":0,"89":0.02804,"90":0.02337,"91":0.08881,"92":1.72003,"93":0},P:{"4":0.76133,"5.0-5.4":0.04172,"6.2-6.4":0.04172,"7.2-7.4":0.13558,"8.2":0.01043,"9.2":0.04172,"10.1":0.03129,"11.1-11.2":0.12515,"12.0":0.09386,"13.0":0.20858,"14.0":0.98034},I:{"0":0,"3":0,"4":0.00833,"2.1":0,"2.2":0,"2.3":0,"4.1":0.09224,"4.2-4.3":0.25352,"4.4":0,"4.4.3-4.4.4":0.57786},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00779,"10":0,"11":0.43624,"5.5":0},J:{"7":0,"10":0.0213},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.1225},Q:{"10.4":0.04793},O:{"0":0.39412},H:{"0":2.42535},L:{"0":60.78107},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AR.js b/node_modules/caniuse-lite/data/regions/AR.js new file mode 100644 index 00000000..2a68617a --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00421,"36":0.00421,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.03792,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.00421,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.01264,"67":0,"68":0.00421,"69":0.00421,"70":0,"71":0,"72":0.00421,"73":0.00421,"74":0,"75":0,"76":0,"77":0.00421,"78":0.01685,"79":0.00421,"80":0.00421,"81":0,"82":0.00421,"83":0.00421,"84":0.02107,"85":0.00421,"86":0.00421,"87":0.00421,"88":0.01264,"89":0.02528,"90":0.30755,"91":0.45079,"92":0.00421,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00421,"35":0,"36":0,"37":0,"38":0.00843,"39":0,"40":0,"41":0,"42":0,"43":0.00421,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.17273,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00421,"59":0,"60":0,"61":0.02107,"62":0,"63":0.00421,"64":0,"65":0.00421,"66":0.01685,"67":0.00421,"68":0.00421,"69":0.00421,"70":0.00843,"71":0.00421,"72":0.00421,"73":0.00421,"74":0.01264,"75":0.00843,"76":0.00843,"77":0.00843,"78":0.01264,"79":0.02107,"80":0.01685,"81":0.02528,"83":0.01264,"84":0.01264,"85":0.01685,"86":0.02528,"87":0.15167,"88":0.02528,"89":0.04213,"90":0.07583,"91":0.41709,"92":13.29623,"93":0.00843,"94":0.00421,"95":0.00421,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00421,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01685,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00421,"77":0.31598,"78":0.26542,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00118,"3.2":0.00118,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.03197,"6.0-6.1":0.00355,"7.0-7.1":0.0077,"8.1-8.4":0.00474,"9.0-9.2":0.00237,"9.3":0.06927,"10.0-10.2":0.00237,"10.3":0.05032,"11.0-11.2":0.01421,"11.3-11.4":0.0669,"12.0-12.1":0.01835,"12.2-12.4":0.04618,"13.0-13.1":0.01717,"13.2":0.00592,"13.3":0.0444,"13.4-13.7":0.16872,"14.0-14.4":0.50913,"14.5-14.7":4.50344},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00843,"14":0.03792,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.01685,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00843,"12.1":0.00843,"13.1":0.03792,"14.1":0.20222},B:{"12":0,"13":0,"14":0.00421,"15":0.00843,"16":0,"17":0.00421,"18":0.01264,"79":0,"80":0,"81":0,"83":0,"84":0.00421,"85":0,"86":0.00421,"87":0,"88":0,"89":0.00421,"90":0.00421,"91":0.01685,"92":0.76677,"93":0},P:{"4":0.19154,"5.0-5.4":0.01008,"6.2-6.4":0,"7.2-7.4":0.23187,"8.2":0.02016,"9.2":0.05041,"10.1":0.02016,"11.1-11.2":0.1613,"12.0":0.06049,"13.0":0.2117,"14.0":2.10697},I:{"0":0,"3":0,"4":0.00074,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00736,"4.2-4.3":0.01104,"4.4":0,"4.4.3-4.4.4":0.09564},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00458,"10":0,"11":0.10075,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.14468},Q:{"10.4":0.00579},O:{"0":0.04051},H:{"0":0.20819},L:{"0":71.76611},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AS.js b/node_modules/caniuse-lite/data/regions/AS.js new file mode 100644 index 00000000..c65af878 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AS.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00525,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.01049,"49":0,"50":0,"51":0,"52":0.00525,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.00525,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00525,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0.15213,"91":0.17836,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.33574,"50":0,"51":0,"52":0,"53":0.00525,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00525,"66":0.00525,"67":0.04197,"68":0.01049,"69":0.00525,"70":0,"71":0,"72":0.00525,"73":0,"74":0.00525,"75":0.16263,"76":0.05771,"77":0.09443,"78":0,"79":0.43017,"80":0.01574,"81":0.01049,"83":0.00525,"84":0.01049,"85":0.00525,"86":0.04721,"87":0.18886,"88":0.01049,"89":0.05771,"90":0.22033,"91":2.28726,"92":13.71829,"93":0.02098,"94":0.00525,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.01574,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.1941,"78":0.25705,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00693,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00462,"7.0-7.1":0.00693,"8.1-8.4":0.04391,"9.0-9.2":0,"9.3":1.65485,"10.0-10.2":0.00693,"10.3":0.16872,"11.0-11.2":0.02542,"11.3-11.4":0.13405,"12.0-12.1":0.00693,"12.2-12.4":0.0832,"13.0-13.1":0.00693,"13.2":0,"13.3":0.14561,"13.4-13.7":0.28659,"14.0-14.4":2.61632,"14.5-14.7":15.74878},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.08394,"12":0.02098,"13":0.02623,"14":0.11017,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01049,"11.1":0.01049,"12.1":0.02098,"13.1":0.11017,"14.1":0.75018},B:{"12":0,"13":0,"14":0,"15":0,"16":0.00525,"17":0.00525,"18":0.25181,"79":0,"80":0,"81":0,"83":0,"84":0.00525,"85":0,"86":0,"87":0,"88":0.01049,"89":0.03672,"90":0.01049,"91":0.07344,"92":3.43088,"93":0.01574},P:{"4":0.44174,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.22626,"8.2":0,"9.2":0.07542,"10.1":0,"11.1-11.2":0.23703,"12.0":0.0431,"13.0":0.0431,"14.0":1.06664},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.11347,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":1.23393},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.57181,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.01426},Q:{"10.4":0.08082},O:{"0":0.22344},H:{"0":0.09452},L:{"0":49.35443},S:{"2.5":0.01902}}; diff --git a/node_modules/caniuse-lite/data/regions/AT.js b/node_modules/caniuse-lite/data/regions/AT.js new file mode 100644 index 00000000..fca2c220 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AT.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0054,"35":0.02161,"36":0.0108,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.0054,"46":0,"47":0,"48":0.0108,"49":0,"50":0,"51":0,"52":0.05942,"53":0,"54":0,"55":0,"56":0.0054,"57":0.0054,"58":0,"59":0,"60":0.07023,"61":0.0108,"62":0.0108,"63":0.0054,"64":0,"65":0,"66":0.02701,"67":0,"68":0.02161,"69":0,"70":0,"71":0,"72":0.0108,"73":0.0054,"74":0.0054,"75":0,"76":0.0054,"77":0.0054,"78":0.29171,"79":0.0054,"80":0.0054,"81":0.0108,"82":0.0054,"83":0.0108,"84":0.02701,"85":0.0108,"86":0.0108,"87":0.02701,"88":0.09183,"89":0.13505,"90":1.80427,"91":2.66319,"92":0.0108,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0054,"35":0,"36":0.03241,"37":0,"38":0.02701,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.0054,"48":0,"49":0.11344,"50":0.0108,"51":0.0054,"52":0,"53":0.0108,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.0054,"60":0,"61":0.14045,"62":0.0054,"63":0.0054,"64":0.10264,"65":0.0054,"66":0,"67":0.0054,"68":0.0054,"69":0.0108,"70":0.11344,"71":0.0108,"72":0.14585,"73":0,"74":0.0054,"75":0.03241,"76":0.0054,"77":0.0108,"78":0.0108,"79":0.2809,"80":0.11344,"81":0.02701,"83":0.01621,"84":0.03241,"85":0.04862,"86":0.03241,"87":0.21068,"88":0.03781,"89":0.05942,"90":0.11344,"91":1.96093,"92":10.60413,"93":0.0108,"94":0.01621,"95":0.0108,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0054,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0108,"60":0,"62":0,"63":0,"64":0,"65":0.0054,"66":0,"67":0,"68":0.0054,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.0054,"76":0.0054,"77":0.5456,"78":0.55641,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0049,"6.0-6.1":0.00979,"7.0-7.1":0.01714,"8.1-8.4":0.05141,"9.0-9.2":0.00734,"9.3":0.21545,"10.0-10.2":0.0049,"10.3":0.22035,"11.0-11.2":0.0759,"11.3-11.4":0.07835,"12.0-12.1":0.05386,"12.2-12.4":0.27421,"13.0-13.1":0.07835,"13.2":0.03917,"13.3":0.20811,"13.4-13.7":0.65125,"14.0-14.4":2.71763,"14.5-14.7":18.98914},E:{"4":0.0054,"5":0,"6":0,"7":0,"8":0.0054,"9":0,"10":0,"11":0,"12":0.0054,"13":0.04862,"14":0.43756,"15":0.01621,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.0054,"10.1":0.11344,"11.1":0.06482,"12.1":0.05942,"13.1":0.2593,"14.1":1.96633},B:{"12":0,"13":0,"14":0.0054,"15":0.0054,"16":0.0054,"17":0.0054,"18":0.03781,"79":0,"80":0,"81":0,"83":0.0054,"84":0.0054,"85":0.0054,"86":0.0108,"87":0.0054,"88":0.0054,"89":0.02701,"90":0.01621,"91":0.14585,"92":3.40326,"93":0},P:{"4":0.24791,"5.0-5.4":0.02066,"6.2-6.4":0,"7.2-7.4":0.02066,"8.2":0.01033,"9.2":0.03099,"10.1":0.02066,"11.1-11.2":0.09297,"12.0":0.07231,"13.0":0.20659,"14.0":4.24543},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01306,"4.2-4.3":0.01143,"4.4":0,"4.4.3-4.4.4":0.16815},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01171,"9":0.00586,"10":0.00586,"11":0.53298,"5.5":0},J:{"7":0,"10":0.0046},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.74947},Q:{"10.4":0.0046},O:{"0":0.06437},H:{"0":0.26554},L:{"0":38.14327},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AU.js b/node_modules/caniuse-lite/data/regions/AU.js new file mode 100644 index 00000000..e5450252 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AU.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01169,"35":0.01753,"36":0.01753,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00584,"49":0,"50":0,"51":0,"52":0.02337,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00584,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.06427,"79":0,"80":0,"81":0.00584,"82":0.01169,"83":0,"84":0.00584,"85":0.00584,"86":0.00584,"87":0.00584,"88":0.02337,"89":0.05259,"90":0.69532,"91":0.91735,"92":0.00584,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.01169,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.02337,"35":0,"36":0,"37":0,"38":0.08765,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00584,"48":0.00584,"49":0.1636,"50":0,"51":0,"52":0.00584,"53":0.02922,"54":0,"55":0.00584,"56":0.00584,"57":0.00584,"58":0.00584,"59":0.00584,"60":0.01169,"61":0.01169,"62":0,"63":0.00584,"64":0.01753,"65":0.02337,"66":0.01169,"67":0.02337,"68":0.01169,"69":0.02337,"70":0.02337,"71":0.01169,"72":0.02337,"73":0.02337,"74":0.01753,"75":0.02337,"76":0.01753,"77":0.01169,"78":0.02337,"79":0.19866,"80":0.05259,"81":0.03506,"83":0.0409,"84":0.02922,"85":0.02922,"86":0.06427,"87":0.23956,"88":0.0818,"89":0.10517,"90":0.28631,"91":1.61851,"92":16.45973,"93":0.02337,"94":0.01169,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00584,"37":0.00584,"38":0,"39":0,"40":0.00584,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.05259,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00584,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00584,"76":0,"77":0.13439,"78":0.1227,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00381,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.05716,"6.0-6.1":0.04573,"7.0-7.1":0.04954,"8.1-8.4":0.11431,"9.0-9.2":0.05335,"9.3":0.60587,"10.0-10.2":0.0724,"10.3":0.68208,"11.0-11.2":0.19815,"11.3-11.4":0.24006,"12.0-12.1":0.2172,"12.2-12.4":0.64778,"13.0-13.1":0.11431,"13.2":0.04954,"13.3":0.33532,"13.4-13.7":1.0898,"14.0-14.4":3.83335,"14.5-14.7":27.51549},E:{"4":0,"5":0,"6":0,"7":0,"8":0.01169,"9":0,"10":0,"11":0.01169,"12":0.01753,"13":0.11686,"14":0.77712,"15":0.01753,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01169,"10.1":0.03506,"11.1":0.07596,"12.1":0.13439,"13.1":0.52003,"14.1":4.10179},B:{"12":0,"13":0,"14":0.00584,"15":0.00584,"16":0.00584,"17":0.00584,"18":0.06427,"79":0,"80":0,"81":0,"83":0,"84":0.00584,"85":0.00584,"86":0.00584,"87":0.00584,"88":0.00584,"89":0.01169,"90":0.01169,"91":0.11102,"92":2.97409,"93":0.00584},P:{"4":0.84379,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0.01068,"9.2":0.03204,"10.1":0.02136,"11.1-11.2":0.06409,"12.0":0.04272,"13.0":0.14953,"14.0":2.40319},I:{"0":0,"3":0,"4":0.00649,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00649,"4.2-4.3":0.01732,"4.4":0,"4.4.3-4.4.4":0.09307},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01205,"7":0,"8":0,"9":0.01205,"10":0,"11":0.55435,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.35335},Q:{"10.4":0.03741},O:{"0":0.13302},H:{"0":0.17317},L:{"0":24.87151},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AW.js b/node_modules/caniuse-lite/data/regions/AW.js new file mode 100644 index 00000000..5fe5aab0 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AW.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.05837,"36":0.02918,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.01459,"49":0,"50":0,"51":0,"52":0.04013,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00365,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01459,"79":0,"80":0,"81":0,"82":0.00365,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.01824,"90":0.17146,"91":0.21523,"92":0.00365,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.01459,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.02918,"50":0,"51":0,"52":0,"53":0,"54":0.00365,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00365,"61":0,"62":0,"63":0.0073,"64":0,"65":0,"66":0.0073,"67":0,"68":0,"69":0,"70":0.02189,"71":0,"72":0,"73":0,"74":0.03648,"75":0,"76":0.00365,"77":0,"78":0,"79":0.01459,"80":0.00365,"81":0.0073,"83":0.0073,"84":0.00365,"85":0.01459,"86":0.01459,"87":0.03648,"88":0.01824,"89":0.05472,"90":0.04378,"91":0.53626,"92":6.90202,"93":0.00365,"94":0.00365,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00365,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.11674,"78":0.08755,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00705,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.00352,"9.3":0.19728,"10.0-10.2":0.02114,"10.3":0.13739,"11.0-11.2":0.03171,"11.3-11.4":0.04227,"12.0-12.1":0.01409,"12.2-12.4":0.17262,"13.0-13.1":0.02466,"13.2":0.01409,"13.3":0.13387,"13.4-13.7":0.69047,"14.0-14.4":2.84995,"14.5-14.7":30.1447},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00365,"12":0,"13":0.01459,"14":0.26995,"15":0.01094,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00365,"11.1":0.02554,"12.1":0.03648,"13.1":0.22982,"14.1":1.32787},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.01459,"18":0.03283,"79":0,"80":0,"81":0,"83":0,"84":0.02189,"85":0.0073,"86":0.00365,"87":0,"88":0.01094,"89":0.0073,"90":0.01824,"91":0.05472,"92":2.02829,"93":0},P:{"4":0.13332,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.14358,"8.2":0,"9.2":0.06153,"10.1":0.02051,"11.1-11.2":0.24613,"12.0":0.11281,"13.0":0.19486,"14.0":7.16866},I:{"0":0,"3":0,"4":0.00846,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00846,"4.2-4.3":0.00423,"4.4":0,"4.4.3-4.4.4":0.14383},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.1824,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.36842},Q:{"10.4":0},O:{"0":0.05082},H:{"0":0.16237},L:{"0":39.97837},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AX.js b/node_modules/caniuse-lite/data/regions/AX.js new file mode 100644 index 00000000..7a13b1fe --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AX.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00615,"34":0.01846,"35":0.04308,"36":0.02462,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.04308,"49":0,"50":0,"51":0,"52":0.06154,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.01231,"62":0,"63":0,"64":0,"65":0.00615,"66":0,"67":0,"68":0.44924,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.03077,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.00615,"89":0.04308,"90":1.25542,"91":1.5385,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01231,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03077,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01231,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00615,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00615,"76":0.05539,"77":0,"78":0,"79":0.08,"80":0.00615,"81":0.01846,"83":0.03692,"84":0.00615,"85":0,"86":0.00615,"87":0.02462,"88":0.03692,"89":0.12923,"90":0.01846,"91":1.00926,"92":17.47736,"93":0.00615,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.19077,"78":0.56617,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.13904,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.01655,"9.0-9.2":0.00662,"9.3":0.12911,"10.0-10.2":0.03642,"10.3":1.43347,"11.0-11.2":0.00993,"11.3-11.4":0.01655,"12.0-12.1":5.60146,"12.2-12.4":0.30457,"13.0-13.1":0.56942,"13.2":0,"13.3":0.10925,"13.4-13.7":0.50651,"14.0-14.4":3.00267,"14.5-14.7":15.94363},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00615,"13":0.03692,"14":0.54771,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01231,"10.1":0.01231,"11.1":0.01846,"12.1":0.03077,"13.1":0.43078,"14.1":4.47396},B:{"12":0,"13":0.00615,"14":0,"15":0,"16":0,"17":0.01231,"18":0.00615,"79":0,"80":0.01231,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.00615,"90":0,"91":0.01846,"92":3.83394,"93":0},P:{"4":0.03479,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.0232,"8.2":0.0116,"9.2":0,"10.1":0,"11.1-11.2":0.0116,"12.0":0.0232,"13.0":0.10438,"14.0":2.4587},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.03231},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00615,"10":0,"11":0.15385,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.35768},Q:{"10.4":0},O:{"0":0.31153},H:{"0":0.08011},L:{"0":33.07408},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/AZ.js b/node_modules/caniuse-lite/data/regions/AZ.js new file mode 100644 index 00000000..c6a094bd --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/AZ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.03249,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00361,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00722,"85":0,"86":0,"87":0.00722,"88":0.00722,"89":0.01083,"90":0.05776,"91":0.09025,"92":0.00361,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00361,"23":0,"24":0,"25":0,"26":0.00361,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00361,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01805,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.00361,"45":0,"46":0,"47":0,"48":0,"49":0.02166,"50":0,"51":0,"52":0,"53":0.02166,"54":0,"55":0.00361,"56":0.00722,"57":0,"58":0.00361,"59":0,"60":0.00361,"61":0,"62":0,"63":0.00361,"64":0.00361,"65":0.00722,"66":0.00361,"67":0.00722,"68":0.01805,"69":0.00361,"70":0.00361,"71":0.00361,"72":0.00361,"73":0.00361,"74":0.00722,"75":0.00361,"76":0.00361,"77":0.00361,"78":0.00722,"79":0.18772,"80":0.02166,"81":0.03249,"83":0.01083,"84":0.00722,"85":0.01083,"86":0.01444,"87":0.05054,"88":0.03971,"89":0.02527,"90":0.05776,"91":0.35739,"92":9.28131,"93":0.00361,"94":0.00722,"95":0.00361,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.01083,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00361,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00722,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00361,"55":0,"56":0.00361,"57":0,"58":0.0722,"60":0,"62":0,"63":0,"64":0,"65":0.00722,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00361,"76":0.00361,"77":0.48374,"78":0.48374,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02134,"6.0-6.1":0,"7.0-7.1":0.07707,"8.1-8.4":0.00593,"9.0-9.2":0.00593,"9.3":0.06521,"10.0-10.2":0.02964,"10.3":0.18377,"11.0-11.2":0.06758,"11.3-11.4":0.09604,"12.0-12.1":0.02727,"12.2-12.4":0.16362,"13.0-13.1":0.04387,"13.2":0.0166,"13.3":0.11619,"13.4-13.7":0.35925,"14.0-14.4":1.76185,"14.5-14.7":8.003},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00722,"14":0.09747,"15":0.00361,_:"0","3.1":0,"3.2":0,"5.1":0.05776,"6.1":0,"7.1":0,"9.1":0.01805,"10.1":0,"11.1":0.06859,"12.1":0.01083,"13.1":0.0361,"14.1":0.18411},B:{"12":0,"13":0,"14":0,"15":0.00361,"16":0,"17":0,"18":0.00722,"79":0,"80":0,"81":0,"83":0,"84":0.00361,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0.00722,"92":0.29602,"93":0},P:{"4":0.34403,"5.0-5.4":0,"6.2-6.4":0.02024,"7.2-7.4":0.06071,"8.2":0.01012,"9.2":0.05059,"10.1":0.02024,"11.1-11.2":0.23273,"12.0":0.10119,"13.0":0.45533,"14.0":3.6528},I:{"0":0,"3":0,"4":0.00436,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00436,"4.2-4.3":0.01482,"4.4":0,"4.4.3-4.4.4":0.08368},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00361,"9":0,"10":0,"11":0.02888,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.04473},Q:{"10.4":0},O:{"0":0.28755},H:{"0":0.71991},L:{"0":67.27245},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BA.js b/node_modules/caniuse-lite/data/regions/BA.js new file mode 100644 index 00000000..af89abdc --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BA.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.01908,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00382,"36":0.00763,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00382,"44":0,"45":0.23653,"46":0,"47":0.00382,"48":0,"49":0,"50":0,"51":0,"52":0.24798,"53":0,"54":0.00763,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00382,"67":0,"68":0.00382,"69":0.00763,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01526,"79":0,"80":0,"81":0,"82":0,"83":0.00382,"84":0.00763,"85":0.00382,"86":0,"87":0,"88":0.02289,"89":0.04578,"90":0.4578,"91":0.67907,"92":0.00382,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00382,"35":0,"36":0,"37":0,"38":0.01145,"39":0,"40":0,"41":0,"42":0,"43":0.00382,"44":0,"45":0.00382,"46":0,"47":0.00382,"48":0,"49":0.12971,"50":0,"51":0,"52":0,"53":0.01145,"54":0,"55":0.00382,"56":0,"57":0,"58":0.00382,"59":0,"60":0,"61":0.2289,"62":0.00382,"63":0.01526,"64":0,"65":0.01145,"66":0.00382,"67":0.00382,"68":0.00763,"69":0.00382,"70":0.00382,"71":0.00382,"72":0,"73":0.00382,"74":0.00382,"75":0.00382,"76":0.00763,"77":0.00763,"78":0.00382,"79":0.06104,"80":0.01145,"81":0.02289,"83":0.01908,"84":0.01145,"85":0.00763,"86":0.02671,"87":0.05723,"88":0.03815,"89":0.03052,"90":0.06486,"91":0.37006,"92":9.27045,"93":0.01908,"94":0.00763,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00382,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00763,"37":0,"38":0,"39":0,"40":0.00763,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00382,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00763,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.36243,"78":0.2289,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00471,"6.0-6.1":0,"7.0-7.1":0.04709,"8.1-8.4":0.00283,"9.0-9.2":0,"9.3":0.13656,"10.0-10.2":0.04332,"10.3":0.09983,"11.0-11.2":0.01789,"11.3-11.4":0.03579,"12.0-12.1":0.0226,"12.2-12.4":0.07723,"13.0-13.1":0.01695,"13.2":0.0113,"13.3":0.05933,"13.4-13.7":0.22791,"14.0-14.4":1.09245,"14.5-14.7":6.94179},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00382,"13":0.01145,"14":0.04578,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00382,"11.1":0.00763,"12.1":0.01145,"13.1":0.02671,"14.1":0.2022},B:{"12":0,"13":0,"14":0.00382,"15":0.01145,"16":0,"17":0,"18":0.01145,"79":0,"80":0,"81":0,"83":0,"84":0.00382,"85":0.01526,"86":0,"87":0,"88":0.00382,"89":0.00382,"90":0,"91":0.01526,"92":0.56081,"93":0},P:{"4":0.24443,"5.0-5.4":0.01018,"6.2-6.4":0,"7.2-7.4":0.06111,"8.2":0,"9.2":0.04074,"10.1":0.05092,"11.1-11.2":0.25461,"12.0":0.08148,"13.0":0.18332,"14.0":3.30997},I:{"0":0,"3":0,"4":0.00208,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01869,"4.2-4.3":0.03115,"4.4":0,"4.4.3-4.4.4":0.21387},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00604,"9":0,"10":0,"11":0.06644,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.22266},Q:{"10.4":0},O:{"0":0.03093},H:{"0":0.22837},L:{"0":70.02547},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BB.js b/node_modules/caniuse-lite/data/regions/BB.js new file mode 100644 index 00000000..88d72546 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BB.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00487,"36":0.00487,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.01461,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00487,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00974,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00974,"79":0,"80":0,"81":0,"82":0.06331,"83":0,"84":0,"85":0,"86":0,"87":0.00974,"88":0.00487,"89":0.01461,"90":0.49674,"91":0.9253,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01948,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00487,"48":0,"49":0.01948,"50":0.00487,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.00487,"63":0.00487,"64":0,"65":0.00487,"66":0.00487,"67":0.00974,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.42369,"75":0,"76":0.0974,"77":0.00487,"78":0,"79":0.17045,"80":0.04383,"81":0.15097,"83":0.00974,"84":0.00974,"85":0.00487,"86":0.09253,"87":0.0974,"88":0.01461,"89":0.01948,"90":0.24837,"91":0.71102,"92":12.06786,"93":0.01461,"94":0.00487,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00974,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.31168,"78":0.1948,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.01097,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0047,"5.0-5.1":0.11754,"6.0-6.1":0,"7.0-7.1":0.14105,"8.1-8.4":0.00157,"9.0-9.2":0.00313,"9.3":0.22881,"10.0-10.2":0.01097,"10.3":0.18493,"11.0-11.2":0.01881,"11.3-11.4":0.03134,"12.0-12.1":0.05328,"12.2-12.4":0.12851,"13.0-13.1":0.01567,"13.2":0.0094,"13.3":0.43411,"13.4-13.7":0.39806,"14.0-14.4":1.4371,"14.5-14.7":11.60333},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01948,"14":0.18019,"15":0.00487,_:"0","3.1":0,"3.2":0,"5.1":0.00487,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00974,"11.1":0.00487,"12.1":0.01948,"13.1":0.06818,"14.1":1.15419},B:{"12":0.00974,"13":0,"14":0,"15":0.00487,"16":0.00487,"17":0.00487,"18":0.02922,"79":0,"80":0,"81":0,"83":0.00487,"84":0.00487,"85":0,"86":0,"87":0,"88":0,"89":0.01948,"90":0.00487,"91":0.05844,"92":3.08271,"93":0.02922},P:{"4":0.28624,"5.0-5.4":0.01101,"6.2-6.4":0,"7.2-7.4":0.26422,"8.2":0,"9.2":0.03303,"10.1":0,"11.1-11.2":0.14312,"12.0":0.05505,"13.0":0.28624,"14.0":5.08626},I:{"0":0,"3":0,"4":0.07564,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02521,"4.2-4.3":0.03362,"4.4":0,"4.4.3-4.4.4":2.00016},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.22402,"5.5":0},J:{"7":0,"10":0.00513},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.54378},Q:{"10.4":0},O:{"0":0.09747},H:{"0":0.07285},L:{"0":51.23635},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BD.js b/node_modules/caniuse-lite/data/regions/BD.js new file mode 100644 index 00000000..0fda645b --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BD.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00314,"36":0.00314,"37":0,"38":0,"39":0,"40":0.00314,"41":0.00314,"42":0,"43":0.00314,"44":0,"45":0,"46":0,"47":0.00314,"48":0.00629,"49":0.00314,"50":0,"51":0.00314,"52":0.01886,"53":0,"54":0,"55":0,"56":0.00314,"57":0,"58":0,"59":0.00314,"60":0.00314,"61":0,"62":0,"63":0,"64":0,"65":0.00314,"66":0,"67":0.00314,"68":0.00314,"69":0,"70":0,"71":0,"72":0.00629,"73":0,"74":0,"75":0.00629,"76":0,"77":0.00314,"78":0.01886,"79":0,"80":0.00314,"81":0.00314,"82":0.00314,"83":0.00314,"84":0.00314,"85":0.00314,"86":0.00314,"87":0.00314,"88":0.00943,"89":0.04402,"90":0.45588,"91":1.05953,"92":0.09746,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00314,"39":0,"40":0.00314,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.0283,"50":0.00314,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00314,"57":0,"58":0,"59":0,"60":0,"61":0.02201,"62":0,"63":0.00314,"64":0.00314,"65":0.00314,"66":0,"67":0,"68":0,"69":0.00314,"70":0.00314,"71":0.00314,"72":0,"73":0.00629,"74":0.00314,"75":0.00314,"76":0.00314,"77":0.00314,"78":0.00314,"79":0.01572,"80":0.00629,"81":0.01886,"83":0.00943,"84":0.00943,"85":0.00943,"86":0.01886,"87":0.05659,"88":0.01258,"89":0.01886,"90":0.0283,"91":0.1289,"92":5.60261,"93":0.01572,"94":0.01572,"95":0.00314,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00314,"27":0,"28":0.01258,"29":0.00314,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00943,"38":0.00314,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00314,"47":0,"48":0,"49":0,"50":0.00943,"51":0.00943,"52":0,"53":0,"54":0.0283,"55":0.01572,"56":0.01258,"57":0.02201,"58":0.5219,"60":0.00314,"62":0,"63":0,"64":0.00943,"65":0.03144,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.09432,"78":0.09746,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00314},G:{"8":0.00083,"3.2":0.00055,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0047,"6.0-6.1":0.00525,"7.0-7.1":0.08238,"8.1-8.4":0.00332,"9.0-9.2":0.00498,"9.3":0.04451,"10.0-10.2":0.00553,"10.3":0.18051,"11.0-11.2":0.01161,"11.3-11.4":0.01216,"12.0-12.1":0.02654,"12.2-12.4":0.07768,"13.0-13.1":0.02764,"13.2":0.00525,"13.3":0.02101,"13.4-13.7":0.11997,"14.0-14.4":0.29854,"14.5-14.7":1.57731},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00314,"14":0.00943,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00314,"13.1":0.00314,"14.1":0.03773},B:{"12":0.00314,"13":0,"14":0.00314,"15":0.00314,"16":0.00314,"17":0.00314,"18":0.00629,"79":0,"80":0,"81":0,"83":0,"84":0.00314,"85":0,"86":0,"87":0,"88":0,"89":0.00314,"90":0,"91":0.00943,"92":0.31754,"93":0},P:{"4":0.43003,"5.0-5.4":0.03,"6.2-6.4":0.02,"7.2-7.4":0.11001,"8.2":0.02,"9.2":0.03,"10.1":0.04,"11.1-11.2":0.17001,"12.0":0.11001,"13.0":0.22002,"14.0":1.20008},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00266,"4.2-4.3":0.01595,"4.4":0,"4.4.3-4.4.4":0.23655},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00419,"9":0,"10":0,"11":0.03354,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.19197},Q:{"10.4":0},O:{"0":3.15376},H:{"0":4.11518},L:{"0":75.23028},S:{"2.5":0.00686}}; diff --git a/node_modules/caniuse-lite/data/regions/BE.js b/node_modules/caniuse-lite/data/regions/BE.js new file mode 100644 index 00000000..5a1bb5c3 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00575,"32":0,"33":0,"34":0,"35":0.0115,"36":0.0115,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.0115,"49":0,"50":0,"51":0,"52":0.04025,"53":0,"54":0,"55":0,"56":0.023,"57":0,"58":0,"59":0,"60":0.00575,"61":0,"62":0,"63":0.0115,"64":0,"65":0,"66":0,"67":0,"68":0.0115,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00575,"78":0.138,"79":0,"80":0.00575,"81":0.00575,"82":0,"83":0,"84":0.01725,"85":0.00575,"86":0.00575,"87":0.07475,"88":0.05175,"89":0.092,"90":1.173,"91":1.75375,"92":0.00575,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00575,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.0115,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.10925,"50":0,"51":0,"52":0,"53":0.0115,"54":0,"55":0,"56":0,"57":0.00575,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00575,"64":0,"65":0.0115,"66":0.0115,"67":0.01725,"68":0,"69":0.00575,"70":0.00575,"71":0,"72":0.00575,"73":0,"74":0.01725,"75":0.04025,"76":0.023,"77":0.023,"78":0.24725,"79":0.3335,"80":0.02875,"81":0.023,"83":0.20125,"84":0.023,"85":0.05175,"86":0.04025,"87":0.2415,"88":0.0345,"89":0.092,"90":0.1265,"91":0.8395,"92":16.74975,"93":0.0115,"94":0.00575,"95":0.00575,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00575,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00575,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00575,"71":0,"72":0,"73":0,"74":0,"75":0.00575,"76":0.00575,"77":0.29325,"78":0.253,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.02111,"7.0-7.1":0.07123,"8.1-8.4":0.02374,"9.0-9.2":0.01319,"9.3":0.26645,"10.0-10.2":0.01847,"10.3":0.35879,"11.0-11.2":0.08706,"11.3-11.4":0.08178,"12.0-12.1":0.07914,"12.2-12.4":0.20578,"13.0-13.1":0.06332,"13.2":0.02374,"13.3":0.21897,"13.4-13.7":0.72022,"14.0-14.4":2.98113,"14.5-14.7":19.86538},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0115,"12":0.00575,"13":0.092,"14":0.52325,"15":0.0115,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.00575,"7.1":0,"9.1":0.00575,"10.1":0.02875,"11.1":0.05175,"12.1":0.08625,"13.1":0.368,"14.1":2.43225},B:{"12":0,"13":0,"14":0,"15":0.00575,"16":0.0115,"17":0.00575,"18":0.04025,"79":0,"80":0.00575,"81":0,"83":0.00575,"84":0.0115,"85":0.00575,"86":0.01725,"87":0.0115,"88":0.00575,"89":0.0115,"90":0.01725,"91":0.138,"92":3.818,"93":0},P:{"4":0.12532,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01044,"8.2":0,"9.2":0.01044,"10.1":0.01044,"11.1-11.2":0.10443,"12.0":0.05222,"13.0":0.14621,"14.0":3.85362},I:{"0":0,"3":0,"4":0.00383,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00766,"4.2-4.3":0.01341,"4.4":0,"4.4.3-4.4.4":0.1226},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00614,"10":0,"11":0.44236,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.33575},Q:{"10.4":0},O:{"0":0.05525},H:{"0":0.12473},L:{"0":34.96325},S:{"2.5":0.00425}}; diff --git a/node_modules/caniuse-lite/data/regions/BF.js b/node_modules/caniuse-lite/data/regions/BF.js new file mode 100644 index 00000000..be11bae0 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BF.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.00643,"30":0.00429,"32":0.00429,"39":0.02357,"40":0.01072,"41":0.00429,"43":0.015,"44":0.00214,"46":0.00214,"47":0.03857,"48":0.00857,"49":0.00643,"50":0.00429,"52":0.03215,"56":0.00429,"57":0.00857,"59":0.00857,"60":0.00214,"61":0.02786,"62":0.00214,"63":0.02143,"65":0.00857,"66":0.00429,"68":0.00857,"69":0.00429,"70":0.00429,"72":0.02572,"75":0.015,"76":0.01714,"78":0.09001,"80":0.00857,"81":0.01072,"83":0.03429,"84":0.00429,"85":0.01072,"86":0.02357,"87":0.02143,"88":0.12429,"89":0.3986,"90":1.27723,"91":1.70369,"92":0.02143,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 31 33 34 35 36 37 38 42 45 51 53 54 55 58 64 67 71 73 74 77 79 82 93 3.5 3.6"},D:{"22":0.00643,"27":0.00643,"28":0.00643,"29":0.00429,"33":0.00857,"37":0.00214,"39":0.00429,"43":0.00214,"49":0.03215,"50":0.00429,"51":0.00429,"52":0.00429,"55":0.00214,"57":0.00214,"58":0.09429,"60":0.00429,"62":0.00214,"63":0.01286,"64":0.00429,"65":0.00429,"70":0.01929,"71":0.00643,"72":0.00214,"73":0.00214,"74":0.07929,"75":0.08786,"76":0.00429,"77":0.015,"78":0.00643,"79":0.06429,"80":0.01072,"81":0.03,"83":0.015,"84":0.01286,"85":0.01072,"86":0.01286,"87":0.11572,"88":0.07072,"89":0.05358,"90":0.05786,"91":0.4286,"92":7.4405,"93":0.00643,"94":0.11144,"95":0.02357,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 30 31 32 34 35 36 38 40 41 42 44 45 46 47 48 53 54 56 59 61 66 67 68 69 96"},F:{"22":0.00429,"40":0.00214,"45":0.00429,"67":0.00214,"69":0.00214,"76":0.00429,"77":0.41789,"78":0.29359,_:"9 11 12 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 68 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0033,"6.0-6.1":0,"7.0-7.1":0.03559,"8.1-8.4":0,"9.0-9.2":0.00132,"9.3":0.05866,"10.0-10.2":0.00264,"10.3":0.10216,"11.0-11.2":0.25508,"11.3-11.4":1.28199,"12.0-12.1":0.03757,"12.2-12.4":0.13248,"13.0-13.1":0.04152,"13.2":0.01516,"13.3":0.10612,"13.4-13.7":0.34538,"14.0-14.4":1.33802,"14.5-14.7":2.44139},E:{"4":0,"14":0.04286,"15":0.00429,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1","5.1":0.01072,"10.1":0.00214,"11.1":0.00429,"12.1":0.00429,"13.1":0.05572,"14.1":0.08143},B:{"12":0.01714,"13":0.01929,"14":0.00857,"15":0.00214,"16":0.01286,"17":0.015,"18":0.12858,"83":0.00429,"84":0.01072,"85":0.015,"87":0.00214,"88":0.00429,"89":0.02143,"90":0.01286,"91":0.21644,"92":1.71654,_:"79 80 81 86 93"},P:{"4":0.09555,"5.0-5.4":0.0637,"6.2-6.4":0.02058,"7.2-7.4":0.08493,"8.2":0.02077,"9.2":0.11678,"10.1":0.02111,"11.1-11.2":0.08493,"12.0":0.04246,"13.0":0.11678,"14.0":0.55204},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00388,"4.2-4.3":0.00969,"4.4":0,"4.4.3-4.4.4":0.2064},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.36431,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.01571},N:{_:"10 11"},R:{_:"0"},M:{"0":0.15712},Q:{"10.4":0.15712},O:{"0":0.76203},H:{"0":3.68903},L:{"0":70.63074},S:{"2.5":0.02357}}; diff --git a/node_modules/caniuse-lite/data/regions/BG.js b/node_modules/caniuse-lite/data/regions/BG.js new file mode 100644 index 00000000..5f64eedd --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BG.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00418,"36":0.00418,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00418,"49":0,"50":0,"51":0.00418,"52":0.10438,"53":0,"54":0,"55":0.00418,"56":0.00418,"57":0,"58":0,"59":0,"60":0.00835,"61":0,"62":0.00418,"63":0.00835,"64":0,"65":0.02505,"66":0.00418,"67":0.00418,"68":0.02923,"69":0,"70":0.00418,"71":0,"72":0.01253,"73":0,"74":0,"75":0.00835,"76":0.00418,"77":0,"78":0.19205,"79":0.00418,"80":0.00835,"81":0.00835,"82":0.00418,"83":0.00835,"84":0.02088,"85":0.00835,"86":0.00835,"87":0.01253,"88":0.0334,"89":0.07098,"90":1.01035,"91":1.27755,"92":0.0167,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00418,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00418,"49":0.21293,"50":0,"51":0,"52":0,"53":0.00418,"54":0,"55":0,"56":0.00835,"57":0,"58":0.00835,"59":0,"60":0,"61":0.12108,"62":0,"63":0.00835,"64":0,"65":0.01253,"66":0.00418,"67":0.00418,"68":0.00418,"69":0.0167,"70":0.00418,"71":0.00418,"72":0.00418,"73":0.00418,"74":0.00418,"75":0.00835,"76":0.00418,"77":0.01253,"78":0.00418,"79":0.06263,"80":0.02088,"81":0.0668,"83":0.01253,"84":0.0167,"85":0.0167,"86":0.02505,"87":0.05428,"88":0.0334,"89":0.0501,"90":0.06263,"91":0.41333,"92":10.32478,"93":0.0167,"94":0.00418,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00418,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00418,"37":0,"38":0,"39":0,"40":0.00418,"41":0,"42":0,"43":0,"44":0,"45":0.00418,"46":0.00418,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00835,"60":0,"62":0,"63":0,"64":0,"65":0.00418,"66":0.00418,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.35488,"78":0.27555,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00606,"6.0-6.1":0.00242,"7.0-7.1":0.0206,"8.1-8.4":0.00121,"9.0-9.2":0.00363,"9.3":0.05694,"10.0-10.2":0.01333,"10.3":0.11752,"11.0-11.2":0.03877,"11.3-11.4":0.06542,"12.0-12.1":0.04119,"12.2-12.4":0.126,"13.0-13.1":0.02544,"13.2":0.00969,"13.3":0.09207,"13.4-13.7":0.32711,"14.0-14.4":1.25512,"14.5-14.7":9.41222},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00835,"14":0.05428,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00835,"12.1":0.01253,"13.1":0.02923,"14.1":0.22963},B:{"12":0,"13":0,"14":0.00418,"15":0.00418,"16":0.00418,"17":0.00418,"18":0.01253,"79":0,"80":0,"81":0,"83":0,"84":0.00418,"85":0,"86":0.00418,"87":0,"88":0.00418,"89":0.00835,"90":0.00418,"91":0.02505,"92":0.97695,"93":0},P:{"4":0.08131,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02033,"8.2":0.01016,"9.2":0.03049,"10.1":0.02033,"11.1-11.2":0.10164,"12.0":0.05082,"13.0":0.15245,"14.0":2.36812},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01124,"4.2-4.3":0.03091,"4.4":0,"4.4.3-4.4.4":0.27542},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.30895,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.2097},Q:{"10.4":0.00583},O:{"0":0.04078},H:{"0":0.28677},L:{"0":65.93093},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BH.js b/node_modules/caniuse-lite/data/regions/BH.js new file mode 100644 index 00000000..d2ea5c04 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BH.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00357,"36":0.01071,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00714,"53":0.00357,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.01071,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.13209,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00714,"78":0.00357,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.02142,"89":0.00714,"90":0.20349,"91":0.24633,"92":0.00357,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00357,"35":0,"36":0,"37":0,"38":0.00357,"39":0,"40":0,"41":0,"42":0,"43":0.00357,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.09282,"50":0,"51":0,"52":0.00357,"53":0.00714,"54":0,"55":0,"56":0.01428,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00357,"64":0.00357,"65":0.00714,"66":0,"67":0.00714,"68":0,"69":0.01428,"70":0.00357,"71":0.00357,"72":0,"73":0.00357,"74":0.01071,"75":0.00357,"76":0.00714,"77":0.01071,"78":0.00357,"79":0.02499,"80":0.01428,"81":0.01785,"83":0.01428,"84":0.04284,"85":0.16065,"86":0.04641,"87":0.06783,"88":0.02499,"89":0.04284,"90":0.03927,"91":0.34629,"92":8.0325,"93":0.01785,"94":0.00357,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00357,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01428,"60":0,"62":0.00357,"63":0,"64":0.00714,"65":0.00357,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.00357,"72":0,"73":0,"74":0,"75":0.00357,"76":0.00714,"77":0.05712,"78":0.01428,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01237,"6.0-6.1":0,"7.0-7.1":0.04204,"8.1-8.4":0.01237,"9.0-9.2":0,"9.3":0.2028,"10.0-10.2":0.04204,"10.3":0.11129,"11.0-11.2":0.10635,"11.3-11.4":0.09398,"12.0-12.1":0.04699,"12.2-12.4":0.1385,"13.0-13.1":0.05688,"13.2":0.03463,"13.3":0.18054,"13.4-13.7":0.73949,"14.0-14.4":3.5367,"14.5-14.7":18.62332},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.02142,"14":0.21063,"15":0.00357,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00357,"11.1":0.01785,"12.1":0.03213,"13.1":0.11067,"14.1":0.73542},B:{"12":0,"13":0.00357,"14":0,"15":0.00357,"16":0,"17":0.00357,"18":0.01785,"79":0,"80":0.00357,"81":0,"83":0,"84":0.00357,"85":0.00357,"86":0,"87":0.00357,"88":0,"89":0.00714,"90":0,"91":0.03927,"92":1.13883,"93":0},P:{"4":0.27708,"5.0-5.4":0.01026,"6.2-6.4":0.01026,"7.2-7.4":0.09236,"8.2":0.01026,"9.2":0.04105,"10.1":0.02052,"11.1-11.2":0.23603,"12.0":0.16419,"13.0":0.23603,"14.0":3.36599},I:{"0":0,"3":0,"4":0.00134,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00269,"4.2-4.3":0.00807,"4.4":0,"4.4.3-4.4.4":0.05646},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00367,"9":0,"10":0,"11":0.12485,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.21219},Q:{"10.4":0},O:{"0":3.38861},H:{"0":0.66963},L:{"0":51.16107},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BI.js b/node_modules/caniuse-lite/data/regions/BI.js new file mode 100644 index 00000000..397240b1 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BI.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.03935,"5":0,"6":0,"7":0.00394,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00787,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00394,"37":0,"38":0,"39":0,"40":0.00394,"41":0.00394,"42":0,"43":0.00394,"44":0,"45":0.00394,"46":0,"47":0.00787,"48":0,"49":0,"50":0,"51":0,"52":0.04722,"53":0,"54":0.00787,"55":0,"56":0.01181,"57":0.01181,"58":0,"59":0,"60":0.02361,"61":0.00787,"62":0,"63":0,"64":0,"65":0,"66":0.00394,"67":0,"68":0,"69":0,"70":0.00394,"71":0,"72":0.00787,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01968,"79":0,"80":0,"81":0,"82":0.00394,"83":0.00787,"84":0,"85":0.00394,"86":0.00394,"87":0,"88":0.02755,"89":0.45253,"90":0.68076,"91":1.0113,"92":0.01968,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00394,"24":0,"25":0,"26":0.00394,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00787,"41":0,"42":0,"43":0.01181,"44":0,"45":0,"46":0,"47":0.01181,"48":0,"49":0.01574,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00394,"57":0,"58":0,"59":0,"60":0.00394,"61":0,"62":0,"63":0.00394,"64":0.00394,"65":0.00394,"66":0,"67":0,"68":0.00394,"69":0,"70":0.00394,"71":0.01574,"72":0,"73":0.00787,"74":0.01181,"75":0.00394,"76":0.00394,"77":0,"78":0,"79":0.01181,"80":0.01181,"81":0.29119,"83":0.00787,"84":0.01181,"85":0.01181,"86":0.03148,"87":0.2243,"88":0.02755,"89":0.01968,"90":0.16134,"91":0.46827,"92":8.3422,"93":0.01181,"94":0.01574,"95":0,"96":0},F:{"9":0,"11":0,"12":0.00394,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00787,"21":0.00394,"22":0,"23":0,"24":0.00787,"25":0,"26":0.01181,"27":0,"28":0.00787,"29":0.00787,"30":0.01574,"31":0.01181,"32":0.00394,"33":0.01968,"34":0,"35":0.00787,"36":0.00394,"37":0.01574,"38":0.00394,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.01181,"46":0.00787,"47":0.03542,"48":0,"49":0,"50":0.01574,"51":0.03542,"52":0,"53":0,"54":0.04329,"55":0.08264,"56":0.03935,"57":0.10231,"58":0.57451,"60":0,"62":0,"63":0,"64":0,"65":0.03935,"66":0,"67":0,"68":0,"69":0,"70":0.00394,"71":0,"72":0,"73":0,"74":0.00394,"75":0,"76":0.00394,"77":0.27152,"78":0.10231,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0.00394,"11.5":0,"11.6":0,"12.1":0.01181},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01726,"6.0-6.1":0.00108,"7.0-7.1":0.08305,"8.1-8.4":0.01348,"9.0-9.2":0.00108,"9.3":0.03344,"10.0-10.2":0.00108,"10.3":0.05501,"11.0-11.2":0.07604,"11.3-11.4":0.24107,"12.0-12.1":0.3279,"12.2-12.4":0.47782,"13.0-13.1":0.04368,"13.2":0.02966,"13.3":0.14993,"13.4-13.7":0.11865,"14.0-14.4":0.91035,"14.5-14.7":2.36539},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00787,"14":0.03935,"15":0.00394,_:"0","3.1":0,"3.2":0,"5.1":0.01574,"6.1":0,"7.1":0,"9.1":0.00394,"10.1":0,"11.1":0.00394,"12.1":0.00394,"13.1":0.02755,"14.1":0.11018},B:{"12":0.03542,"13":0.00787,"14":0.00787,"15":0.00394,"16":0.00394,"17":0.00787,"18":0.05116,"79":0,"80":0,"81":0,"83":0.00787,"84":0.00787,"85":0.00394,"86":0,"87":0,"88":0,"89":0.02361,"90":0.00787,"91":0.07477,"92":0.75159,"93":0},P:{"4":0.11646,"5.0-5.4":0.04235,"6.2-6.4":0.04235,"7.2-7.4":0.0847,"8.2":0,"9.2":0.06352,"10.1":0,"11.1-11.2":0.11646,"12.0":0.02117,"13.0":0.07411,"14.0":0.63523},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00629,"4.2-4.3":0.01713,"4.4":0,"4.4.3-4.4.4":0.09019},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00456,"9":0,"10":0.00456,"11":0.07746,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0.00607},R:{_:"0"},M:{"0":0.1213},Q:{"10.4":0.08491},O:{"0":0.39423},H:{"0":11.94326},L:{"0":60.67319},S:{"2.5":0.02426}}; diff --git a/node_modules/caniuse-lite/data/regions/BJ.js b/node_modules/caniuse-lite/data/regions/BJ.js new file mode 100644 index 00000000..95d962ae --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BJ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.0032,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.0032,"44":0,"45":0,"46":0,"47":0.0032,"48":0,"49":0,"50":0.0032,"51":0,"52":0.00641,"53":0,"54":0,"55":0,"56":0.0032,"57":0.0032,"58":0,"59":0,"60":0.0032,"61":0,"62":0,"63":0,"64":0,"65":0.00641,"66":0.0032,"67":0,"68":0.0032,"69":0,"70":0,"71":0,"72":0.01282,"73":0,"74":0.0032,"75":0,"76":0,"77":0,"78":0.10894,"79":0.0032,"80":0,"81":0.00641,"82":0,"83":0,"84":0.0032,"85":0.01602,"86":0.0032,"87":0.01282,"88":0.00961,"89":0.03524,"90":0.33322,"91":0.44215,"92":0.00641,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00641,"24":0,"25":0,"26":0,"27":0,"28":0.0032,"29":0,"30":0,"31":0,"32":0,"33":0.0032,"34":0,"35":0,"36":0,"37":0,"38":0.0032,"39":0,"40":0.00641,"41":0,"42":0,"43":0.00641,"44":0.0032,"45":0,"46":0,"47":0.0032,"48":0,"49":0.0032,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.0032,"56":0,"57":0.0032,"58":0,"59":0,"60":0,"61":0.0032,"62":0.01922,"63":0.00961,"64":0.0032,"65":0.00641,"66":0,"67":0.0032,"68":0.0032,"69":0.02884,"70":0.0032,"71":0.10253,"72":0.00641,"73":0.00961,"74":0.01282,"75":0,"76":0.00641,"77":0.01602,"78":0.0032,"79":0.11214,"80":0.02243,"81":0.02884,"83":0.02563,"84":0.01602,"85":0.02563,"86":0.02243,"87":0.09612,"88":0.03845,"89":0.03204,"90":0.07049,"91":0.49982,"92":4.59454,"93":0.01602,"94":0.0032,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00641,"25":0,"26":0.0032,"27":0.0032,"28":0.00641,"29":0,"30":0.03845,"31":0.0032,"32":0.00641,"33":0.0032,"34":0,"35":0.01282,"36":0,"37":0,"38":0.0032,"39":0,"40":0,"41":0,"42":0.00641,"43":0,"44":0,"45":0,"46":0.02884,"47":0.0032,"48":0,"49":0,"50":0.02884,"51":0.00961,"52":0,"53":0,"54":0.01282,"55":0.05447,"56":0.03204,"57":0.04165,"58":0.15059,"60":0,"62":0,"63":0.0032,"64":0,"65":0.00641,"66":0,"67":0,"68":0.0032,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.0032,"77":0.23069,"78":0.15379,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00641},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00632,"6.0-6.1":0.00281,"7.0-7.1":0.02459,"8.1-8.4":0,"9.0-9.2":0.00141,"9.3":0.04568,"10.0-10.2":0.01124,"10.3":0.04076,"11.0-11.2":0.06114,"11.3-11.4":0.01335,"12.0-12.1":0.0267,"12.2-12.4":0.31973,"13.0-13.1":0.03443,"13.2":0.01546,"13.3":0.11243,"13.4-13.7":0.23119,"14.0-14.4":1.49957,"14.5-14.7":3.36735},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00641,"14":0.03204,"15":0.0032,_:"0","3.1":0,"3.2":0,"5.1":0.00961,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.03204,"13.1":0.02243,"14.1":0.06408},B:{"12":0.0032,"13":0.0032,"14":0.0032,"15":0.0032,"16":0.0032,"17":0.0032,"18":0.02563,"79":0,"80":0,"81":0,"83":0,"84":0.00961,"85":0.0032,"86":0,"87":0,"88":0,"89":0.00641,"90":0.0032,"91":0.01282,"92":0.39409,"93":0.0032},P:{"4":0.02994,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.07985,"8.2":0,"9.2":0.01996,"10.1":0,"11.1-11.2":0.01996,"12.0":0.02994,"13.0":0.06987,"14.0":0.3793},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00642,"4.2-4.3":0.00771,"4.4":0,"4.4.3-4.4.4":0.16189},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00458,"9":0,"10":0,"11":0.0595,"5.5":0},J:{"7":0,"10":0.0068},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.12233},Q:{"10.4":0.0068},O:{"0":0.95144},H:{"0":3.94405},L:{"0":77.9544},S:{"2.5":0.08835}}; diff --git a/node_modules/caniuse-lite/data/regions/BM.js b/node_modules/caniuse-lite/data/regions/BM.js new file mode 100644 index 00000000..b473c6a6 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BM.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00577,"36":0.01154,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.01154,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00577,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.09806,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.00577,"89":0.02884,"90":0.40376,"91":0.54796,"92":0.00577,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.02884,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.02884,"64":0,"65":0.0173,"66":0.00577,"67":0.00577,"68":0.00577,"69":0,"70":0,"71":0.0173,"72":0,"73":0.00577,"74":0.10382,"75":0.00577,"76":0.0173,"77":0.08652,"78":0.0173,"79":0.00577,"80":0.01154,"81":0.04038,"83":0.01154,"84":0.02307,"85":0.07498,"86":0.02307,"87":0.06922,"88":0.02307,"89":0.02884,"90":0.09229,"91":1.02094,"92":14.41423,"93":0.01154,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.01154,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0.00577,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00577,"77":0.23072,"78":0.14997,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01783,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.00892,"9.0-9.2":0.1694,"9.3":0.21844,"10.0-10.2":0.02229,"10.3":0.51712,"11.0-11.2":0.20506,"11.3-11.4":0.11145,"12.0-12.1":0.0847,"12.2-12.4":0.20061,"13.0-13.1":0.1694,"13.2":0.03121,"13.3":0.78459,"13.4-13.7":0.54832,"14.0-14.4":3.16958,"14.5-14.7":35.83275},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00577,"12":0.0173,"13":0.08652,"14":0.70946,"15":0.02307,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.02884,"10.1":0.36915,"11.1":0.03461,"12.1":0.10959,"13.1":0.53066,"14.1":5.24888},B:{"12":0,"13":0,"14":0,"15":0,"16":0.02884,"17":0.01154,"18":0.13843,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0.00577,"87":0,"88":0,"89":0,"90":0.00577,"91":0.08075,"92":4.89703,"93":0},P:{"4":0.1405,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01081,"8.2":0.05404,"9.2":0.01081,"10.1":0,"11.1-11.2":0.07566,"12.0":0.01081,"13.0":0.10808,"14.0":3.59902},I:{"0":0,"3":0,"4":0.03692,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00923,"4.4":0,"4.4.3-4.4.4":0.55373},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.50182,"5.5":0},J:{"7":0,"10":0.00423},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.1185},Q:{"10.4":0},O:{"0":0.00423},H:{"0":0.11218},L:{"0":19.47155},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BN.js b/node_modules/caniuse-lite/data/regions/BN.js new file mode 100644 index 00000000..d93d6a74 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BN.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.01195,"32":0.00796,"43":0.00796,"45":0.01195,"47":0.00796,"48":0.01195,"52":0.03982,"66":0.01195,"68":0.00796,"72":0.00398,"73":0.02389,"78":0.03186,"80":0.00796,"81":0.01195,"82":0.00398,"83":0.00796,"84":0.00796,"86":0.01593,"88":0.05177,"89":0.06769,"90":0.87604,"91":1.36184,"92":0.03584,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 33 34 35 36 37 38 39 40 41 42 44 46 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 69 70 71 74 75 76 77 79 85 87 93 3.5 3.6"},D:{"26":0.00796,"34":0.00398,"38":0.06371,"47":0.12344,"49":0.32652,"50":0.00398,"53":0.01593,"55":0.07566,"56":0.02389,"60":0.01195,"62":0.02389,"63":0.00796,"64":0.03186,"65":0.01593,"66":0.00796,"67":0.03584,"68":0.00398,"70":0.0438,"71":0.00796,"72":0.03186,"73":0.01991,"74":0.02787,"75":0.04778,"78":0.00796,"79":0.21503,"80":0.03186,"81":0.09955,"83":0.02389,"84":0.03186,"85":0.01593,"86":0.03186,"87":0.11548,"88":0.19512,"89":0.05177,"90":0.15132,"91":0.884,"92":25.36932,"93":0.10751,"94":0.03186,"95":0.00398,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 51 52 54 57 58 59 61 69 76 77 96"},F:{"28":0.01195,"36":0.01195,"46":0.01593,"77":0.37033,"78":0.38227,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00149,"5.0-5.1":0,"6.0-6.1":0.0134,"7.0-7.1":0.15777,"8.1-8.4":0.02233,"9.0-9.2":0.01935,"9.3":0.53286,"10.0-10.2":0.01637,"10.3":0.29173,"11.0-11.2":0.06251,"11.3-11.4":0.05805,"12.0-12.1":0.08335,"12.2-12.4":0.1801,"13.0-13.1":0.03572,"13.2":0.02828,"13.3":0.24857,"13.4-13.7":0.41527,"14.0-14.4":1.75635,"14.5-14.7":9.73734},E:{"4":0,"10":0.01195,"11":0.00398,"12":0.01991,"13":0.15928,"14":0.7526,"15":0.01195,_:"0 5 6 7 8 9 3.1 3.2 5.1 6.1 7.1","9.1":0.12742,"10.1":0.03982,"11.1":0.07566,"12.1":0.0876,"13.1":0.39422,"14.1":3.0741},B:{"14":0.01195,"17":0.01593,"18":0.05575,"89":0.00796,"90":0.01195,"91":0.03982,"92":2.13037,_:"12 13 15 16 79 80 81 83 84 85 86 87 88 93"},P:{"4":0.56993,"5.0-5.4":0.01016,"6.2-6.4":0.02058,"7.2-7.4":0.04222,"8.2":0.02077,"9.2":0.02111,"10.1":0.02111,"11.1-11.2":0.09499,"12.0":0.04222,"13.0":0.21109,"14.0":1.69924},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00174,"4.2-4.3":0.01215,"4.4":0,"4.4.3-4.4.4":0.04629},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00398,"11":0.11946,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},R:{_:"0"},M:{"0":0.22868},Q:{"10.4":0},O:{"0":2.25675},H:{"0":2.29607},L:{"0":39.03996},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BO.js b/node_modules/caniuse-lite/data/regions/BO.js new file mode 100644 index 00000000..d5c13974 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BO.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00402,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00803,"40":0,"41":0,"42":0,"43":0.00402,"44":0,"45":0,"46":0,"47":0.00402,"48":0,"49":0,"50":0,"51":0,"52":0.02008,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00402,"62":0,"63":0,"64":0,"65":0,"66":0.00402,"67":0,"68":0.00402,"69":0,"70":0,"71":0,"72":0.01205,"73":0.00402,"74":0,"75":0,"76":0.00402,"77":0,"78":0.02008,"79":0.00402,"80":0,"81":0.00402,"82":0.00402,"83":0.00402,"84":0.00803,"85":0.00402,"86":0.00803,"87":0.00402,"88":0.01606,"89":0.03614,"90":0.4015,"91":0.6143,"92":0.00803,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.00402,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00402,"39":0,"40":0,"41":0,"42":0,"43":0.00402,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03614,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.00402,"63":0.00402,"64":0.00402,"65":0.00402,"66":0.00402,"67":0.00402,"68":0.00402,"69":0.01606,"70":0.01606,"71":0.00402,"72":0.00803,"73":0.00402,"74":0.00803,"75":0.00402,"76":0.00803,"77":0.00803,"78":0.01205,"79":0.03212,"80":0.02008,"81":0.02008,"83":0.01205,"84":0.01205,"85":0.12045,"86":0.02008,"87":0.06023,"88":0.04417,"89":0.02811,"90":0.06826,"91":0.83512,"92":11.14564,"93":0.00402,"94":0.00402,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00402,"55":0.00402,"56":0.00402,"57":0.00402,"58":0.04015,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.34931,"78":0.3212,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00659,"6.0-6.1":0.00543,"7.0-7.1":0.01666,"8.1-8.4":0.00194,"9.0-9.2":0.00543,"9.3":0.04766,"10.0-10.2":0.00233,"10.3":0.02596,"11.0-11.2":0.01356,"11.3-11.4":0.01589,"12.0-12.1":0.00698,"12.2-12.4":0.03875,"13.0-13.1":0.00465,"13.2":0.00504,"13.3":0.02635,"13.4-13.7":0.10812,"14.0-14.4":0.40534,"14.5-14.7":2.82767},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00803,"14":0.02811,"15":0.00402,_:"0","3.1":0,"3.2":0,"5.1":0.06826,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00402,"12.1":0.00402,"13.1":0.02811,"14.1":0.13651},B:{"12":0,"13":0,"14":0,"15":0.00402,"16":0.00402,"17":0.00402,"18":0.01606,"79":0,"80":0,"81":0,"83":0,"84":0.00402,"85":0,"86":0,"87":0,"88":0,"89":0.00803,"90":0.00402,"91":0.01606,"92":0.6946,"93":0},P:{"4":0.48732,"5.0-5.4":0.0203,"6.2-6.4":0.01015,"7.2-7.4":0.59899,"8.2":0.0203,"9.2":0.10152,"10.1":0.04061,"11.1-11.2":0.32488,"12.0":0.13198,"13.0":0.4264,"14.0":2.43658},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00922,"4.2-4.3":0.01997,"4.4":0,"4.4.3-4.4.4":0.18892},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00482,"9":0,"10":0,"11":0.04336,"5.5":0},J:{"7":0,"10":0.08978},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.17955},Q:{"10.4":0},O:{"0":0.2394},H:{"0":0.39663},L:{"0":72.599},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BR.js b/node_modules/caniuse-lite/data/regions/BR.js new file mode 100644 index 00000000..38a17597 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00489,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00489,"36":0.00489,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01466,"53":0,"54":0,"55":0,"56":0.00489,"57":0,"58":0,"59":0,"60":0.00489,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00489,"67":0.00489,"68":0.00977,"69":0,"70":0,"71":0,"72":0.00489,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.0342,"79":0.00489,"80":0.00489,"81":0.00489,"82":0.00489,"83":0.00489,"84":0.00489,"85":0.00489,"86":0.00489,"87":0.00489,"88":0.01954,"89":0.02932,"90":0.40065,"91":0.58632,"92":0.00489,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00489,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00489,"39":0,"40":0,"41":0,"42":0,"43":0.00489,"44":0,"45":0,"46":0,"47":0.00489,"48":0,"49":0.04886,"50":0,"51":0.00489,"52":0,"53":0.00489,"54":0,"55":0.00489,"56":0,"57":0,"58":0.00489,"59":0,"60":0,"61":0.05863,"62":0,"63":0.00977,"64":0,"65":0.00489,"66":0,"67":0.00489,"68":0.00489,"69":0.00489,"70":0.00489,"71":0.00489,"72":0.00489,"73":0.00489,"74":0.01466,"75":0.02443,"76":0.00977,"77":0.00489,"78":0.01466,"79":0.07818,"80":0.01954,"81":0.02932,"83":0.02932,"84":0.03909,"85":0.03909,"86":0.04886,"87":0.20521,"88":0.02932,"89":0.05375,"90":0.09283,"91":1.02117,"92":16.91045,"93":0.04886,"94":0.01466,"95":0.00489,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00489,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01466,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00489,"76":0,"77":0.67915,"78":0.60586,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00096,"3.2":0.00192,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01249,"6.0-6.1":0.00577,"7.0-7.1":0.00577,"8.1-8.4":0.00192,"9.0-9.2":0.00192,"9.3":0.05573,"10.0-10.2":0.0048,"10.3":0.06342,"11.0-11.2":0.01441,"11.3-11.4":0.02594,"12.0-12.1":0.01633,"12.2-12.4":0.06342,"13.0-13.1":0.02018,"13.2":0.00673,"13.3":0.07014,"13.4-13.7":0.26712,"14.0-14.4":0.96855,"14.5-14.7":7.55048},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00977,"14":0.04397,"15":0.00489,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00489,"12.1":0.00977,"13.1":0.04397,"14.1":0.22476},B:{"12":0,"13":0,"14":0,"15":0.00489,"16":0.00489,"17":0.00489,"18":0.0342,"79":0,"80":0,"81":0,"83":0,"84":0.00489,"85":0.00489,"86":0,"87":0,"88":0,"89":0.00977,"90":0.00489,"91":0.02932,"92":1.47557,"93":0.00489},P:{"4":0.18037,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.19039,"8.2":0,"9.2":0.03006,"10.1":0.02004,"11.1-11.2":0.15031,"12.0":0.04008,"13.0":0.15031,"14.0":1.85378},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.012,"4.2-4.3":0.0264,"4.4":0,"4.4.3-4.4.4":0.12},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01024,"9":0,"10":0.00512,"11":0.09214,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.13808},Q:{"10.4":0.00511},O:{"0":0.12785},H:{"0":0.1743},L:{"0":62.18704},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BS.js b/node_modules/caniuse-lite/data/regions/BS.js new file mode 100644 index 00000000..a85779a0 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BS.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00463,"36":0.00926,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.00463,"46":0,"47":0,"48":0.01851,"49":0,"50":0,"51":0,"52":0.00926,"53":0.00463,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.01388,"77":0,"78":0.01851,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0.00926,"86":0,"87":0,"88":0.0324,"89":0.01851,"90":0.32396,"91":0.37024,"92":0.00926,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.06942,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00463,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00926,"66":0,"67":0.00463,"68":0,"69":0.00463,"70":0.00463,"71":0,"72":0.00463,"73":0.00463,"74":0.2638,"75":0.01851,"76":0.20826,"77":0.0324,"78":0.00463,"79":0.01388,"80":0.00463,"81":0.00926,"83":0.0324,"84":0.00463,"85":0.00463,"86":0.00926,"87":0.0324,"88":0.01851,"89":0.03702,"90":0.05091,"91":0.70808,"92":9.12642,"93":0.01388,"94":0.00926,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00463,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.09256,"78":0.07405,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.01452,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0029,"6.0-6.1":0,"7.0-7.1":0.0029,"8.1-8.4":0.0029,"9.0-9.2":0.0029,"9.3":0.1742,"10.0-10.2":0,"10.3":0.24678,"11.0-11.2":0.09581,"11.3-11.4":0.04645,"12.0-12.1":0.05516,"12.2-12.4":0.21485,"13.0-13.1":0.06097,"13.2":0.00871,"13.3":0.2584,"13.4-13.7":0.54873,"14.0-14.4":3.06883,"14.5-14.7":23.10189},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00463,"13":0.02314,"14":0.31008,"15":0.00463,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00926,"11.1":0.02314,"12.1":0.04628,"13.1":0.28231,"14.1":1.86508},B:{"12":0,"13":0.01388,"14":0,"15":0.00926,"16":0.01388,"17":0.01851,"18":0.06016,"79":0,"80":0,"81":0,"83":0,"84":0.00463,"85":0.00463,"86":0.0324,"87":0,"88":0,"89":0.00926,"90":0.00463,"91":0.09256,"92":3.30902,"93":0.00463},P:{"4":0.09473,"5.0-5.4":0.01053,"6.2-6.4":0,"7.2-7.4":0.4105,"8.2":0,"9.2":0.14736,"10.1":0.03158,"11.1-11.2":0.83153,"12.0":0.14736,"13.0":0.3263,"14.0":5.01023},I:{"0":0,"3":0,"4":0.05592,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.05592,"4.4":0,"4.4.3-4.4.4":0.876},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.2314,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.1719},Q:{"10.4":0},O:{"0":0.01074},H:{"0":0.03052},L:{"0":42.01037},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BT.js b/node_modules/caniuse-lite/data/regions/BT.js new file mode 100644 index 00000000..0fc2d271 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BT.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00549,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00549,"69":0,"70":0,"71":0,"72":0.00275,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01098,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0.00275,"87":0.00549,"88":0.00549,"89":0.01648,"90":0.0714,"91":0.11259,"92":0.01098,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00275,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00275,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03021,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00549,"66":0.00275,"67":0.00549,"68":0,"69":0.00549,"70":0.00275,"71":0.00275,"72":0.00275,"73":0,"74":0.00275,"75":0.00275,"76":0.00549,"77":0,"78":0.00549,"79":0.00549,"80":0.00824,"81":0.00549,"83":0.00275,"84":0.00275,"85":0.00824,"86":0.00549,"87":0.04668,"88":0.00275,"89":0.01648,"90":0.06041,"91":0.20046,"92":5.60459,"93":0.03021,"94":0.01922,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00275,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00275,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00275,"57":0,"58":0.02471,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.04394,"78":0.02746,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00188,"7.0-7.1":0.01035,"8.1-8.4":0.00094,"9.0-9.2":0,"9.3":0.08186,"10.0-10.2":0.00188,"10.3":0.02541,"11.0-11.2":0.07057,"11.3-11.4":0.02917,"12.0-12.1":0.0414,"12.2-12.4":0.2136,"13.0-13.1":0.02352,"13.2":0.02635,"13.3":0.12891,"13.4-13.7":0.45637,"14.0-14.4":2.38629,"14.5-14.7":5.40492},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00275,"13":0.00549,"14":0.09336,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00275,"10.1":0.00275,"11.1":0.01098,"12.1":0.01648,"13.1":0.02471,"14.1":0.10709},B:{"12":0.00824,"13":0.00549,"14":0.00275,"15":0.00275,"16":0.00275,"17":0.00275,"18":0.01648,"79":0,"80":0,"81":0,"83":0,"84":0.00824,"85":0.00824,"86":0,"87":0.01098,"88":0.00275,"89":0.00549,"90":0.00824,"91":0.0357,"92":0.38444,"93":0},P:{"4":0.35505,"5.0-5.4":0,"6.2-6.4":0.01014,"7.2-7.4":0.19274,"8.2":0.02029,"9.2":0.23332,"10.1":0.02029,"11.1-11.2":0.16231,"12.0":0.0913,"13.0":0.31447,"14.0":1.18688},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.01549},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01373,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.01451},Q:{"10.4":0},O:{"0":4.72961},H:{"0":0.24723},L:{"0":74.10502},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BW.js b/node_modules/caniuse-lite/data/regions/BW.js new file mode 100644 index 00000000..7049cf55 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BW.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00438,"30":0,"31":0,"32":0.00438,"33":0,"34":0.01313,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00438,"41":0,"42":0,"43":0.00438,"44":0,"45":0,"46":0,"47":0.00875,"48":0.00438,"49":0.00438,"50":0.00438,"51":0,"52":0.05688,"53":0,"54":0,"55":0,"56":0.00438,"57":0,"58":0,"59":0,"60":0.00438,"61":0.00438,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00438,"69":0,"70":0.00438,"71":0,"72":0,"73":0,"74":0.00875,"75":0.00438,"76":0,"77":0,"78":0.02625,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00438,"85":0,"86":0.00438,"87":0,"88":0.04375,"89":0.07,"90":0.4725,"91":0.63438,"92":0.06125,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00875,"40":0.00875,"41":0,"42":0,"43":0.00438,"44":0,"45":0,"46":0.00875,"47":0,"48":0,"49":0.16188,"50":0,"51":0,"52":0,"53":0.00438,"54":0,"55":0,"56":0,"57":0.0175,"58":0.00438,"59":0,"60":0.00438,"61":0.01313,"62":0,"63":0.01313,"64":0,"65":0,"66":0.00875,"67":0.02625,"68":0.00875,"69":0.01313,"70":0.01313,"71":0.00438,"72":0,"73":0.00438,"74":0.00875,"75":0.00438,"76":0.00875,"77":0.00875,"78":0.00438,"79":0.03063,"80":0.02188,"81":0.2275,"83":0.0175,"84":0.0175,"85":0.02625,"86":0.0525,"87":0.105,"88":0.035,"89":0.06563,"90":0.175,"91":0.82688,"92":9.69063,"93":0.00438,"94":0.00875,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00438,"27":0,"28":0.00438,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00438,"55":0,"56":0,"57":0.0175,"58":0.16188,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00438,"77":0.25813,"78":0.1575,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0.00066,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.06172,"6.0-6.1":0.00664,"7.0-7.1":0.35438,"8.1-8.4":0.00265,"9.0-9.2":0.00066,"9.3":0.13405,"10.0-10.2":0.00199,"10.3":0.10817,"11.0-11.2":0.04513,"11.3-11.4":0.04911,"12.0-12.1":0.10884,"12.2-12.4":0.05774,"13.0-13.1":0.00863,"13.2":0.00265,"13.3":0.03584,"13.4-13.7":0.24422,"14.0-14.4":0.66828,"14.5-14.7":4.20613},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00875,"13":0.00438,"14":0.10063,"15":0.00438,_:"0","3.1":0,"3.2":0,"5.1":0.00438,"6.1":0,"7.1":0.00438,"9.1":0,"10.1":0,"11.1":0.00438,"12.1":0.01313,"13.1":0.07,"14.1":0.34563},B:{"12":0.0175,"13":0.01313,"14":0.01313,"15":0.0175,"16":0.02188,"17":0.0175,"18":0.09188,"79":0,"80":0.01313,"81":0.00438,"83":0,"84":0.01313,"85":0.00438,"86":0,"87":0.00438,"88":0.00438,"89":0.07438,"90":0.0175,"91":0.07875,"92":1.82875,"93":0.00438},P:{"4":0.42192,"5.0-5.4":0.01029,"6.2-6.4":0.02058,"7.2-7.4":0.42192,"8.2":0,"9.2":0.09262,"10.1":0.06174,"11.1-11.2":0.2264,"12.0":0.12349,"13.0":0.24698,"14.0":1.87293},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00291,"4.2-4.3":0.00582,"4.4":0,"4.4.3-4.4.4":0.14065},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.0057,"10":0.0057,"11":0.64923,"5.5":0},J:{"7":0,"10":0.03375},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.12938},Q:{"10.4":0.0225},O:{"0":1.5525},H:{"0":0.94259},L:{"0":67.45},S:{"2.5":0.0225}}; diff --git a/node_modules/caniuse-lite/data/regions/BY.js b/node_modules/caniuse-lite/data/regions/BY.js new file mode 100644 index 00000000..e30508e1 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BY.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00615,"13":0,"14":0.00615,"15":0,"16":0,"17":0,"18":0.00615,"19":0,"20":0,"21":0.00615,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00615,"36":0.00615,"37":0,"38":0,"39":0,"40":0,"41":0.00615,"42":0.00615,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00615,"49":0,"50":0.0123,"51":0,"52":0.07381,"53":0.00615,"54":0,"55":0.00615,"56":0.00615,"57":0.00615,"58":0,"59":0,"60":0.00615,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00615,"67":0,"68":0.0123,"69":0,"70":0,"71":0.0123,"72":0.00615,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.06151,"79":0,"80":0.00615,"81":0.0246,"82":0.00615,"83":0.00615,"84":0.0123,"85":0.00615,"86":0.00615,"87":0.00615,"88":0.03691,"89":0.07996,"90":0.75042,"91":1.02722,"92":0.0246,"93":0,"3.5":0,"3.6":0.00615},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00615,"23":0,"24":0.00615,"25":0.00615,"26":0.00615,"27":0.00615,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00615,"35":0,"36":0,"37":0.00615,"38":0.00615,"39":0.00615,"40":0,"41":0,"42":0.00615,"43":0.00615,"44":0.00615,"45":0.00615,"46":0.00615,"47":0.0123,"48":0.01845,"49":0.41212,"50":0.0123,"51":0.0123,"52":0,"53":0.04306,"54":0,"55":0,"56":0.00615,"57":0.00615,"58":0.0123,"59":0.01845,"60":0.00615,"61":0.00615,"62":0,"63":0.00615,"64":0.00615,"65":0.00615,"66":0.0123,"67":0.00615,"68":0.0123,"69":0.12302,"70":0.00615,"71":0.00615,"72":0.00615,"73":0.03691,"74":0.03691,"75":0.0246,"76":0.00615,"77":0.0123,"78":0.01845,"79":0.15378,"80":0.03691,"81":0.03691,"83":0.03076,"84":0.05536,"85":0.08611,"86":0.12917,"87":0.20913,"88":0.17223,"89":0.10457,"90":0.23374,"91":0.96571,"92":19.17882,"93":0.0246,"94":0.01845,"95":0.00615,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00615,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00615,"29":0,"30":0,"31":0.00615,"32":0,"33":0,"34":0.0123,"35":0.0123,"36":0.09227,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0.00615,"54":0.00615,"55":0.00615,"56":0.00615,"57":0,"58":0.06151,"60":0.00615,"62":0,"63":0,"64":0.01845,"65":0.0123,"66":0,"67":0,"68":0.00615,"69":0,"70":0.0123,"71":0.0123,"72":0.0123,"73":0.00615,"74":0.00615,"75":0.0123,"76":0.09227,"77":2.79255,"78":1.92526,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.22759},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00092,"6.0-6.1":0.00368,"7.0-7.1":0.00368,"8.1-8.4":0.00092,"9.0-9.2":0.00368,"9.3":0.15005,"10.0-10.2":0.01933,"10.3":0.1031,"11.0-11.2":0.09297,"11.3-11.4":0.03682,"12.0-12.1":0.05339,"12.2-12.4":0.11875,"13.0-13.1":0.0313,"13.2":0.02393,"13.3":0.06536,"13.4-13.7":0.33599,"14.0-14.4":1.40932,"14.5-14.7":6.26416},E:{"4":0,"5":0,"6":0,"7":0.00615,"8":0.00615,"9":0,"10":0,"11":0,"12":0.00615,"13":0.03076,"14":0.3014,"15":0.0123,_:"0","3.1":0,"3.2":0,"5.1":0.14147,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00615,"11.1":0.0246,"12.1":0.0246,"13.1":0.13532,"14.1":0.97801},B:{"12":0,"13":0,"14":0.0123,"15":0,"16":0.00615,"17":0.0123,"18":0.03076,"79":0,"80":0,"81":0,"83":0.00615,"84":0.00615,"85":0,"86":0,"87":0,"88":0,"89":0.00615,"90":0,"91":0.01845,"92":1.24865,"93":0},P:{"4":0.06097,"5.0-5.4":0,"6.2-6.4":0.17274,"7.2-7.4":0.02032,"8.2":0,"9.2":0.02032,"10.1":0,"11.1-11.2":0.06097,"12.0":0.10161,"13.0":0.12194,"14.0":1.1584},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.012,"4.2-4.3":0.016,"4.4":0,"4.4.3-4.4.4":0.082},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02516,"9":0.00839,"10":0,"11":0.24324,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.14241},Q:{"10.4":0.13087},O:{"0":0.32717},H:{"0":1.12235},L:{"0":45.18733},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/BZ.js b/node_modules/caniuse-lite/data/regions/BZ.js new file mode 100644 index 00000000..0e3ecb97 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/BZ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00466,"53":0,"54":0.00466,"55":0,"56":0.00466,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00931,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.05588,"79":0,"80":0,"81":0.30736,"82":0.17231,"83":0.00466,"84":0,"85":0.00466,"86":0.00931,"87":0.00931,"88":0.00466,"89":0.0326,"90":0.40982,"91":0.6287,"92":0.01397,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00466,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00466,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.12574,"50":0,"51":0,"52":0,"53":0.00931,"54":0,"55":0,"56":0,"57":0.00466,"58":0,"59":0.00466,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00931,"66":0,"67":0,"68":0,"69":0.00466,"70":0.00466,"71":0,"72":0,"73":0,"74":0.15368,"75":0.02329,"76":0.05588,"77":0.00466,"78":0,"79":0.02329,"80":0.01397,"81":0.02794,"83":0.00931,"84":0.01863,"85":0.01397,"86":0.04657,"87":0.05123,"88":0.18628,"89":0.07451,"90":0.04657,"91":0.77772,"92":9.92872,"93":0.02329,"94":0.00466,"95":0.00466,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0978,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.22819,"78":0.82429,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.04573,"6.0-6.1":0,"7.0-7.1":0.09146,"8.1-8.4":0.27058,"9.0-9.2":0.08194,"9.3":0.40396,"10.0-10.2":0.00381,"10.3":0.40968,"11.0-11.2":0.15625,"11.3-11.4":0.28963,"12.0-12.1":0.02668,"12.2-12.4":0.10671,"13.0-13.1":0.04573,"13.2":0.00191,"13.3":0.08194,"13.4-13.7":0.3811,"14.0-14.4":2.05601,"14.5-14.7":13.4527},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00466,"12":0.01397,"13":0.00931,"14":0.26545,"15":0.00466,_:"0","3.1":0,"3.2":0,"5.1":0.00466,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00466,"11.1":0.06054,"12.1":0.00466,"13.1":0.06986,"14.1":0.97797},B:{"12":0.00931,"13":0,"14":0,"15":0.00466,"16":0,"17":0.00466,"18":0.12108,"79":0,"80":0.00466,"81":0,"83":0.00466,"84":0.00466,"85":0,"86":0,"87":0,"88":0.00931,"89":0.01397,"90":0.00466,"91":0.23751,"92":2.2633,"93":0},P:{"4":0.30766,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.10988,"8.2":0,"9.2":0.03296,"10.1":0.02198,"11.1-11.2":0.24173,"12.0":0.02198,"13.0":0.20877,"14.0":2.75795},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02238,"4.2-4.3":0.35803,"4.4":0,"4.4.3-4.4.4":1.8573},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.08383,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.0748},Q:{"10.4":0.15495},O:{"0":0.20303},H:{"0":0.35409},L:{"0":54.15854},S:{"2.5":0.00534}}; diff --git a/node_modules/caniuse-lite/data/regions/CA.js b/node_modules/caniuse-lite/data/regions/CA.js new file mode 100644 index 00000000..63fae473 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CA.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.02885,"36":0.02308,"37":0,"38":0.01154,"39":0,"40":0,"41":0,"42":0,"43":0.01154,"44":0.04038,"45":0.01154,"46":0,"47":0,"48":0.00577,"49":0,"50":0,"51":0,"52":0.03461,"53":0,"54":0,"55":0.04038,"56":0.00577,"57":0.00577,"58":0,"59":0,"60":0.00577,"61":0,"62":0,"63":0.06923,"64":0,"65":0,"66":0.00577,"67":0.00577,"68":0.01154,"69":0,"70":0.00577,"71":0,"72":0.00577,"73":0,"74":0.00577,"75":0,"76":0,"77":0.00577,"78":0.075,"79":0.00577,"80":0.00577,"81":0.00577,"82":0.01731,"83":0.00577,"84":0.01154,"85":0.00577,"86":0.00577,"87":0.01154,"88":0.02885,"89":0.06923,"90":0.83651,"91":1.18265,"92":0.01154,"93":0,"3.5":0.01154,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00577,"35":0,"36":0,"37":0,"38":0.00577,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.01154,"48":0.10384,"49":0.21345,"50":0,"51":0,"52":0,"53":0.00577,"54":0,"55":0.00577,"56":0.00577,"57":0,"58":0.00577,"59":0.00577,"60":0.01731,"61":0.05192,"62":0.00577,"63":0.00577,"64":0.01154,"65":0.01731,"66":0.00577,"67":0.01731,"68":0.00577,"69":0.01731,"70":0.08654,"71":0.00577,"72":0.02885,"73":0.01154,"74":0.02308,"75":0.01731,"76":0.14423,"77":0.01154,"78":0.01731,"79":0.42114,"80":0.04615,"81":0.02885,"83":0.38652,"84":0.06346,"85":0.04615,"86":0.06923,"87":0.21922,"88":0.05192,"89":0.11538,"90":0.22499,"91":1.37879,"92":15.21285,"93":0.01731,"94":0.00577,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00577,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00577,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01154,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.00577,"72":0,"73":0,"74":0.00577,"75":0,"76":0,"77":0.1673,"78":0.15576,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01454,"6.0-6.1":0.04726,"7.0-7.1":0.05453,"8.1-8.4":0.06908,"9.0-9.2":0.03636,"9.3":0.56352,"10.0-10.2":0.0509,"10.3":0.55625,"11.0-11.2":0.19996,"11.3-11.4":0.15997,"12.0-12.1":0.13815,"12.2-12.4":0.429,"13.0-13.1":0.07998,"13.2":0.05453,"13.3":0.29085,"13.4-13.7":0.96708,"14.0-14.4":3.50111,"14.5-14.7":27.24901},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00577,"9":0.01731,"10":0.00577,"11":0.01154,"12":0.01154,"13":0.06923,"14":0.56536,"15":0.02308,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01154,"10.1":0.02885,"11.1":0.075,"12.1":0.10961,"13.1":0.41537,"14.1":3.32871},B:{"12":0.00577,"13":0.00577,"14":0.00577,"15":0,"16":0.00577,"17":0.075,"18":0.075,"79":0,"80":0,"81":0,"83":0,"84":0.00577,"85":0.00577,"86":0.00577,"87":0.00577,"88":0.00577,"89":0.01154,"90":0.01731,"91":0.10961,"92":3.50178,"93":0.00577},P:{"4":0.13817,"5.0-5.4":0.01063,"6.2-6.4":0,"7.2-7.4":0.01063,"8.2":0,"9.2":0.02126,"10.1":0,"11.1-11.2":0.05314,"12.0":0.03188,"13.0":0.10628,"14.0":2.98652},I:{"0":0,"3":0,"4":0.01156,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00867,"4.2-4.3":0.03469,"4.4":0,"4.4.3-4.4.4":0.20237},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00732,"9":0.02928,"10":0,"11":0.45377,"5.5":0},J:{"7":0,"10":0.01692},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.40195},Q:{"10.4":0.01692},O:{"0":0.17347},H:{"0":0.17224},L:{"0":26.9298},S:{"2.5":0.00423}}; diff --git a/node_modules/caniuse-lite/data/regions/CD.js b/node_modules/caniuse-lite/data/regions/CD.js new file mode 100644 index 00000000..6c9b1488 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CD.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00374,"21":0.00187,"32":0.00187,"38":0.00187,"40":0.00187,"41":0.00561,"43":0.00561,"44":0.00187,"47":0.00561,"48":0.00187,"49":0.00187,"52":0.00748,"56":0.00561,"57":0.01308,"58":0.00187,"60":0.00374,"66":0.00187,"68":0.00374,"69":0.00187,"72":0.00935,"77":0.00374,"78":0.04859,"79":0.01308,"80":0.00187,"83":0.00187,"84":0.00561,"85":0.01682,"86":0.00374,"87":0.00561,"88":0.02804,"89":0.08784,"90":0.49715,"91":0.76068,"92":0.01308,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 22 23 24 25 26 27 28 29 30 31 33 34 35 36 37 39 42 45 46 50 51 53 54 55 59 61 62 63 64 65 67 70 71 73 74 75 76 81 82 93 3.5 3.6"},D:{"11":0.00935,"22":0.00561,"24":0.00187,"25":0.00561,"29":0.00561,"33":0.00374,"38":0.00748,"43":0.00748,"46":0.00187,"49":0.03364,"50":0.00187,"55":0.00374,"56":0.01121,"57":0.00748,"58":0.00374,"60":0.00561,"62":0.00187,"63":0.00748,"64":0.01682,"65":0.00561,"66":0.00374,"68":0.00561,"69":0.00748,"70":0.03738,"71":0.00748,"73":0.00374,"74":0.01308,"75":0.00561,"76":0.02056,"77":0.01308,"78":0.00561,"79":0.04859,"80":0.02056,"81":0.02056,"83":0.03364,"84":0.02243,"85":0.01308,"86":0.03551,"87":0.08224,"88":0.02804,"89":0.04673,"90":0.11775,"91":0.54762,"92":5.29862,"93":0.00561,"94":0.00374,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 26 27 28 30 31 32 34 35 36 37 39 40 41 42 44 45 47 48 51 52 53 54 59 61 67 72 95 96"},F:{"15":0.00374,"18":0.00748,"34":0.00187,"37":0.00187,"42":0.00561,"60":0.00748,"64":0.00561,"65":0.00374,"70":0.00187,"72":0.00187,"73":0.00187,"74":0.00187,"75":0.00935,"76":0.00935,"77":0.63733,"78":0.45043,_:"9 11 12 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 62 63 66 67 68 69 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00187},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00253,"5.0-5.1":0.00676,"6.0-6.1":0.10139,"7.0-7.1":0.01436,"8.1-8.4":0,"9.0-9.2":0.00507,"9.3":0.06252,"10.0-10.2":0.00591,"10.3":0.19264,"11.0-11.2":0.10139,"11.3-11.4":0.05323,"12.0-12.1":0.05999,"12.2-12.4":0.97419,"13.0-13.1":0.06759,"13.2":0.0338,"13.3":0.16814,"13.4-13.7":0.46808,"14.0-14.4":2.01682,"14.5-14.7":2.68177},E:{"4":0,"8":0.00374,"12":0.00187,"13":0.02056,"14":0.08037,_:"0 5 6 7 9 10 11 15 3.1 3.2 6.1 9.1","5.1":0.00561,"7.1":0.00561,"10.1":0.00374,"11.1":0.00374,"12.1":0.00748,"13.1":0.04112,"14.1":0.18316},B:{"12":0.06542,"13":0.01308,"14":0.01495,"15":0.0243,"16":0.03738,"17":0.02056,"18":0.09532,"80":0.00187,"84":0.01495,"85":0.01308,"86":0.00187,"87":0.00187,"88":0.01495,"89":0.0299,"90":0.01682,"91":0.08037,"92":1.54566,_:"79 81 83 93"},P:{"4":0.29228,"5.0-5.4":0.03132,"6.2-6.4":0.02058,"7.2-7.4":0.09395,"8.2":0.02077,"9.2":0.05219,"10.1":0.03132,"11.1-11.2":0.09395,"12.0":0.05219,"13.0":0.15658,"14.0":0.8664},I:{"0":0,"3":0,"4":0.00219,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00584,"4.2-4.3":0.04378,"4.4":0,"4.4.3-4.4.4":0.23275},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01904,"9":0.0127,"11":0.30468,_:"6 7 10 5.5"},J:{"7":0,"10":0.04878},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.17886},Q:{"10.4":0.10569},O:{"0":1.89429},H:{"0":22.35197},L:{"0":52.33246},S:{"2.5":0.15447}}; diff --git a/node_modules/caniuse-lite/data/regions/CF.js b/node_modules/caniuse-lite/data/regions/CF.js new file mode 100644 index 00000000..678648a0 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CF.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00289,"36":0,"37":0,"38":0,"39":0.00579,"40":0,"41":0,"42":0,"43":0.00289,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00289,"56":0,"57":0,"58":0,"59":0.00579,"60":0.00289,"61":0,"62":0,"63":0,"64":0,"65":0.00579,"66":0,"67":0,"68":0.01736,"69":0,"70":0,"71":0,"72":0.00868,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.49777,"79":0,"80":0,"81":0,"82":0,"83":0.00289,"84":0,"85":0.00289,"86":0.00579,"87":0.00579,"88":0.00579,"89":0.02605,"90":0.42252,"91":0.22573,"92":0.02315,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00868,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00289,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00289,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.02026,"50":0,"51":0,"52":0.00289,"53":0,"54":0,"55":0.00579,"56":0.02026,"57":0,"58":0,"59":0,"60":0,"61":0.00289,"62":0.01158,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00868,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00289,"79":0,"80":0.00579,"81":0.02894,"83":0,"84":0.00579,"85":0,"86":0,"87":0.00868,"88":0.00579,"89":0.00868,"90":0.01158,"91":0.0463,"92":4.93427,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0.00289,"20":0,"21":0.03183,"22":0,"23":0,"24":0.00289,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00289,"55":0,"56":0.01736,"57":0.00579,"58":0.03762,"60":0,"62":0.14181,"63":0,"64":0.00579,"65":0.01158,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.17075,"78":0.03183,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.07524},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.07542,"8.1-8.4":0.00321,"9.0-9.2":0,"9.3":0.01204,"10.0-10.2":0,"10.3":0.01525,"11.0-11.2":0.01204,"11.3-11.4":0.01525,"12.0-12.1":0.02126,"12.2-12.4":0.11153,"13.0-13.1":0.00321,"13.2":0.06339,"13.3":0.02728,"13.4-13.7":0.42245,"14.0-14.4":1.28861,"14.5-14.7":1.78729},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00289,"14":0.01158,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.01158,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0,"14.1":0.01736},B:{"12":0.00289,"13":0.00579,"14":0.00579,"15":0.00868,"16":0.00289,"17":0,"18":0.02026,"79":0,"80":0,"81":0,"83":0,"84":0.00579,"85":0.00868,"86":0,"87":0,"88":0.00289,"89":0.09261,"90":0.00289,"91":0.01158,"92":0.20837,"93":0},P:{"4":0.78051,"5.0-5.4":0.03041,"6.2-6.4":0.02027,"7.2-7.4":0.1115,"8.2":0,"9.2":0.09123,"10.1":0.10137,"11.1-11.2":0.13177,"12.0":0.04055,"13.0":0.12164,"14.0":0.6386},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0052,"4.2-4.3":0.01087,"4.4":0,"4.4.3-4.4.4":0.07419},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00579,"10":0,"11":0.05499,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.19897},Q:{"10.4":0.01421},O:{"0":0.81719},H:{"0":4.90435},L:{"0":77.39154},S:{"2.5":0.41215}}; diff --git a/node_modules/caniuse-lite/data/regions/CG.js b/node_modules/caniuse-lite/data/regions/CG.js new file mode 100644 index 00000000..cc85991b --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CG.js @@ -0,0 +1 @@ +module.exports={C:{"35":0.02248,"37":0.00749,"43":0.00749,"44":0.00375,"46":0.01498,"47":0.00749,"48":0.00375,"52":0.02248,"54":0.01124,"68":0.02622,"70":0.00375,"72":0.02248,"78":0.07492,"84":0.01124,"85":0.00375,"86":0.01124,"87":0.03371,"88":0.03371,"89":0.40082,"90":1.03764,"91":2.21389,"92":0.02622,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 38 39 40 41 42 45 49 50 51 53 55 56 57 58 59 60 61 62 63 64 65 66 67 69 71 73 74 75 76 77 79 80 81 82 83 93 3.5 3.6"},D:{"29":0.00749,"49":0.02248,"50":0.02248,"55":0.00749,"56":0.00375,"63":0.01124,"64":0.00375,"66":0.00749,"67":0.00375,"70":0.01124,"73":0.00749,"74":0.00749,"75":0.0899,"76":0.00749,"78":0.02622,"79":0.02248,"80":0.01124,"81":0.01124,"83":0.01873,"84":0.01498,"85":0.04121,"86":0.10114,"87":0.34463,"88":0.0487,"89":0.0487,"90":0.11613,"91":0.29968,"92":11.75495,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 52 53 54 57 58 59 60 61 62 65 68 69 71 72 77 93 94 95 96"},F:{"35":0.00375,"42":0.01498,"76":0.0974,"77":2.34874,"78":1.35231,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00749},G:{"8":0.00192,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00448,"6.0-6.1":0,"7.0-7.1":0.02621,"8.1-8.4":0.00064,"9.0-9.2":0.0032,"9.3":0.02429,"10.0-10.2":0.00511,"10.3":0.17645,"11.0-11.2":0.99988,"11.3-11.4":0.01918,"12.0-12.1":0.00511,"12.2-12.4":0.44944,"13.0-13.1":0.03005,"13.2":0.03452,"13.3":0.01534,"13.4-13.7":0.02685,"14.0-14.4":1.72614,"14.5-14.7":1.42311},E:{"4":0,"8":0.00749,"12":0.00375,"13":0.00749,"14":0.05619,"15":0.00749,_:"0 5 6 7 9 10 11 3.1 3.2 5.1 6.1 9.1 11.1","7.1":0.20228,"10.1":0.01498,"12.1":0.00375,"13.1":0.12736,"14.1":0.13111},B:{"12":0.0487,"13":0.01498,"14":0.01498,"15":0.01124,"16":0.04121,"17":0.02997,"18":0.77168,"80":0.00375,"84":0.01124,"85":0.00749,"86":0.00375,"87":0.01498,"89":0.01498,"90":0.01124,"91":0.0899,"92":3.16912,_:"79 81 83 88 93"},P:{"4":0.38514,"5.0-5.4":0.03132,"6.2-6.4":0.02058,"7.2-7.4":0.07286,"8.2":0.01041,"9.2":0.02082,"10.1":0.04164,"11.1-11.2":0.10409,"12.0":0.09368,"13.0":0.13532,"14.0":0.64536},I:{"0":0,"3":0,"4":0.00055,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00781,"4.2-4.3":0.02889,"4.4":0,"4.4.3-4.4.4":0.15663},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02549,"9":0.07648,"11":0.8158,_:"6 7 10 5.5"},J:{"7":0,"10":0.04378},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.07505},Q:{"10.4":0.00625},O:{"0":0.94435},H:{"0":1.45062},L:{"0":62.71846},S:{"2.5":0.98188}}; diff --git a/node_modules/caniuse-lite/data/regions/CH.js b/node_modules/caniuse-lite/data/regions/CH.js new file mode 100644 index 00000000..a379b361 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CH.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.03777,"36":0.02698,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.02158,"49":0,"50":0,"51":0,"52":0.03238,"53":0,"54":0.0054,"55":0.0054,"56":0,"57":0.01079,"58":0,"59":0,"60":0.0054,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.0054,"68":0.02698,"69":0,"70":0.01079,"71":0.0054,"72":0.0054,"73":0,"74":0.0054,"75":0,"76":0,"77":0.02158,"78":0.2698,"79":0.0054,"80":0.01079,"81":0.01079,"82":0.0054,"83":0.0054,"84":0.01079,"85":0.01619,"86":0.01619,"87":0.02158,"88":0.1295,"89":0.1403,"90":1.71053,"91":2.4282,"92":0.01079,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.0054,"38":0.01619,"39":0,"40":0,"41":0.0054,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.08094,"50":0,"51":0,"52":0.10252,"53":0.0054,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.0054,"61":0,"62":0,"63":0.01079,"64":0.0054,"65":0.0054,"66":0.03238,"67":0.01079,"68":0,"69":0,"70":0.01079,"71":0.0054,"72":0.0054,"73":0.0054,"74":0.0054,"75":0.01079,"76":0.01079,"77":0.01079,"78":0.0054,"79":0.06475,"80":0.03238,"81":0.01619,"83":0.02158,"84":0.04317,"85":0.04317,"86":0.05396,"87":0.23742,"88":0.06475,"89":0.07015,"90":0.10792,"91":0.78782,"92":10.32794,"93":0.0054,"94":0.01079,"95":0.0054,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0054,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01079,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.0054,"70":0.0054,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.30218,"78":0.24822,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00383,"6.0-6.1":0.00766,"7.0-7.1":0.02681,"8.1-8.4":0.08043,"9.0-9.2":0.29492,"9.3":0.65495,"10.0-10.2":0.02681,"10.3":0.34088,"11.0-11.2":0.08426,"11.3-11.4":0.17619,"12.0-12.1":0.09958,"12.2-12.4":0.29109,"13.0-13.1":0.12256,"13.2":0.05745,"13.3":0.31024,"13.4-13.7":0.9537,"14.0-14.4":4.66891,"14.5-14.7":28.78715},E:{"4":0,"5":0,"6":0,"7":0,"8":0.01079,"9":0,"10":0.0054,"11":0.02158,"12":0.01619,"13":0.06475,"14":0.69608,"15":0.02698,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01079,"10.1":0.03238,"11.1":0.09173,"12.1":0.19426,"13.1":0.60435,"14.1":3.52359},B:{"12":0,"13":0,"14":0.01079,"15":0.0054,"16":0.0054,"17":0.0054,"18":0.04856,"79":0,"80":0,"81":0,"83":0,"84":0.01079,"85":0.01619,"86":0.01079,"87":0.01079,"88":0.01079,"89":0.01619,"90":0.03238,"91":0.21044,"92":3.85274,"93":0.0054},P:{"4":0.12514,"5.0-5.4":0.01043,"6.2-6.4":0,"7.2-7.4":0.01043,"8.2":0,"9.2":0.03128,"10.1":0.02086,"11.1-11.2":0.06257,"12.0":0.06257,"13.0":0.17728,"14.0":3.82706},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00355,"4.2-4.3":0.00947,"4.4":0,"4.4.3-4.4.4":0.07935},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00573,"10":0,"11":0.45293,"5.5":0},J:{"7":0,"10":0.0046},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.65377},Q:{"10.4":0.03683},O:{"0":0.1151},H:{"0":0.29204},L:{"0":26.16483},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/CI.js b/node_modules/caniuse-lite/data/regions/CI.js new file mode 100644 index 00000000..8126d81b --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CI.js @@ -0,0 +1 @@ +module.exports={C:{"30":0.00392,"43":0.01175,"45":0.00783,"46":0.01566,"47":0.01175,"48":0.00783,"52":0.05482,"56":0.00783,"60":0.00783,"65":0.00392,"72":0.01566,"75":0.00783,"78":0.07049,"79":0.00392,"81":0.00783,"83":0.03133,"84":0.01175,"85":0.00783,"86":0.00783,"87":0.01566,"88":0.03524,"89":0.2193,"90":1.07298,"91":1.77003,"92":0.03133,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 44 49 50 51 53 54 55 57 58 59 61 62 63 64 66 67 68 69 70 71 73 74 76 77 80 82 93 3.5 3.6"},D:{"18":0.00783,"25":0.00783,"29":0.00783,"43":0.01566,"47":0.02741,"49":0.34069,"50":0.00783,"54":0.00392,"55":0.00392,"56":0.01175,"57":0.01566,"58":0.00392,"60":0.00783,"61":0.04699,"63":0.01958,"64":0.00783,"65":0.01566,"66":0.01175,"67":0.01175,"68":0.00392,"69":0.05482,"70":0.03916,"71":0.01175,"72":0.02741,"73":0.01566,"74":0.05874,"75":0.05091,"76":0.03524,"77":0.04308,"78":0.09007,"79":0.0744,"80":0.0744,"81":0.08224,"83":0.11748,"84":0.09007,"85":0.08224,"86":0.13314,"87":1.39801,"88":0.13706,"89":0.2193,"90":0.43076,"91":1.08082,"92":20.97018,"93":0.03133,"94":0.04699,"95":0.02741,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 48 51 52 53 59 62 96"},F:{"75":0.13706,"76":0.01175,"77":0.8067,"78":0.66964,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00867,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00433,"5.0-5.1":0.00578,"6.0-6.1":0,"7.0-7.1":0.02311,"8.1-8.4":0.00144,"9.0-9.2":0,"9.3":0.43181,"10.0-10.2":0.01444,"10.3":0.1733,"11.0-11.2":0.43759,"11.3-11.4":0.1502,"12.0-12.1":0.10543,"12.2-12.4":0.72498,"13.0-13.1":0.06354,"13.2":0.05488,"13.3":0.34805,"13.4-13.7":0.59934,"14.0-14.4":3.06602,"14.5-14.7":6.40932},E:{"4":0,"12":0.00392,"13":0.01175,"14":0.12923,"15":0.01958,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 10.1","9.1":0.00783,"11.1":0.01175,"12.1":0.01175,"13.1":0.07832,"14.1":0.37594},B:{"12":0.01175,"13":0.01175,"14":0.01566,"15":0.00783,"16":0.01566,"17":0.01175,"18":0.06266,"84":0.01566,"85":0.01175,"87":0.01566,"88":0.00783,"89":0.03133,"90":0.01175,"91":0.05874,"92":2.36135,_:"79 80 81 83 86 93"},P:{"4":0.01059,"5.0-5.4":0.01026,"6.2-6.4":0.02058,"7.2-7.4":0.1695,"8.2":0.01026,"9.2":0.08475,"10.1":0.05132,"11.1-11.2":0.14831,"12.0":0.04237,"13.0":0.08475,"14.0":0.9746},I:{"0":0,"3":0,"4":0.00417,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00104,"4.2-4.3":0.00365,"4.4":0,"4.4.3-4.4.4":0.06413},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.33286,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.01825},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.21899},Q:{"10.4":0.00608},O:{"0":0.6448},H:{"0":1.98685},L:{"0":47.43394},S:{"2.5":0.03042}}; diff --git a/node_modules/caniuse-lite/data/regions/CK.js b/node_modules/caniuse-lite/data/regions/CK.js new file mode 100644 index 00000000..cb745a0f --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CK.js @@ -0,0 +1 @@ +module.exports={C:{"65":0.00961,"78":0.00961,"89":0.08968,"90":0.64701,"91":1.31003,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 92 93 3.5 3.6"},D:{"49":1.73282,"55":0.08008,"63":0.0032,"65":0.01602,"67":0.04164,"70":0.0032,"75":0.01922,"78":0.00961,"79":0.03523,"80":0.00961,"81":0.03523,"83":0.01922,"86":0.1057,"87":0.02242,"89":0.04484,"90":0.01281,"91":0.73028,"92":21.63627,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 56 57 58 59 60 61 62 64 66 68 69 71 72 73 74 76 77 84 85 88 93 94 95 96"},F:{"77":0.05765,"78":0.13773,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00335,"8.1-8.4":0.00335,"9.0-9.2":0,"9.3":0.03513,"10.0-10.2":0,"10.3":0.01338,"11.0-11.2":0.00335,"11.3-11.4":0.04182,"12.0-12.1":0.04851,"12.2-12.4":0.06859,"13.0-13.1":0.05186,"13.2":0.00836,"13.3":0.08699,"13.4-13.7":0.64906,"14.0-14.4":2.84383,"14.5-14.7":12.54797},E:{"4":0,"13":0.44201,"14":0.7495,_:"0 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.0032,"11.1":0.03844,"12.1":0.03523,"13.1":0.30108,"14.1":0.97051},B:{"17":0.00641,"18":0.06086,"84":0.01922,"88":0.0032,"91":0.15054,"92":1.65275,_:"12 13 14 15 16 79 80 81 83 85 86 87 89 90 93"},P:{"4":0.38514,"5.0-5.4":0.01026,"6.2-6.4":0.02058,"7.2-7.4":0.22581,"8.2":0.01026,"9.2":0.08211,"10.1":0.05132,"11.1-11.2":0.33872,"12.0":0.11291,"13.0":0.20528,"14.0":4.39305},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.14093,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.42135},Q:{"10.4":0},O:{"0":0.36019},H:{"0":0.20589},L:{"0":45.39443},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/CL.js b/node_modules/caniuse-lite/data/regions/CL.js new file mode 100644 index 00000000..fc3e5467 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CL.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00419,"36":0.00419,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00838,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00419,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00838,"67":0,"68":0.00419,"69":0,"70":0,"71":0,"72":0,"73":0.00419,"74":0,"75":0,"76":0,"77":0.00419,"78":0.02095,"79":0,"80":0,"81":0,"82":0,"83":0.00419,"84":0.00419,"85":0,"86":0,"87":0.00419,"88":0.00838,"89":0.02095,"90":0.2933,"91":0.419,"92":0.00419,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00838,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.0419,"50":0,"51":0,"52":0,"53":0.00419,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.01257,"62":0,"63":0.00419,"64":0,"65":0.00419,"66":0,"67":0.00419,"68":0.00419,"69":0,"70":0.00419,"71":0.00419,"72":0.00419,"73":0,"74":0.00419,"75":0.00419,"76":0.00419,"77":0.00419,"78":0.00838,"79":0.02514,"80":0.01257,"81":0.01257,"83":0.01676,"84":0.01257,"85":0.01257,"86":0.01676,"87":0.07961,"88":0.02933,"89":0.09218,"90":0.05447,"91":0.419,"92":12.13843,"93":0.00838,"94":0.00419,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00419,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.60336,"78":0.56984,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0011,"5.0-5.1":0.00329,"6.0-6.1":0.00329,"7.0-7.1":0.00329,"8.1-8.4":0.00657,"9.0-9.2":0.00219,"9.3":0.06132,"10.0-10.2":0.00329,"10.3":0.03942,"11.0-11.2":0.01752,"11.3-11.4":0.03833,"12.0-12.1":0.03066,"12.2-12.4":0.10403,"13.0-13.1":0.03395,"13.2":0.02738,"13.3":0.10841,"13.4-13.7":0.34713,"14.0-14.4":1.2582,"14.5-14.7":8.35076},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00419,"13":0.01257,"14":0.11313,"15":0.00419,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00419,"11.1":0.00838,"12.1":0.01676,"13.1":0.07542,"14.1":0.42738},B:{"12":0,"13":0,"14":0,"15":0.00419,"16":0,"17":0.00419,"18":0.00838,"79":0,"80":0,"81":0,"83":0,"84":0.00419,"85":0,"86":0,"87":0,"88":0,"89":0.00419,"90":0.00419,"91":0.02514,"92":0.98046,"93":0},P:{"4":0.10111,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.11122,"8.2":0,"9.2":0.05056,"10.1":0.01011,"11.1-11.2":0.31345,"12.0":0.05056,"13.0":0.19211,"14.0":1.68857},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.01009,"4.4":0,"4.4.3-4.4.4":0.06343},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00495,"9":0,"10":0,"11":0.10399,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.16849},Q:{"10.4":0.00581},O:{"0":0.04648},H:{"0":0.14851},L:{"0":68.16355},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/CM.js b/node_modules/caniuse-lite/data/regions/CM.js new file mode 100644 index 00000000..1b1b3f50 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CM.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00329,"30":0.00658,"31":0.00987,"34":0.00329,"36":0.00329,"40":0.00987,"41":0.00329,"42":0.00329,"43":0.01316,"44":0.00658,"45":0.00329,"47":0.01975,"48":0.00987,"49":0.00658,"50":0.01316,"51":0.01316,"52":0.30606,"54":0.00329,"56":0.02962,"57":0.00658,"58":0.00329,"59":0.00329,"60":0.00987,"64":0.01316,"65":0.00658,"66":0.00987,"68":0.03291,"69":0.00987,"70":0.00329,"71":0.00658,"72":0.03291,"74":0.00329,"78":0.11848,"79":0.01975,"80":0.00987,"81":0.01975,"82":0.00329,"83":0.00658,"84":0.00987,"85":0.00987,"86":0.02633,"87":0.00987,"88":0.04937,"89":0.2567,"90":1.43488,"91":1.72778,"92":0.19746,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 32 33 35 37 38 39 46 53 55 61 62 63 67 73 75 76 77 93 3.5 3.6"},D:{"11":0.01316,"25":0.00658,"28":0.00658,"29":0.00329,"33":0.01975,"38":0.00987,"43":0.00987,"47":0.00329,"48":0.00329,"49":0.19746,"53":0.00329,"55":0.00987,"56":0.06253,"57":0.00987,"58":0.00987,"60":0.00658,"62":0.00658,"63":0.02304,"64":0.00658,"65":0.00987,"68":0.08557,"69":0.00987,"70":0.00987,"71":0.00658,"72":0.00329,"73":0.00658,"74":0.0362,"75":0.00987,"76":0.00658,"77":0.00987,"78":0.00658,"79":0.23366,"80":0.02962,"81":0.1448,"83":0.02304,"84":0.01316,"85":0.04937,"86":0.06253,"87":0.27315,"88":0.07898,"89":0.07898,"90":0.41796,"91":0.7306,"92":13.15742,"93":0.02304,"94":0.02633,"95":0.00329,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 30 31 32 34 35 36 37 39 40 41 42 44 45 46 50 51 52 54 59 61 66 67 96"},F:{"30":0.00329,"35":0.00329,"36":0.00658,"42":0.00658,"44":0.00658,"72":0.01316,"73":0.05595,"74":0.00329,"76":0.01316,"77":0.7668,"78":0.48707,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 37 38 39 40 41 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00267,"6.0-6.1":0,"7.0-7.1":0.04074,"8.1-8.4":0,"9.0-9.2":0.00401,"9.3":0.17433,"10.0-10.2":0.0167,"10.3":0.13358,"11.0-11.2":0.50294,"11.3-11.4":0.0521,"12.0-12.1":0.11755,"12.2-12.4":0.56639,"13.0-13.1":0.06879,"13.2":0.03874,"13.3":0.20839,"13.4-13.7":0.47155,"14.0-14.4":1.75327,"14.5-14.7":1.74459},E:{"4":0,"8":0.00329,"10":0.00987,"13":0.00658,"14":0.15468,_:"0 5 6 7 9 11 12 15 3.1 3.2 6.1 7.1 9.1","5.1":0.02304,"10.1":0.00658,"11.1":0.00329,"12.1":0.01316,"13.1":0.07569,"14.1":0.13164},B:{"12":0.07569,"13":0.02304,"14":0.05266,"15":0.02633,"16":0.0362,"17":0.02633,"18":0.08228,"84":0.01646,"85":0.01975,"87":0.00329,"88":0.00658,"89":0.02633,"90":0.01646,"91":0.17113,"92":1.25387,_:"79 80 81 83 86 93"},P:{"4":0.62161,"5.0-5.4":0.0518,"6.2-6.4":0.02058,"7.2-7.4":0.12432,"8.2":0.02077,"9.2":0.1036,"10.1":0.02111,"11.1-11.2":0.11396,"12.0":0.03108,"13.0":0.14504,"14.0":0.66305},I:{"0":0,"3":0,"4":0.00095,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0031,"4.2-4.3":0.0062,"4.4":0,"4.4.3-4.4.4":0.08366},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02705,"9":0.00902,"11":0.65833,_:"6 7 10 5.5"},J:{"7":0,"10":0.04696},N:{_:"10 11"},R:{_:"0"},M:{"0":0.38236},Q:{"10.4":0.03354},O:{"0":1.01962},H:{"0":4.61061},L:{"0":60.33533},S:{"2.5":0.0805}}; diff --git a/node_modules/caniuse-lite/data/regions/CN.js b/node_modules/caniuse-lite/data/regions/CN.js new file mode 100644 index 00000000..43dafb00 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CN.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00353,"34":0,"35":0.00705,"36":0.00705,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.48673,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01058,"53":0,"54":0.00353,"55":0.00353,"56":0.00353,"57":0.00353,"58":0.00353,"59":0.00353,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00705,"69":0,"70":0,"71":0,"72":0.00353,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01411,"79":0.00353,"80":0.00353,"81":0.00353,"82":0.00353,"83":0.00353,"84":0.00353,"85":0.00353,"86":0.00353,"87":0.00353,"88":0.00705,"89":0.01411,"90":0.14461,"91":0.19751,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00705,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00353,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00353,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00353,"40":0.00353,"41":0.00353,"42":0.00353,"43":0.00353,"44":0,"45":0.01058,"46":0,"47":0.01058,"48":0.03174,"49":0.0388,"50":0.00353,"51":0.00353,"52":0,"53":0.00353,"54":0.00705,"55":0.02116,"56":0.00705,"57":0.04585,"58":0.01058,"59":0.01411,"60":0.00353,"61":0.00353,"62":0.04585,"63":0.02469,"64":0.00353,"65":0.01764,"66":0.00353,"67":0.01058,"68":0.00705,"69":0.38444,"70":0.19751,"71":0.01058,"72":0.15166,"73":0.04938,"74":0.49731,"75":0.10228,"76":0.04232,"77":0.00705,"78":0.10581,"79":0.08112,"80":0.05643,"81":0.03527,"83":0.07054,"84":0.05643,"85":0.0388,"86":0.08465,"87":0.04938,"88":0.09523,"89":0.04938,"90":0.11286,"91":0.32801,"92":1.50603,"93":0.01058,"94":0.00705,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.01764,"78":0.01058,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00271,"3.2":0,"4.0-4.1":0.00678,"4.2-4.3":0.07048,"5.0-5.1":0.0244,"6.0-6.1":0.04337,"7.0-7.1":0.0244,"8.1-8.4":0.04201,"9.0-9.2":0.17077,"9.3":0.10436,"10.0-10.2":0.41336,"10.3":0.3971,"11.0-11.2":0.79691,"11.3-11.4":0.17212,"12.0-12.1":0.20329,"12.2-12.4":0.39439,"13.0-13.1":0.08538,"13.2":0.05286,"13.3":0.26157,"13.4-13.7":1.67649,"14.0-14.4":2.68618,"14.5-14.7":5.61496},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.00353,"10":0,"11":0.00353,"12":0.00353,"13":0.01411,"14":0.07054,"15":0.00353,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00353,"11.1":0.00705,"12.1":0.01058,"13.1":0.06349,"14.1":0.19046},B:{"12":0,"13":0,"14":0.00353,"15":0,"16":0.00353,"17":0.01058,"18":0.04938,"79":0,"80":0,"81":0,"83":0,"84":0.00353,"85":0.00353,"86":0.00353,"87":0.00353,"88":0.00353,"89":0.01058,"90":0.00705,"91":0.02116,"92":1.24856,"93":0.00353},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.01107,"10.1":0,"11.1-11.2":0,"12.0":0,"13.0":0.02214,"14.0":0.38753},I:{"0":0,"3":0,"4":0.09205,"2.1":0,"2.2":0,"2.3":0,"4.1":0.1841,"4.2-4.3":0.14728,"4.4":0,"4.4.3-4.4.4":0.69959},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.03417,"7":0.03417,"8":0.17086,"9":0.17086,"10":0.06834,"11":3.10965,"5.5":0.03417},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.22656},Q:{"10.4":5.78686},O:{"0":12.93305},H:{"0":0.11031},L:{"0":47.0075},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/CO.js b/node_modules/caniuse-lite/data/regions/CO.js new file mode 100644 index 00000000..261e7b7e --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CO.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.00514,"5":0.00514,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00514,"16":0,"17":0.01028,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00514,"51":0,"52":0.01028,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.03083,"67":0,"68":0.01541,"69":0,"70":0,"71":0,"72":0,"73":0.00514,"74":0,"75":0,"76":0,"77":0,"78":0.02055,"79":0.00514,"80":0,"81":0,"82":0,"83":0,"84":0.01028,"85":0,"86":0,"87":0.00514,"88":0.01541,"89":0.01541,"90":0.31342,"91":0.43159,"92":0.00514,"93":0.00514,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00514,"23":0.00514,"24":0.01028,"25":0.00514,"26":0.00514,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01028,"39":0,"40":0,"41":0,"42":0.00514,"43":0,"44":0,"45":0,"46":0.00514,"47":0.00514,"48":0,"49":0.05652,"50":0.00514,"51":0,"52":0,"53":0.00514,"54":0,"55":0.00514,"56":0,"57":0,"58":0.00514,"59":0,"60":0,"61":0.00514,"62":0.00514,"63":0.00514,"64":0,"65":0.01028,"66":0,"67":0.01028,"68":0.00514,"69":0.01028,"70":0.01028,"71":0.00514,"72":0.01028,"73":0.00514,"74":0.01028,"75":0.01028,"76":0.01541,"77":0.01028,"78":0.01028,"79":0.08221,"80":0.03083,"81":0.06679,"83":0.02055,"84":0.02569,"85":0.02055,"86":0.0411,"87":0.149,"88":0.05652,"89":0.05652,"90":0.11817,"91":0.61142,"92":20.01765,"93":0.01541,"94":0.00514,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00514,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0.00514,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.54977,"78":0.49325,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0.00217,"4.0-4.1":0,"4.2-4.3":0.00217,"5.0-5.1":0.00578,"6.0-6.1":0.02819,"7.0-7.1":0.01229,"8.1-8.4":0.00361,"9.0-9.2":0.00217,"9.3":0.10626,"10.0-10.2":0.00434,"10.3":0.06578,"11.0-11.2":0.01301,"11.3-11.4":0.01807,"12.0-12.1":0.01157,"12.2-12.4":0.06506,"13.0-13.1":0.01446,"13.2":0.00578,"13.3":0.04915,"13.4-13.7":0.40191,"14.0-14.4":0.74165,"14.5-14.7":5.19662},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00514,"13":0.02569,"14":0.11304,"15":0.00514,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00514,"11.1":0.00514,"12.1":0.01541,"13.1":0.07707,"14.1":0.42645},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00514,"18":0.01541,"79":0,"80":0,"81":0,"83":0,"84":0.00514,"85":0,"86":0,"87":0,"88":0,"89":0.00514,"90":0.00514,"91":0.02569,"92":1.23826,"93":0},P:{"4":0.15424,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.09254,"8.2":0,"9.2":0.01028,"10.1":0,"11.1-11.2":0.09254,"12.0":0.03085,"13.0":0.09254,"14.0":1.00768},I:{"0":0,"3":0,"4":0.00315,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0063,"4.2-4.3":0.02207,"4.4":0,"4.4.3-4.4.4":0.13555},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00561,"9":0,"10":0.00561,"11":0.05045,"5.5":0},J:{"7":0,"10":0.00486},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.13614},Q:{"10.4":0},O:{"0":0.0389},H:{"0":0.12888},L:{"0":64.51269},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/CR.js b/node_modules/caniuse-lite/data/regions/CR.js new file mode 100644 index 00000000..45e838b7 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00896,"36":0.00896,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00448,"51":0,"52":0.03137,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.08066,"67":0,"68":0.00448,"69":0,"70":0,"71":0,"72":0.00448,"73":0.02689,"74":0,"75":0,"76":0,"77":0,"78":0.11203,"79":0,"80":0,"81":0.00448,"82":0,"83":0,"84":0.00448,"85":0.00448,"86":0.00448,"87":0.00448,"88":0.08962,"89":0.02241,"90":0.47947,"91":0.6363,"92":0.00896,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00448,"48":0,"49":0.0941,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00448,"59":0,"60":0,"61":0,"62":0,"63":0.00448,"64":0,"65":0.00896,"66":0,"67":0.00448,"68":0,"69":0.00448,"70":0,"71":0.00448,"72":0.00448,"73":0.00448,"74":0.00448,"75":0.01344,"76":0.00896,"77":0.00448,"78":0.00448,"79":0.01344,"80":0.01344,"81":0.01344,"83":0.01792,"84":0.00448,"85":0.01344,"86":0.02689,"87":0.30023,"88":0.05377,"89":0.03585,"90":0.10306,"91":0.41673,"92":12.55576,"93":0.02241,"94":0.00448,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00448,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00448,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02689,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.36296,"78":0.30023,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01068,"6.0-6.1":0.01068,"7.0-7.1":0.02441,"8.1-8.4":0,"9.0-9.2":0.00153,"9.3":0.08696,"10.0-10.2":0.00153,"10.3":0.09001,"11.0-11.2":0.01983,"11.3-11.4":0.04577,"12.0-12.1":0.02136,"12.2-12.4":0.15866,"13.0-13.1":0.01831,"13.2":0.0061,"13.3":0.12967,"13.4-13.7":0.2807,"14.0-14.4":1.35621,"14.5-14.7":12.29738},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.02241,"14":0.17924,"15":0.00896,_:"0","3.1":0,"3.2":0,"5.1":0.04033,"6.1":0,"7.1":0,"9.1":0.00448,"10.1":0.00448,"11.1":0.01792,"12.1":0.02241,"13.1":0.17028,"14.1":1.03959},B:{"12":0,"13":0,"14":0,"15":0.00448,"16":0,"17":0.00448,"18":0.01344,"79":0,"80":0,"81":0,"83":0,"84":0.00448,"85":0.00448,"86":0,"87":0,"88":0,"89":0.02241,"90":0.00448,"91":0.03137,"92":1.44288,"93":0.00448},P:{"4":0.98549,"5.0-5.4":0,"6.2-6.4":0.01016,"7.2-7.4":0.1016,"8.2":0,"9.2":0.0508,"10.1":0.01016,"11.1-11.2":0.16255,"12.0":0.08128,"13.0":0.22351,"14.0":2.53992},I:{"0":0,"3":0,"4":0.02378,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00892,"4.2-4.3":0.02675,"4.4":0,"4.4.3-4.4.4":0.22291},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.10754,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.35322},Q:{"10.4":0.00552},O:{"0":0.03863},H:{"0":0.24035},L:{"0":58.55713},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/CU.js b/node_modules/caniuse-lite/data/regions/CU.js new file mode 100644 index 00000000..b054e337 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CU.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.02217,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00554,"34":0.01663,"35":0.01663,"36":0.00554,"37":0.01108,"38":0.01386,"39":0.01386,"40":0.00831,"41":0.00277,"42":0.00554,"43":0.00554,"44":0.00277,"45":0.00831,"46":0.00277,"47":0.01108,"48":0.00554,"49":0.00554,"50":0.0194,"51":0.00277,"52":0.06096,"53":0.00554,"54":0.01108,"55":0.00831,"56":0.0194,"57":0.04434,"58":0.00831,"59":0.00831,"60":0.01663,"61":0.01386,"62":0.01108,"63":0.00831,"64":0.01108,"65":0.03325,"66":0.01386,"67":0.0194,"68":0.07205,"69":0.01663,"70":0.00831,"71":0.00831,"72":0.04711,"73":0.00554,"74":0.00554,"75":0.00277,"76":0.00277,"77":0.00277,"78":0.06373,"79":0.00554,"80":0.02771,"81":0.0194,"82":0.01108,"83":0.02771,"84":0.03325,"85":0.0194,"86":0.04434,"87":0.02771,"88":0.17734,"89":0.21614,"90":0.9172,"91":1.06406,"92":0.02217,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00277,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00277,"38":0,"39":0,"40":0.00277,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00554,"50":0,"51":0.00277,"52":0,"53":0,"54":0,"55":0.00277,"56":0.01108,"57":0,"58":0.00277,"59":0,"60":0.01108,"61":0,"62":0.00554,"63":0.00554,"64":0.00277,"65":0.00277,"66":0,"67":0.00277,"68":0.00554,"69":0.00277,"70":0.01386,"71":0.00831,"72":0.00277,"73":0.00277,"74":0.00554,"75":0.01108,"76":0.02771,"77":0.00831,"78":0.00554,"79":0.02217,"80":0.01386,"81":0.01386,"83":0.0194,"84":0.02771,"85":0.04711,"86":0.05542,"87":0.16903,"88":0.04711,"89":0.03325,"90":0.0665,"91":0.19397,"92":1.6626,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.00277,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00554,"30":0,"31":0.00277,"32":0,"33":0.00277,"34":0,"35":0,"36":0,"37":0,"38":0.00277,"39":0,"40":0,"41":0,"42":0.00277,"43":0,"44":0,"45":0.00554,"46":0.00277,"47":0,"48":0,"49":0,"50":0.00831,"51":0,"52":0,"53":0,"54":0.00831,"55":0.00831,"56":0,"57":0.00277,"58":0.05542,"60":0,"62":0,"63":0,"64":0.00277,"65":0.01386,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.00277,"72":0.00277,"73":0.00277,"74":0,"75":0.00277,"76":0.00554,"77":0.1718,"78":0.11084,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00277},G:{"8":0.00327,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00327,"6.0-6.1":0.00327,"7.0-7.1":0.14562,"8.1-8.4":0.03191,"9.0-9.2":0.01145,"9.3":0.08181,"10.0-10.2":0.03027,"10.3":0.19307,"11.0-11.2":0.17589,"11.3-11.4":0.0679,"12.0-12.1":0.07854,"12.2-12.4":0.83853,"13.0-13.1":0.14235,"13.2":0.09899,"13.3":0.38204,"13.4-13.7":0.72973,"14.0-14.4":2.6334,"14.5-14.7":1.81123},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00277,"14":0.01108,"15":0.00277,_:"0","3.1":0,"3.2":0,"5.1":0.02771,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0.00554,"14.1":0.01386},B:{"12":0.00277,"13":0.00554,"14":0.00831,"15":0.0194,"16":0.00554,"17":0.00831,"18":0.03325,"79":0,"80":0,"81":0,"83":0,"84":0.01663,"85":0.01108,"86":0.00277,"87":0,"88":0.00277,"89":0.0194,"90":0.02217,"91":0.03325,"92":0.24385,"93":0.00277},P:{"4":0.47496,"5.0-5.4":0.06063,"6.2-6.4":0.03032,"7.2-7.4":0.26275,"8.2":0.04042,"9.2":0.16169,"10.1":0.09095,"11.1-11.2":0.22232,"12.0":0.14148,"13.0":0.34359,"14.0":1.07119},I:{"0":0,"3":0,"4":0.00289,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01301,"4.2-4.3":0.06578,"4.4":0,"4.4.3-4.4.4":0.31157},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.03602,"5.5":0},J:{"7":0,"10":0.01446},N:{"10":0,"11":0},R:{_:"0"},M:{"0":1.07712},Q:{"10.4":0.01446},O:{"0":0.32531},H:{"0":1.36879},L:{"0":77.76571},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/CV.js b/node_modules/caniuse-lite/data/regions/CV.js new file mode 100644 index 00000000..a051b28f --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CV.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00321,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.02244,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.01282,"62":0,"63":0,"64":0,"65":0.00321,"66":0.00962,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02244,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00321,"85":0.00321,"86":0,"87":0,"88":0.00321,"89":0.01603,"90":0.13141,"91":0.18589,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00321,"36":0,"37":0,"38":0,"39":0.00321,"40":0.00641,"41":0,"42":0,"43":0.02885,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.14423,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00641,"56":0.00321,"57":0,"58":0,"59":0,"60":0.00321,"61":0.00641,"62":0,"63":0.00321,"64":0.00641,"65":0.00641,"66":0,"67":0,"68":0,"69":0,"70":0.02564,"71":0.00962,"72":0.00321,"73":0.03205,"74":0.00321,"75":0.00962,"76":0.00321,"77":0.01923,"78":0.00321,"79":0.03205,"80":0.00641,"81":0.28525,"83":0.03205,"84":0.00641,"85":0.01923,"86":0.00641,"87":0.05449,"88":0.01282,"89":0.06731,"90":0.10577,"91":0.22756,"92":6.09271,"93":0.01923,"94":0.00962,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00321,"76":0.00641,"77":0.24358,"78":0.15705,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00125,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00251,"7.0-7.1":0.0966,"8.1-8.4":0,"9.0-9.2":0.05896,"9.3":0.28979,"10.0-10.2":0.02133,"10.3":0.28728,"11.0-11.2":0.08656,"11.3-11.4":0.07778,"12.0-12.1":0.04516,"12.2-12.4":0.8192,"13.0-13.1":0.03387,"13.2":0.04014,"13.3":0.18316,"13.4-13.7":0.44284,"14.0-14.4":1.62962,"14.5-14.7":7.21473},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00321,"14":0.07692,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00321,"11.1":0.00641,"12.1":0.02244,"13.1":0.03205,"14.1":0.1923},B:{"12":0,"13":0,"14":0,"15":0.00321,"16":0,"17":0.01603,"18":0.01923,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.01282,"86":0,"87":0.02885,"88":0.00321,"89":0.00962,"90":0.00321,"91":0.01603,"92":0.9583,"93":0},P:{"4":0.3593,"5.0-5.4":0.02053,"6.2-6.4":0.0308,"7.2-7.4":0.29771,"8.2":0.01027,"9.2":0.41063,"10.1":0.01027,"11.1-11.2":0.48249,"12.0":0.08213,"13.0":0.18478,"14.0":0.94446},I:{"0":0,"3":0,"4":0.00083,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0058,"4.2-4.3":0.04306,"4.4":0,"4.4.3-4.4.4":0.21697},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.13141,"5.5":0},J:{"7":0,"10":0.0068},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.04077},Q:{"10.4":0},O:{"0":0.08154},H:{"0":0.59184},L:{"0":73.80868},S:{"2.5":0.0068}}; diff --git a/node_modules/caniuse-lite/data/regions/CX.js b/node_modules/caniuse-lite/data/regions/CX.js new file mode 100644 index 00000000..62bfb7f7 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CX.js @@ -0,0 +1 @@ +module.exports={C:{"90":6.06286,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 91 92 93 3.5 3.6"},D:{"81":24.24327,"92":19.69407,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 83 84 85 86 87 88 89 90 91 93 94 95 96"},F:{"78":1.51367,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0,"14.5-14.7":0},E:{"4":0,_:"0 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1"},B:{_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93"},P:{"4":0.18701,"5.0-5.4":0.03117,"6.2-6.4":0.02058,"7.2-7.4":0.06234,"8.2":0.02077,"9.2":0.01039,"10.1":0.02111,"11.1-11.2":0.27012,"12.0":0.02078,"13.0":0.42596,"14.0":7.0128},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":18.18},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/CY.js b/node_modules/caniuse-lite/data/regions/CY.js new file mode 100644 index 00000000..c335e722 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CY.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.29528,"77":0.00447,"78":0.07158,"82":0.00895,"84":0.04027,"88":0.03132,"89":0.04921,"90":0.66663,"91":0.95296,"92":0.00447,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 79 80 81 83 85 86 87 93 3.5 3.6"},D:{"38":0.04474,"42":1.73144,"49":0.53241,"53":0.0179,"56":0.00447,"69":0.00895,"70":1.91935,"71":0.01342,"72":0.02684,"73":0.01342,"74":0.09395,"75":0.01342,"78":0.0179,"79":0.12527,"80":0.02237,"81":0.01342,"83":0.0179,"84":0.03132,"85":0.01342,"86":0.04027,"87":0.29528,"88":0.04027,"89":0.12975,"90":0.1208,"91":1.27509,"92":26.85295,"93":0.00447,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 43 44 45 46 47 48 50 51 52 54 55 57 58 59 60 61 62 63 64 65 66 67 68 76 77 94 95 96"},F:{"40":0.00895,"77":0.51451,"78":0.49214,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00546,"6.0-6.1":0.00136,"7.0-7.1":0.02183,"8.1-8.4":0,"9.0-9.2":0.00409,"9.3":0.10369,"10.0-10.2":0.01501,"10.3":0.15144,"11.0-11.2":0.10506,"11.3-11.4":0.02865,"12.0-12.1":0.04502,"12.2-12.4":0.11051,"13.0-13.1":0.01774,"13.2":0.00955,"13.3":0.08595,"13.4-13.7":0.26196,"14.0-14.4":1.30296,"14.5-14.7":10.92028},E:{"4":0.00447,"12":0.00895,"13":0.06264,"14":0.40266,"15":0.00895,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00447,"11.1":0.03132,"12.1":0.48767,"13.1":0.35345,"14.1":1.83434},B:{"13":0.00895,"15":0.01342,"18":0.02237,"89":0.0179,"90":0.00895,"91":0.09395,"92":3.41814,_:"12 14 16 17 79 80 81 83 84 85 86 87 88 93"},P:{"4":0.09311,"5.0-5.4":0.01026,"6.2-6.4":0.02058,"7.2-7.4":0.01035,"8.2":0.01026,"9.2":0.01035,"10.1":0.05132,"11.1-11.2":0.08277,"12.0":0.03104,"13.0":0.14484,"14.0":3.62109},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00293,"4.2-4.3":0.00488,"4.4":0,"4.4.3-4.4.4":0.05851},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.28634,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.00553},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.16025},Q:{"10.4":0.00553},O:{"0":1.09967},H:{"0":0.39761},L:{"0":36.50009},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/CZ.js b/node_modules/caniuse-lite/data/regions/CZ.js new file mode 100644 index 00000000..7dd57a82 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/CZ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01121,"36":0.01121,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.0056,"49":0,"50":0.0056,"51":0,"52":0.10648,"53":0,"54":0,"55":0,"56":0.01681,"57":0,"58":0,"59":0,"60":0.0056,"61":0.0056,"62":0,"63":0,"64":0,"65":0,"66":0.0056,"67":0,"68":0.02242,"69":0,"70":0.0056,"71":0,"72":0.0056,"73":0.0056,"74":0,"75":0,"76":0,"77":0,"78":0.1457,"79":0,"80":0.0056,"81":0.01121,"82":0.0056,"83":0.0056,"84":0.01121,"85":0.01121,"86":0.01121,"87":0.01681,"88":0.07285,"89":0.12889,"90":1.55791,"91":2.20798,"92":0.01121,"93":0.0056,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0056,"35":0,"36":0,"37":0,"38":0.0056,"39":0,"40":0,"41":0,"42":0.0056,"43":0,"44":0,"45":0,"46":0.0056,"47":0,"48":0.0056,"49":0.12329,"50":0.0056,"51":0,"52":0,"53":0.01121,"54":0,"55":0,"56":0.01121,"57":0,"58":0.0056,"59":0,"60":0,"61":0.07285,"62":0,"63":0.0056,"64":0,"65":0.0056,"66":0.0056,"67":0.0056,"68":0.0056,"69":0.0056,"70":0.0056,"71":0.0056,"72":0.01121,"73":0.0056,"74":0.0056,"75":0.01681,"76":0.0056,"77":0.0056,"78":0.01121,"79":0.06164,"80":0.02242,"81":0.07285,"83":0.02242,"84":0.03362,"85":0.02802,"86":0.06164,"87":0.11208,"88":0.10087,"89":0.17372,"90":0.16252,"91":0.93026,"92":16.6663,"93":0.01121,"94":0.0056,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.0056,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0056,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.0056,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02242,"60":0,"62":0,"63":0,"64":0,"65":0.01121,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.0056,"75":0,"76":0.0056,"77":0.85181,"78":0.73973,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01681},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00843,"6.0-6.1":0.00422,"7.0-7.1":0.00984,"8.1-8.4":0.00703,"9.0-9.2":0.00422,"9.3":0.12089,"10.0-10.2":0.01265,"10.3":0.1237,"11.0-11.2":0.03936,"11.3-11.4":0.03514,"12.0-12.1":0.03233,"12.2-12.4":0.09559,"13.0-13.1":0.02249,"13.2":0.01125,"13.3":0.08996,"13.4-13.7":0.30644,"14.0-14.4":1.25808,"14.5-14.7":11.30445},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01681,"14":0.23537,"15":0.01121,_:"0","3.1":0,"3.2":0,"5.1":0.0056,"6.1":0,"7.1":0,"9.1":0.0056,"10.1":0.0056,"11.1":0.01681,"12.1":0.02802,"13.1":0.1345,"14.1":1.04795},B:{"12":0.0056,"13":0,"14":0.0056,"15":0.01121,"16":0.0056,"17":0.01121,"18":0.03923,"79":0,"80":0,"81":0,"83":0.0056,"84":0.0056,"85":0.0056,"86":0.01121,"87":0.0056,"88":0.0056,"89":0.01681,"90":0.02242,"91":0.12329,"92":3.53052,"93":0.0056},P:{"4":0.12251,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01021,"8.2":0,"9.2":0.02042,"10.1":0.02042,"11.1-11.2":0.08168,"12.0":0.04084,"13.0":0.13272,"14.0":2.28694},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00965,"4.2-4.3":0.02895,"4.4":0,"4.4.3-4.4.4":0.18337},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00584,"9":0,"10":0.01751,"11":0.54266,"5.5":0},J:{"7":0,"10":0.0044},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.444},Q:{"10.4":0.0044},O:{"0":0.15386},H:{"0":0.5452},L:{"0":48.55699},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/DE.js b/node_modules/caniuse-lite/data/regions/DE.js new file mode 100644 index 00000000..a3e59f6c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/DE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.02786,"36":0.02228,"37":0,"38":0,"39":0,"40":0.00557,"41":0,"42":0,"43":0,"44":0,"45":0.00557,"46":0,"47":0.00557,"48":0.01671,"49":0,"50":0.00557,"51":0.01114,"52":0.09471,"53":0,"54":0.00557,"55":0.00557,"56":0.00557,"57":0.00557,"58":0,"59":0.01114,"60":0.01114,"61":0.00557,"62":0,"63":0.00557,"64":0.00557,"65":0.00557,"66":0.01114,"67":0.00557,"68":0.039,"69":0.00557,"70":0.00557,"71":0.00557,"72":0.01114,"73":0.00557,"74":0.00557,"75":0.01114,"76":0.00557,"77":0.05014,"78":0.30641,"79":0.06128,"80":0.01671,"81":0.02228,"82":0.02228,"83":0.02228,"84":0.03343,"85":0.02228,"86":0.03343,"87":0.02228,"88":0.07799,"89":0.16156,"90":2.66294,"91":3.66572,"92":0.01671,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00557,"39":0,"40":0,"41":0.00557,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00557,"48":0.00557,"49":0.16713,"50":0,"51":0.01671,"52":0.02228,"53":0.00557,"54":0,"55":0,"56":0.01114,"57":0,"58":0.00557,"59":0.00557,"60":0.01114,"61":0.06128,"62":0,"63":0.00557,"64":0.00557,"65":0.16156,"66":0.05014,"67":0.00557,"68":0.00557,"69":0.05014,"70":0.02228,"71":0.039,"72":0.02786,"73":0.00557,"74":0.08357,"75":0.92479,"76":0.04457,"77":0.039,"78":0.06685,"79":0.10585,"80":0.32312,"81":0.09471,"83":0.11142,"84":0.15599,"85":0.14485,"86":0.16713,"87":0.23955,"88":0.11699,"89":0.10585,"90":0.26741,"91":0.56824,"92":9.11973,"93":0.01114,"94":0.00557,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00557,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00557,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02228,"60":0,"62":0.00557,"63":0.00557,"64":0.00557,"65":0.01114,"66":0.00557,"67":0.00557,"68":0.01114,"69":0.00557,"70":0.01114,"71":0.01114,"72":0.00557,"73":0.00557,"74":0.00557,"75":0.00557,"76":0.00557,"77":0.74094,"78":0.60167,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00557},G:{"8":0.00659,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01318,"6.0-6.1":0.01318,"7.0-7.1":0.01537,"8.1-8.4":0.01537,"9.0-9.2":0.06589,"9.3":0.24158,"10.0-10.2":0.02635,"10.3":0.20205,"11.0-11.2":0.06808,"11.3-11.4":0.14934,"12.0-12.1":0.0593,"12.2-12.4":0.19986,"13.0-13.1":0.04832,"13.2":0.02635,"13.3":0.14934,"13.4-13.7":0.50293,"14.0-14.4":2.11056,"14.5-14.7":17.13926},E:{"4":0,"5":0,"6":0,"7":0.00557,"8":0,"9":0,"10":0.00557,"11":0.00557,"12":0.039,"13":0.10585,"14":0.40668,"15":0.02228,_:"0","3.1":0,"3.2":0,"5.1":0.00557,"6.1":0,"7.1":0,"9.1":0.00557,"10.1":0.01114,"11.1":0.05014,"12.1":0.09471,"13.1":0.26741,"14.1":2.03342},B:{"12":0.05014,"13":0,"14":0.00557,"15":0.01114,"16":0.00557,"17":0.01114,"18":0.05014,"79":0,"80":0.02786,"81":0.03343,"83":0.04457,"84":0.05014,"85":0.039,"86":0.05014,"87":0.039,"88":0.04457,"89":0.05014,"90":0.04457,"91":0.16713,"92":3.15319,"93":0.00557},P:{"4":0.17589,"5.0-5.4":0.02069,"6.2-6.4":0,"7.2-7.4":0.03104,"8.2":0.01035,"9.2":0.04139,"10.1":0.02069,"11.1-11.2":0.11381,"12.0":0.06208,"13.0":0.19658,"14.0":4.16958},I:{"0":0,"3":0,"4":0.00846,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02257,"4.2-4.3":0.04795,"4.4":0,"4.4.3-4.4.4":0.24258},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01784,"7":0.01189,"8":0.01189,"9":0.01189,"10":0.00595,"11":0.46978,"5.5":0},J:{"7":0,"10":0.00443},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.9168},Q:{"10.4":0.00886},O:{"0":0.25245},H:{"0":0.49478},L:{"0":38.05658},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/DJ.js b/node_modules/caniuse-lite/data/regions/DJ.js new file mode 100644 index 00000000..eb01884e --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/DJ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00579,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.0029,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00869,"53":0,"54":0.0029,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0029,"71":0,"72":0.0029,"73":0,"74":0,"75":0,"76":0,"77":0.0029,"78":0.01738,"79":0.0029,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0.01158,"87":0.0029,"88":0,"89":0.01448,"90":0.50101,"91":0.62843,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.0029,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00869,"47":0,"48":0,"49":0.03475,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00579,"59":0.08109,"60":0.01738,"61":0,"62":0,"63":0.00869,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03475,"71":0,"72":0.0029,"73":0,"74":0,"75":0.0029,"76":0,"77":0.0029,"78":0.0029,"79":0.00579,"80":0.0029,"81":0.01738,"83":0,"84":0.0029,"85":0.00579,"86":0.02606,"87":0.10715,"88":0.01158,"89":0.00869,"90":0.05213,"91":0.19982,"92":4.74075,"93":0,"94":0.00869,"95":0.0029,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.05502,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.08688,"60":0,"62":0,"63":0,"64":0,"65":0.0029,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00579,"77":0.1419,"78":0.02896,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00869},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00343,"6.0-6.1":0.00343,"7.0-7.1":0.00086,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0.72978,"10.3":0.02313,"11.0-11.2":0.1105,"11.3-11.4":0.01713,"12.0-12.1":0.01713,"12.2-12.4":0.19101,"13.0-13.1":0.10279,"13.2":0.01627,"13.3":0.12591,"13.4-13.7":0.55076,"14.0-14.4":1.26256,"14.5-14.7":4.85322},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01448,"14":0.02896,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.01158,"13.1":0.04923,"14.1":0.12453},B:{"12":0.02027,"13":0.00579,"14":0,"15":0.00579,"16":0.00579,"17":0.0029,"18":0.01738,"79":0,"80":0,"81":0,"83":0.0029,"84":0.00579,"85":0.01158,"86":0,"87":0,"88":0.0029,"89":0.0029,"90":0.00579,"91":0.01738,"92":0.58499,"93":0},P:{"4":0.58231,"5.0-5.4":0.04016,"6.2-6.4":0.14056,"7.2-7.4":1.14454,"8.2":0,"9.2":0.0502,"10.1":0.02008,"11.1-11.2":1.16462,"12.0":0.14056,"13.0":1.05418,"14.0":2.66054},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0036,"4.2-4.3":0.01081,"4.4":0,"4.4.3-4.4.4":0.15007},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.15638,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.09946},Q:{"10.4":1.52736},O:{"0":3.81485},H:{"0":0.92141},L:{"0":66.42882},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/DK.js b/node_modules/caniuse-lite/data/regions/DK.js new file mode 100644 index 00000000..c0df575c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/DK.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.02629,"36":0.01972,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00657,"48":0.00657,"49":0,"50":0,"51":0,"52":0.05915,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00657,"65":0,"66":0,"67":0,"68":0.00657,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.05915,"79":0,"80":0,"81":0.00657,"82":0.03943,"83":0.00657,"84":0.01972,"85":0.00657,"86":0,"87":0.03286,"88":0.07886,"89":0.08544,"90":0.79521,"91":1.16982,"92":0.00657,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01972,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.09858,"50":0,"51":0,"52":0.01972,"53":0.00657,"54":0,"55":0,"56":0,"57":0,"58":0.00657,"59":0.01314,"60":0,"61":0.00657,"62":0,"63":0.00657,"64":0,"65":0.00657,"66":0.01314,"67":0.01972,"68":0.00657,"69":0.2826,"70":0.01314,"71":0.00657,"72":0.00657,"73":0.00657,"74":0.00657,"75":0.02629,"76":0.03943,"77":0.00657,"78":0.01972,"79":0.05915,"80":0.03943,"81":0.03286,"83":0.03286,"84":0.03943,"85":0.02629,"86":0.06572,"87":0.28917,"88":0.06572,"89":0.15773,"90":0.46661,"91":2.31334,"92":23.89579,"93":0.01314,"94":0.00657,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00657,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00657,"77":0.34174,"78":0.28917,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00336,"6.0-6.1":0.00336,"7.0-7.1":0.01009,"8.1-8.4":0.00673,"9.0-9.2":0.10431,"9.3":0.22545,"10.0-10.2":0.02355,"10.3":0.36005,"11.0-11.2":0.09085,"11.3-11.4":0.09085,"12.0-12.1":0.06057,"12.2-12.4":0.30621,"13.0-13.1":0.04711,"13.2":0.02692,"13.3":0.20526,"13.4-13.7":0.56532,"14.0-14.4":3.02175,"14.5-14.7":27.07465},E:{"4":0,"5":0.00657,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00657,"12":0.01314,"13":0.09201,"14":1.06466,"15":0.02629,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01972,"11.1":0.08544,"12.1":0.12487,"13.1":0.55205,"14.1":4.25866},B:{"12":0,"13":0,"14":0,"15":0.00657,"16":0.01314,"17":0.00657,"18":0.02629,"79":0,"80":0.00657,"81":0,"83":0,"84":0.01314,"85":0.01314,"86":0.00657,"87":0.01314,"88":0.01314,"89":0.03286,"90":0.01972,"91":0.1183,"92":3.55545,"93":0.00657},P:{"4":0.05268,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.01054,"10.1":0,"11.1-11.2":0.02107,"12.0":0.01054,"13.0":0.09483,"14.0":1.728},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00753,"4.2-4.3":0.01004,"4.4":0,"4.4.3-4.4.4":0.123},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00676,"8":0.00676,"9":0.00676,"10":0.04734,"11":0.39899,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.33252},Q:{"10.4":0.00686},O:{"0":0.02742},H:{"0":0.10385},L:{"0":21.45507},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/DM.js b/node_modules/caniuse-lite/data/regions/DM.js new file mode 100644 index 00000000..290ebaee --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/DM.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01128,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.02256,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00564,"67":0,"68":0,"69":0.01128,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.03384,"78":0.00564,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0.00564,"88":0.00564,"89":0.02256,"90":0.18612,"91":0.26508,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.01128,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.0282,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03384,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00564,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.00564,"63":0,"64":0,"65":0.01128,"66":0,"67":0,"68":0.06768,"69":0.00564,"70":0.01128,"71":0,"72":0,"73":0.59784,"74":0.06204,"75":0.20868,"76":0.705,"77":0.0282,"78":0.01692,"79":0.02256,"80":0,"81":0.04512,"83":0.01692,"84":0.141,"85":0.00564,"86":0.01128,"87":0.02256,"88":0.02256,"89":0.07332,"90":0.49632,"91":0.63168,"92":14.7486,"93":0.52452,"94":0.01692,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.01128,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01128,"60":0.00564,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.20868,"78":0.0564,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01658,"6.0-6.1":0.00368,"7.0-7.1":0.03685,"8.1-8.4":0,"9.0-9.2":0.01474,"9.3":0.10501,"10.0-10.2":0.00368,"10.3":0.10501,"11.0-11.2":0.02763,"11.3-11.4":0.03685,"12.0-12.1":0.00184,"12.2-12.4":0.07738,"13.0-13.1":0,"13.2":0.01105,"13.3":0.03132,"13.4-13.7":0.14554,"14.0-14.4":0.79219,"14.5-14.7":7.22552},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01128,"14":0.12972,"15":0.00564,_:"0","3.1":0,"3.2":0,"5.1":0.00564,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00564,"13.1":0.07332,"14.1":0.57528},B:{"12":0,"13":0,"14":0,"15":0.00564,"16":0.01128,"17":0.00564,"18":0.03948,"79":0,"80":0.00564,"81":0.00564,"83":0,"84":0,"85":0.00564,"86":0,"87":0,"88":0,"89":0.01128,"90":0.00564,"91":0.423,"92":3.95364,"93":0},P:{"4":0.17421,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.11977,"8.2":0.01089,"9.2":0,"10.1":0,"11.1-11.2":0.14155,"12.0":0.11977,"13.0":0.31575,"14.0":2.99422},I:{"0":0,"3":0,"4":0.26665,"2.1":0,"2.2":0,"2.3":0,"4.1":0.04637,"4.2-4.3":0.12753,"4.4":0,"4.4.3-4.4.4":1.797},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":1.06032,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.10028},Q:{"10.4":0.03488},O:{"0":0.26596},H:{"0":0.09907},L:{"0":54.80876},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/DO.js b/node_modules/caniuse-lite/data/regions/DO.js new file mode 100644 index 00000000..419a3cdb --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/DO.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00933,"5":0.00933,"15":0.00933,"17":0.014,"45":0.02799,"52":0.01866,"66":0.00467,"73":0.04199,"78":0.03266,"79":0.014,"80":0.00933,"81":0.01866,"82":0.014,"83":0.00933,"84":0.014,"85":0.00933,"87":0.00467,"88":0.02333,"89":0.05598,"90":0.57846,"91":0.87702,"92":0.01866,_:"2 3 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 74 75 76 77 86 93 3.5 3.6"},D:{"23":0.00467,"24":0.02333,"25":0.00933,"28":0.00467,"38":0.01866,"39":0.00467,"47":0.014,"48":0.014,"49":0.55047,"50":0.00467,"53":0.00467,"55":0.00467,"62":0.00467,"63":0.02333,"65":0.014,"67":0.00933,"68":0.01866,"69":0.00933,"70":0.014,"71":0.00467,"72":0.00933,"73":0.00933,"74":0.01866,"75":0.05132,"76":0.03266,"77":0.00933,"78":0.014,"79":0.05598,"80":0.06531,"81":0.02799,"83":0.07931,"84":0.13062,"85":0.11196,"86":0.12596,"87":0.38253,"88":0.08397,"89":0.1073,"90":0.23792,"91":1.14293,"92":27.34623,"93":0.02333,"94":0.00933,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 26 27 29 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 51 52 54 56 57 58 59 60 61 64 66 95 96"},F:{"69":0.00467,"70":0.00467,"71":0.00933,"74":0.014,"77":1.08695,"78":0.70442,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 72 73 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01151,"6.0-6.1":0.01727,"7.0-7.1":0.03741,"8.1-8.4":0.02734,"9.0-9.2":0.00576,"9.3":0.06044,"10.0-10.2":0.00863,"10.3":0.1108,"11.0-11.2":0.03454,"11.3-11.4":0.03166,"12.0-12.1":0.04029,"12.2-12.4":0.15253,"13.0-13.1":0.03454,"13.2":0.01439,"13.3":0.13526,"13.4-13.7":0.46911,"14.0-14.4":1.91959,"14.5-14.7":10.53331},E:{"4":0,"12":0.00933,"13":0.03732,"14":0.34521,"15":0.02799,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.45251,"11.1":0.04199,"12.1":0.05132,"13.1":0.21459,"14.1":1.3202},B:{"14":0.01866,"15":0.00933,"16":0.00467,"17":0.01866,"18":0.42918,"80":0.00933,"83":0.00467,"84":0.014,"85":0.00933,"87":0.014,"89":0.03732,"90":0.014,"91":0.08397,"92":5.80326,_:"12 13 79 81 86 88 93"},P:{"4":0.11873,"5.0-5.4":0.02159,"6.2-6.4":0.02058,"7.2-7.4":0.07555,"8.2":0.01026,"9.2":0.03238,"10.1":0.05132,"11.1-11.2":0.14032,"12.0":0.02159,"13.0":0.08635,"14.0":1.27363},I:{"0":0,"3":0,"4":0.0022,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0022,"4.2-4.3":0.00352,"4.4":0,"4.4.3-4.4.4":0.04008},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02499,"9":0.005,"10":0.01499,"11":0.23492,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.72542},Q:{"10.4":0},O:{"0":0.06934},H:{"0":0.2121},L:{"0":39.15567},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/DZ.js b/node_modules/caniuse-lite/data/regions/DZ.js new file mode 100644 index 00000000..22612cb5 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/DZ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00395,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00395,"34":0,"35":0,"36":0.00395,"37":0,"38":0.00395,"39":0,"40":0.00395,"41":0,"42":0,"43":0.00395,"44":0,"45":0,"46":0,"47":0.00789,"48":0.01184,"49":0,"50":0,"51":0,"52":0.06707,"53":0,"54":0,"55":0.00395,"56":0.00395,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00395,"66":0,"67":0,"68":0.00789,"69":0,"70":0,"71":0,"72":0.00395,"73":0,"74":0,"75":0,"76":0.00395,"77":0,"78":0.03551,"79":0.00395,"80":0.00395,"81":0.00395,"82":0.00395,"83":0.00395,"84":0.0434,"85":0.00395,"86":0.00395,"87":0.00395,"88":0.03156,"89":0.07496,"90":0.43395,"91":0.59964,"92":0.01184,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00395,"23":0,"24":0,"25":0,"26":0.00395,"27":0,"28":0,"29":0,"30":0.00395,"31":0.00395,"32":0,"33":0.00789,"34":0.00395,"35":0,"36":0,"37":0,"38":0.00789,"39":0.00395,"40":0.01184,"41":0,"42":0.00395,"43":0.07101,"44":0,"45":0,"46":0,"47":0.00395,"48":0,"49":0.17753,"50":0.00789,"51":0.00395,"52":0.00395,"53":0.00395,"54":0.00395,"55":0.00789,"56":0.01184,"57":0.00395,"58":0.01184,"59":0,"60":0.00789,"61":0.02762,"62":0.00395,"63":0.03551,"64":0.00395,"65":0.00395,"66":0,"67":0.00395,"68":0.00789,"69":0.01578,"70":0.00789,"71":0.00789,"72":0.00395,"73":0.00395,"74":0.01184,"75":0.00789,"76":0.00789,"77":0.01184,"78":0.00789,"79":0.04734,"80":0.01973,"81":0.07496,"83":0.01973,"84":0.01973,"85":0.03156,"86":0.06312,"87":0.27615,"88":0.03945,"89":0.05129,"90":0.10652,"91":0.40634,"92":9.05772,"93":0.00789,"94":0.00789,"95":0.00395,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00789,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00395,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00395,"52":0,"53":0,"54":0.00395,"55":0,"56":0,"57":0.00395,"58":0.03945,"60":0,"62":0,"63":0,"64":0,"65":0.00395,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00395,"77":0.46157,"78":0.41028,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00395},G:{"8":0.00169,"3.2":0.00237,"4.0-4.1":0,"4.2-4.3":0.01622,"5.0-5.1":0.01927,"6.0-6.1":0.00777,"7.0-7.1":0.08754,"8.1-8.4":0.00439,"9.0-9.2":0.00439,"9.3":0.12168,"10.0-10.2":0.00338,"10.3":0.08011,"11.0-11.2":0.01318,"11.3-11.4":0.03786,"12.0-12.1":0.0267,"12.2-12.4":0.06253,"13.0-13.1":0.01521,"13.2":0.00879,"13.3":0.07301,"13.4-13.7":0.23187,"14.0-14.4":0.55432,"14.5-14.7":1.75185},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.03945,"14":0.02367,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.02367,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00395,"12.1":0.00789,"13.1":0.01578,"14.1":0.04734},B:{"12":0.00395,"13":0.00395,"14":0.00395,"15":0.00395,"16":0.00395,"17":0.00395,"18":0.02762,"79":0,"80":0,"81":0,"83":0,"84":0.00395,"85":0.00395,"86":0,"87":0,"88":0,"89":0.00789,"90":0.00395,"91":0.02367,"92":0.57597,"93":0},P:{"4":0.16298,"5.0-5.4":0.01019,"6.2-6.4":0.01019,"7.2-7.4":0.16298,"8.2":0.01019,"9.2":0.0713,"10.1":0.02037,"11.1-11.2":0.15279,"12.0":0.0713,"13.0":0.20372,"14.0":1.25288},I:{"0":0,"3":0,"4":0.00442,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01216,"4.2-4.3":0.03648,"4.4":0,"4.4.3-4.4.4":0.23657},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00958,"10":0,"11":0.12455,"5.5":0},J:{"7":0,"10":0.00606},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.13927},Q:{"10.4":0.01211},O:{"0":0.57523},H:{"0":0.6535},L:{"0":77.24627},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/EC.js b/node_modules/caniuse-lite/data/regions/EC.js new file mode 100644 index 00000000..3ca9acb7 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/EC.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.00575,"5":0.00575,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00575,"16":0,"17":0.00575,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00575,"36":0.00575,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00575,"48":0,"49":0,"50":0,"51":0.00575,"52":0.01724,"53":0,"54":0,"55":0,"56":0.00575,"57":0,"58":0,"59":0,"60":0.00575,"61":0.00575,"62":0,"63":0.00575,"64":0,"65":0,"66":0.03449,"67":0,"68":0.00575,"69":0,"70":0,"71":0,"72":0.0115,"73":0.0115,"74":0,"75":0,"76":0.00575,"77":0,"78":0.05173,"79":0.00575,"80":0,"81":0.00575,"82":0.00575,"83":0.00575,"84":0.0115,"85":0.00575,"86":0.00575,"87":0.0115,"88":0.10921,"89":0.06898,"90":0.82771,"91":1.27606,"92":0.00575,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00575,"23":0.00575,"24":0.0115,"25":0.00575,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.02299,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.0115,"48":0.00575,"49":0.08622,"50":0,"51":0,"52":0,"53":0.00575,"54":0,"55":0.02299,"56":0.00575,"57":0,"58":0,"59":0.00575,"60":0,"61":0.10921,"62":0.00575,"63":0.08622,"64":0.00575,"65":0.0115,"66":0.00575,"67":0.00575,"68":0.00575,"69":0.00575,"70":0.00575,"71":0.00575,"72":0.00575,"73":0.00575,"74":0.01724,"75":0.02299,"76":0.01724,"77":0.0115,"78":0.01724,"79":0.06898,"80":0.02299,"81":0.02874,"83":0.02299,"84":0.01724,"85":0.02299,"86":0.04598,"87":0.17244,"88":0.03449,"89":0.04598,"90":0.11496,"91":0.87944,"92":23.5783,"93":0.01724,"94":0.00575,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0115,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.60929,"78":0.61504,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00241,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0281,"6.0-6.1":0.03132,"7.0-7.1":0.01445,"8.1-8.4":0,"9.0-9.2":0.00241,"9.3":0.07146,"10.0-10.2":0.00401,"10.3":0.09314,"11.0-11.2":0.0265,"11.3-11.4":0.01927,"12.0-12.1":0.01285,"12.2-12.4":0.06343,"13.0-13.1":0.01285,"13.2":0.00723,"13.3":0.04657,"13.4-13.7":0.18468,"14.0-14.4":0.76843,"14.5-14.7":6.09767},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00575,"13":0.01724,"14":0.13795,"15":0.00575,_:"0","3.1":0,"3.2":0,"5.1":0.09772,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.01724,"12.1":0.02299,"13.1":0.11496,"14.1":0.5748},B:{"12":0,"13":0,"14":0,"15":0.00575,"16":0,"17":0.00575,"18":0.02299,"79":0,"80":0,"81":0,"83":0,"84":0.00575,"85":0,"86":0.00575,"87":0,"88":0,"89":0.0115,"90":0.00575,"91":0.04598,"92":1.67267,"93":0},P:{"4":0.19431,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.13295,"8.2":0,"9.2":0.04091,"10.1":0.02045,"11.1-11.2":0.16363,"12.0":0.07159,"13.0":0.19431,"14.0":1.85107},I:{"0":0,"3":0,"4":0.00463,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00927,"4.2-4.3":0.02317,"4.4":0,"4.4.3-4.4.4":0.22938},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00985,"9":0.00985,"10":0.00985,"11":0.10839,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.14882},Q:{"10.4":0.01276},O:{"0":0.04677},H:{"0":0.17712},L:{"0":54.80889},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/EE.js b/node_modules/caniuse-lite/data/regions/EE.js new file mode 100644 index 00000000..cf3e27af --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/EE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01501,"36":0.00751,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.03754,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00751,"67":0,"68":0.07507,"69":0,"70":0,"71":0,"72":0,"73":0.01501,"74":0,"75":0,"76":0,"77":0,"78":0.06756,"79":0,"80":0,"81":0,"82":0.15014,"83":0,"84":0.06756,"85":0.00751,"86":0.00751,"87":0.03003,"88":0.04504,"89":0.09008,"90":1.08101,"91":1.47888,"92":0.00751,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00751,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.18768,"50":0,"51":0,"52":0,"53":0.00751,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.01501,"60":0.01501,"61":0,"62":0,"63":0,"64":0.00751,"65":0.00751,"66":0,"67":0,"68":0,"69":0.62308,"70":0.00751,"71":0.00751,"72":0.00751,"73":0.01501,"74":0.00751,"75":0.03003,"76":0.00751,"77":0.02252,"78":0.05255,"79":0.03754,"80":0.01501,"81":0.02252,"83":0.02252,"84":0.07507,"85":0.02252,"86":0.03003,"87":19.1954,"88":0.06006,"89":0.14263,"90":0.26275,"91":2.10947,"92":21.37994,"93":0.00751,"94":0.00751,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00751,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00751,"76":0.00751,"77":0.70566,"78":1.41132,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00145,"6.0-6.1":0.00145,"7.0-7.1":0.00145,"8.1-8.4":0.04486,"9.0-9.2":0,"9.3":0.04486,"10.0-10.2":0.02171,"10.3":0.21851,"11.0-11.2":0.05065,"11.3-11.4":0.01736,"12.0-12.1":0.05499,"12.2-12.4":0.10419,"13.0-13.1":0.01736,"13.2":0.02171,"13.3":0.06512,"13.4-13.7":0.31257,"14.0-14.4":1.72347,"14.5-14.7":11.46809},E:{"4":0.00751,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00751,"13":0.05255,"14":0.39787,"15":0.01501,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00751,"11.1":0.02252,"12.1":0.08258,"13.1":0.27025,"14.1":1.50891},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.01501,"79":0,"80":0,"81":0,"83":0,"84":0.00751,"85":0.00751,"86":0,"87":0,"88":0.00751,"89":0.03754,"90":0.01501,"91":0.04504,"92":2.15451,"93":0},P:{"4":0.07213,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.02061,"10.1":0.0103,"11.1-11.2":0.06183,"12.0":0.03091,"13.0":0.10304,"14.0":1.47353},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00108,"4.2-4.3":0.00217,"4.4":0,"4.4.3-4.4.4":0.04173},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.23272,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.33157},Q:{"10.4":0},O:{"0":0.04737},H:{"0":0.16521},L:{"0":26.58189},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/EG.js b/node_modules/caniuse-lite/data/regions/EG.js new file mode 100644 index 00000000..892509db --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/EG.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00339,"35":0.00339,"36":0.00339,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00339,"48":0,"49":0,"50":0,"51":0,"52":0.03047,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00339,"69":0,"70":0,"71":0,"72":0.00339,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01354,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00339,"85":0,"86":0,"87":0.00339,"88":0.00677,"89":0.0237,"90":2.01746,"91":3.87921,"92":0.00677,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00339,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00339,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00677,"41":0,"42":0,"43":0.05416,"44":0,"45":0,"46":0.00339,"47":0.00339,"48":0,"49":0.03047,"50":0,"51":0,"52":0,"53":0.00339,"54":0,"55":0,"56":0,"57":0,"58":0.00339,"59":0,"60":0,"61":0.01016,"62":0,"63":0.00677,"64":0,"65":0,"66":0,"67":0,"68":0.00339,"69":0.00339,"70":0.00339,"71":0.00339,"72":0,"73":0,"74":0.00339,"75":0.00339,"76":0.00339,"77":0.00339,"78":0.00339,"79":0.02708,"80":0.00677,"81":0.03047,"83":0.00677,"84":0.01016,"85":0.00677,"86":0.02031,"87":0.04062,"88":0.02031,"89":0.02031,"90":0.03047,"91":0.16248,"92":3.92999,"93":0.00339,"94":0.00339,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00339,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00339,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0.00677,"65":0,"66":0,"67":0,"68":0.00339,"69":0.00339,"70":0.00677,"71":0.00677,"72":0.01354,"73":0.01354,"74":0.00339,"75":0.00677,"76":0.01016,"77":0.02708,"78":0.00339,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00264,"6.0-6.1":0.00528,"7.0-7.1":0.03962,"8.1-8.4":0.00264,"9.0-9.2":0.03698,"9.3":0.33545,"10.0-10.2":0.10829,"10.3":0.69466,"11.0-11.2":0.23772,"11.3-11.4":0.243,"12.0-12.1":0.17697,"12.2-12.4":0.82673,"13.0-13.1":0.13207,"13.2":0.05018,"13.3":0.41733,"13.4-13.7":1.63232,"14.0-14.4":8.66611,"14.5-14.7":6.43949},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00339,"14":0.03047,"15":0.00339,_:"0","3.1":0,"3.2":0,"5.1":0.01354,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00339,"12.1":0.01016,"13.1":0.01354,"14.1":0.0677},B:{"12":0,"13":0,"14":0.00339,"15":0,"16":0.00339,"17":0.00339,"18":0.01016,"79":0,"80":0,"81":0,"83":0,"84":0.00339,"85":0,"86":0,"87":0,"88":0,"89":0.00339,"90":0.00339,"91":0.01016,"92":0.31481,"93":0},P:{"4":0.20408,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.06122,"8.2":0.0102,"9.2":0.03061,"10.1":0.02041,"11.1-11.2":0.12245,"12.0":0.05102,"13.0":0.17347,"14.0":1.19387},I:{"0":0,"3":0,"4":0.00292,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00876,"4.2-4.3":0.04234,"4.4":0,"4.4.3-4.4.4":1.30967},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00372,"9":0.00372,"10":0,"11":0.02979,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.18522},Q:{"10.4":0},O:{"0":0.41013},H:{"0":0.34445},L:{"0":63.48962},S:{"2.5":0.00662}}; diff --git a/node_modules/caniuse-lite/data/regions/ER.js b/node_modules/caniuse-lite/data/regions/ER.js new file mode 100644 index 00000000..6e13ee32 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/ER.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.0021,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.0021,"30":0,"31":0,"32":0,"33":0.0021,"34":0.0021,"35":0.0042,"36":0.0042,"37":0.0021,"38":0,"39":0,"40":0,"41":0.0021,"42":0.0021,"43":0.0042,"44":0.0042,"45":0.0042,"46":0,"47":0.0042,"48":0,"49":0,"50":0.0021,"51":0.01259,"52":0.0021,"53":0.00629,"54":0,"55":0,"56":0.0021,"57":0.0021,"58":0,"59":0,"60":0.0021,"61":0.0021,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.0021,"68":0.02308,"69":0,"70":0,"71":0,"72":0.0021,"73":0,"74":0,"75":0,"76":0,"77":0.0021,"78":0.0042,"79":0,"80":0,"81":0,"82":0.01049,"83":0,"84":0.00629,"85":0.0021,"86":0.0021,"87":0.0021,"88":0.0042,"89":0.01259,"90":0.09231,"91":0.27064,"92":0.02098,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0021,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.0021,"33":0.00839,"34":0.01469,"35":0.0021,"36":0,"37":0.02098,"38":0,"39":0,"40":0.01259,"41":0,"42":0,"43":0.01888,"44":0,"45":0.0021,"46":0.0021,"47":0,"48":0.0021,"49":0.0021,"50":0.0021,"51":0,"52":0,"53":0,"54":0,"55":0.01259,"56":0,"57":0.0021,"58":0.0021,"59":0.00629,"60":0,"61":0.00629,"62":0,"63":0,"64":0.0021,"65":0,"66":0,"67":0.0021,"68":0.0021,"69":0.00839,"70":0.0021,"71":0.0021,"72":0.0021,"73":0.0021,"74":0.0021,"75":0,"76":0.0021,"77":0.0042,"78":0,"79":0.01888,"80":0.03776,"81":0.01049,"83":0.0021,"84":0.0021,"85":0.0021,"86":0.00839,"87":0.00839,"88":0.01049,"89":0.00629,"90":0.01259,"91":0.05874,"92":1.45601,"93":0.0021,"94":0.0021,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.0021,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.0042,"29":0,"30":0.02308,"31":0,"32":0.0021,"33":0.0021,"34":0.0021,"35":0.0021,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.0021,"49":0,"50":0.0042,"51":0.0021,"52":0,"53":0.0021,"54":0.00629,"55":0.0021,"56":0,"57":0.01259,"58":0.05455,"60":0,"62":0.0021,"63":0,"64":0.0021,"65":0.0042,"66":0,"67":0.0021,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.12798,"78":0.08392,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.09441},G:{"8":0.00216,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.10777,"8.1-8.4":0.00504,"9.0-9.2":0.01032,"9.3":0.22491,"10.0-10.2":0.04033,"10.3":0.018,"11.0-11.2":0.03961,"11.3-11.4":0.03024,"12.0-12.1":0.02712,"12.2-12.4":0.06457,"13.0-13.1":0.00696,"13.2":0.01176,"13.3":0.01752,"13.4-13.7":0.06961,"14.0-14.4":0.43302,"14.5-14.7":0.96253},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.0021,"14":0.01469,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.0021,"10.1":0,"11.1":0,"12.1":0,"13.1":0.01049,"14.1":0.00839},B:{"12":0.00629,"13":0.0021,"14":0.0021,"15":0.0021,"16":0.0021,"17":0.0042,"18":0.01678,"79":0,"80":0,"81":0,"83":0,"84":0.0042,"85":0,"86":0,"87":0.0021,"88":0,"89":0.0042,"90":0.0021,"91":0.01259,"92":0.17204,"93":0},P:{"4":0.86425,"5.0-5.4":0.06101,"6.2-6.4":0.07117,"7.2-7.4":0.65073,"8.2":0,"9.2":0.10168,"10.1":0.01017,"11.1-11.2":0.16268,"12.0":0.02034,"13.0":0.17285,"14.0":0.78291},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01337,"4.2-4.3":0.13159,"4.4":0,"4.4.3-4.4.4":0.2549},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02727,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.21335},Q:{"10.4":0.09482},O:{"0":1.92809},H:{"0":18.56062},L:{"0":63.43028},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/ES.js b/node_modules/caniuse-lite/data/regions/ES.js new file mode 100644 index 00000000..97ad54b7 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/ES.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00411,"36":0.00411,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00411,"49":0,"50":0,"51":0,"52":0.04109,"53":0.00411,"54":0,"55":0.00411,"56":0.00411,"57":0,"58":0,"59":0,"60":0.00411,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00411,"67":0,"68":0.00822,"69":0,"70":0,"71":0,"72":0.00411,"73":0,"74":0,"75":0,"76":0,"77":0.00411,"78":0.07396,"79":0.00411,"80":0.00411,"81":0.00411,"82":0.00411,"83":0.00411,"84":0.01233,"85":0.00411,"86":0.00411,"87":0.04109,"88":0.02055,"89":0.0452,"90":0.5013,"91":0.75195,"92":0.00411,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00411,"35":0,"36":0,"37":0,"38":0.01233,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.11094,"50":0,"51":0.00411,"52":0,"53":0.00411,"54":0,"55":0,"56":0.00411,"57":0,"58":0.00411,"59":0,"60":0,"61":0.06164,"62":0,"63":0.00411,"64":0.00411,"65":0.00822,"66":0.00822,"67":0.00822,"68":0.00411,"69":0.01644,"70":0.00822,"71":0.00411,"72":0.00411,"73":0.00411,"74":0.00822,"75":0.03698,"76":0.01233,"77":0.00822,"78":0.00822,"79":0.06574,"80":0.02055,"81":0.02465,"83":0.01644,"84":0.02465,"85":0.02055,"86":0.03698,"87":0.12738,"88":0.03698,"89":0.04109,"90":0.07396,"91":0.41912,"92":9.69724,"93":0.00411,"94":0.00411,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00411,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00822,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00411,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.29174,"78":0.18491,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00343,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00858,"6.0-6.1":0.00858,"7.0-7.1":0.02917,"8.1-8.4":0.01544,"9.0-9.2":0.00858,"9.3":0.2042,"10.0-10.2":0.02059,"10.3":0.19218,"11.0-11.2":0.05834,"11.3-11.4":0.05663,"12.0-12.1":0.05663,"12.2-12.4":0.16816,"13.0-13.1":0.06521,"13.2":0.02402,"13.3":0.17503,"13.4-13.7":0.49419,"14.0-14.4":1.95788,"14.5-14.7":12.80257},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00411,"13":0.02876,"14":0.20956,"15":0.00411,_:"0","3.1":0,"3.2":0,"5.1":0.00411,"6.1":0,"7.1":0,"9.1":0.00411,"10.1":0.00822,"11.1":0.02465,"12.1":0.03287,"13.1":0.13149,"14.1":0.90398},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00411,"18":0.01644,"79":0,"80":0,"81":0,"83":0,"84":0.00411,"85":0.00411,"86":0.00411,"87":0.00411,"88":0.00411,"89":0.00822,"90":0.00411,"91":0.0452,"92":1.25735,"93":0},P:{"4":0.17753,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01044,"8.2":0.01044,"9.2":0.02089,"10.1":0.02089,"11.1-11.2":0.13576,"12.0":0.06266,"13.0":0.17753,"14.0":2.45414},I:{"0":0,"3":0,"4":0.00886,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00886,"4.2-4.3":0.02954,"4.4":0,"4.4.3-4.4.4":0.18903},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.22189,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.33579},Q:{"10.4":0.01767},O:{"0":0.10015},H:{"0":0.22309},L:{"0":61.67028},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/ET.js b/node_modules/caniuse-lite/data/regions/ET.js new file mode 100644 index 00000000..1bf05302 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/ET.js @@ -0,0 +1 @@ +module.exports={C:{"20":0.004,"27":0.004,"28":0.004,"29":0.012,"30":0.016,"31":0.02401,"32":0.008,"33":0.008,"34":0.012,"35":0.016,"36":0.008,"37":0.016,"38":0.012,"39":0.012,"40":0.008,"41":0.004,"42":0.012,"43":0.08802,"44":0.02401,"45":0.008,"46":0.004,"47":0.12403,"48":0.016,"49":0.012,"50":0.016,"52":0.4161,"54":0.008,"56":0.02001,"57":0.004,"58":0.008,"59":0.004,"60":0.012,"61":0.016,"64":0.008,"65":0.004,"66":0.02001,"67":0.012,"68":0.02401,"72":0.03601,"73":0.008,"74":0.004,"76":0.004,"77":0.06402,"78":0.13603,"79":0.008,"80":0.004,"81":0.02801,"82":0.008,"83":0.012,"84":0.10003,"85":0.012,"86":0.016,"87":0.02401,"88":0.12003,"89":0.26407,"90":1.32433,"91":2.14054,"92":0.23606,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 51 53 55 62 63 69 70 71 75 93 3.5 3.6"},D:{"11":0.016,"26":0.004,"31":0.008,"33":0.03601,"34":0.008,"35":0.008,"36":0.008,"37":0.016,"38":0.03201,"39":0.004,"40":0.18005,"42":0.004,"43":0.32008,"45":0.004,"46":0.008,"48":0.008,"49":0.06002,"50":0.008,"51":0.008,"53":0.012,"55":0.008,"56":0.008,"57":0.012,"58":0.012,"59":0.004,"60":0.016,"62":0.004,"63":0.04001,"64":0.008,"65":0.02401,"66":0.008,"67":0.02001,"68":0.07602,"69":0.04001,"70":0.02801,"71":0.06002,"72":0.016,"73":0.03601,"74":0.02801,"75":0.02401,"76":0.02001,"77":0.02801,"78":0.02801,"79":0.14804,"80":0.04801,"81":0.03201,"83":0.03601,"84":0.06002,"85":0.06002,"86":0.15604,"87":0.30808,"88":0.06802,"89":0.10403,"90":0.18805,"91":0.91223,"92":20.30508,"93":0.04801,"94":0.07602,"95":0.012,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 32 41 44 47 52 54 61 96"},F:{"25":0.012,"46":0.004,"63":0.004,"73":0.004,"74":0.008,"75":0.008,"76":0.03201,"77":1.41235,"78":1.02826,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00073,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00073,"5.0-5.1":0.00402,"6.0-6.1":0.00292,"7.0-7.1":0.28853,"8.1-8.4":0.07195,"9.0-9.2":0.0073,"9.3":0.1344,"10.0-10.2":0.01096,"10.3":0.59203,"11.0-11.2":0.03506,"11.3-11.4":0.02447,"12.0-12.1":0.03798,"12.2-12.4":0.12673,"13.0-13.1":0.01059,"13.2":0.01497,"13.3":0.04675,"13.4-13.7":0.09788,"14.0-14.4":0.55843,"14.5-14.7":1.14901},E:{"4":0,"8":0.09602,"14":0.04801,_:"0 5 6 7 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.008,"12.1":0.008,"13.1":0.03601,"14.1":0.10803},B:{"12":0.09202,"13":0.05601,"14":0.03201,"15":0.03201,"16":0.05601,"17":0.06402,"18":0.14004,"83":0.008,"84":0.02001,"85":0.02001,"87":0.004,"88":0.008,"89":0.05201,"90":0.03601,"91":0.10803,"92":3.02076,_:"79 80 81 86 93"},P:{"4":0.84151,"5.0-5.4":0.04156,"6.2-6.4":0.07272,"7.2-7.4":0.32206,"8.2":0.01026,"9.2":0.13506,"10.1":0.05132,"11.1-11.2":0.17661,"12.0":0.05195,"13.0":0.14545,"14.0":0.90385},I:{"0":0,"3":0,"4":0.00152,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00941,"4.2-4.3":0.0355,"4.4":0,"4.4.3-4.4.4":0.16354},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00487,"9":0.00487,"11":0.32634,_:"6 7 10 5.5"},J:{"7":0,"10":0.006},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.07799},Q:{"10.4":0.04199},O:{"0":1.76971},H:{"0":7.8263},L:{"0":46.31147},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/FI.js b/node_modules/caniuse-lite/data/regions/FI.js new file mode 100644 index 00000000..ac91a4e7 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/FI.js @@ -0,0 +1 @@ +module.exports={C:{"38":0.01168,"43":0.01168,"45":0.00584,"48":0.01168,"50":0.01168,"51":0.00584,"52":0.08762,"54":0.02921,"55":0.04089,"56":0.01168,"59":0.02336,"60":0.01752,"63":0.01168,"65":0.00584,"66":0.00584,"68":0.01168,"76":0.01168,"77":0.00584,"78":0.38551,"79":0.02921,"80":0.01752,"81":0.02336,"82":0.02921,"83":0.00584,"84":0.05257,"85":0.01168,"86":0.01168,"87":0.01168,"88":0.08177,"89":0.16355,"90":2.42986,"91":3.72072,"92":0.01752,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 46 47 49 53 57 58 61 62 64 67 69 70 71 72 73 74 75 93 3.5 3.6"},D:{"28":0.01168,"38":0.01752,"42":0.02921,"48":0.06425,"49":0.21612,"52":0.0993,"53":0.01168,"56":0.04089,"57":0.01168,"59":0.03505,"60":0.23364,"61":0.06425,"63":0.00584,"64":0.4556,"65":0.01168,"66":0.08762,"67":0.02336,"69":0.27453,"70":0.47896,"71":0.00584,"72":0.47312,"73":0.01168,"74":0.01168,"75":0.07009,"76":0.05841,"77":0.01752,"78":0.02336,"79":1.14484,"80":0.51985,"81":0.04673,"83":0.26285,"84":0.32126,"85":0.24532,"86":0.50233,"87":0.83526,"88":0.08177,"89":0.0993,"90":2.73359,"91":1.92753,"92":25.72961,"93":0.01752,"94":0.01168,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 39 40 41 43 44 45 46 47 50 51 54 55 58 62 68 95 96"},F:{"68":0.01752,"69":0.00584,"71":0.01168,"74":0.00584,"77":0.64835,"78":0.57826,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 70 72 73 75 76 9.5-9.6 10.5 10.6 11.5 11.6 12.1","10.0-10.1":0,"11.1":0.01168},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00122,"6.0-6.1":0.00609,"7.0-7.1":0.00609,"8.1-8.4":0.01706,"9.0-9.2":0.09751,"9.3":0.07313,"10.0-10.2":0.02316,"10.3":0.14139,"11.0-11.2":0.0451,"11.3-11.4":0.10239,"12.0-12.1":0.05973,"12.2-12.4":0.15968,"13.0-13.1":0.02438,"13.2":0.01828,"13.3":0.10848,"13.4-13.7":0.43271,"14.0-14.4":1.7857,"14.5-14.7":8.67617},E:{"4":0.01168,"10":0.00584,"11":0.00584,"12":0.01168,"13":0.27453,"14":0.60746,"15":0.01752,_:"0 5 6 7 8 9 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.03505,"11.1":0.10514,"12.1":0.07009,"13.1":0.44976,"14.1":3.06653},B:{"14":0.01752,"17":0.02336,"18":0.08762,"81":0.02336,"83":0.01168,"84":0.02921,"85":0.01168,"86":0.01752,"89":0.02921,"90":0.02336,"91":0.14603,"92":4.01277,"93":0.00584,_:"12 13 15 16 79 80 87 88"},P:{"4":0.06405,"5.0-5.4":0.02135,"6.2-6.4":0.07272,"7.2-7.4":0.32206,"8.2":0.01026,"9.2":0.0427,"10.1":0.01068,"11.1-11.2":0.09608,"12.0":0.07473,"13.0":0.22419,"14.0":2.39137},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00142,"4.2-4.3":0.01522,"4.4":0,"4.4.3-4.4.4":0.01664},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.24463,"9":0.03136,"10":0.40145,"11":0.5959,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.72783},Q:{"10.4":0},O:{"0":0.18716},H:{"0":0.46462},L:{"0":25.74651},S:{"2.5":0.00416}}; diff --git a/node_modules/caniuse-lite/data/regions/FJ.js b/node_modules/caniuse-lite/data/regions/FJ.js new file mode 100644 index 00000000..457a0505 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/FJ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00371,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01113,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00371,"48":0,"49":0,"50":0,"51":0,"52":0.02226,"53":0,"54":0.01113,"55":0,"56":0.01113,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.03339,"66":0,"67":0,"68":0.01113,"69":0,"70":0,"71":0,"72":0.00371,"73":0,"74":0,"75":0,"76":0,"77":0.00742,"78":0.00742,"79":0,"80":0.01113,"81":0.00371,"82":0,"83":0,"84":0.00371,"85":0,"86":0,"87":0.00742,"88":0.01855,"89":0.08162,"90":0.40068,"91":0.59731,"92":0.02226,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00371,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00371,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.0371,"40":0.00371,"41":0,"42":0,"43":0,"44":0,"45":0.00742,"46":0.01113,"47":0.00371,"48":0,"49":0.01484,"50":0.00371,"51":0,"52":0,"53":0.0371,"54":0,"55":0,"56":0.01855,"57":0,"58":0.00371,"59":0,"60":0,"61":0,"62":0.00371,"63":0.00371,"64":0.00371,"65":0.00371,"66":0.00371,"67":0,"68":0,"69":0.00742,"70":0.00371,"71":0,"72":0.00742,"73":0.01113,"74":0.01113,"75":0.00371,"76":0.00371,"77":0.00742,"78":0,"79":0.02968,"80":0.01484,"81":0.02597,"83":0.01855,"84":0.00742,"85":0.00371,"86":0.03339,"87":0.0371,"88":0.00742,"89":0.03339,"90":0.07791,"91":0.34503,"92":7.7539,"93":0.00742,"94":0.00371,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00371,"55":0,"56":0,"57":0.00371,"58":0.03339,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.10017,"78":0.06678,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00407,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02304,"6.0-6.1":0.00271,"7.0-7.1":0.01084,"8.1-8.4":0.01762,"9.0-9.2":0.00136,"9.3":0.25479,"10.0-10.2":0.00678,"10.3":0.15518,"11.0-11.2":0.01965,"11.3-11.4":0.01626,"12.0-12.1":0.05286,"12.2-12.4":0.11249,"13.0-13.1":0.00813,"13.2":0.01152,"13.3":0.27377,"13.4-13.7":0.36525,"14.0-14.4":1.04899,"14.5-14.7":3.75482},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.02226,"14":0.08904,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00371,"11.1":0.00371,"12.1":0.00742,"13.1":0.06307,"14.1":0.28567},B:{"12":0.00371,"13":0.03339,"14":0.00371,"15":0.01484,"16":0.01113,"17":0.00742,"18":0.05936,"79":0,"80":0.01113,"81":0,"83":0,"84":0.01484,"85":0.01113,"86":0,"87":0.06678,"88":0,"89":0.05194,"90":0.01113,"91":0.06307,"92":1.40238,"93":0},P:{"4":0.84344,"5.0-5.4":0.02057,"6.2-6.4":0.04114,"7.2-7.4":1.39888,"8.2":0.01029,"9.2":0.27772,"10.1":0.06172,"11.1-11.2":0.79202,"12.0":0.216,"13.0":0.8743,"14.0":3.99093},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00398,"4.2-4.3":0.01791,"4.4":0,"4.4.3-4.4.4":0.10747},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.29309,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.1258},Q:{"10.4":0.00629},O:{"0":1.41525},H:{"0":0.41089},L:{"0":66.5372},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/FK.js b/node_modules/caniuse-lite/data/regions/FK.js new file mode 100644 index 00000000..47975424 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/FK.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00924,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.01847,"60":0,"61":0,"62":0,"63":0.05542,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00462,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.14778,"79":0,"80":0,"81":0.00924,"82":0.00924,"83":0,"84":0.00924,"85":0,"86":0.01385,"87":0.03694,"88":0.07851,"89":0.04156,"90":1.65786,"91":1.10832,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00462,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03694,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00462,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.02309,"64":0,"65":0,"66":0,"67":0,"68":0.02309,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0.00462,"81":0.12007,"83":0,"84":0.00462,"85":0,"86":0,"87":0.01385,"88":0.05542,"89":0.01847,"90":0.12007,"91":0.48489,"92":9.25909,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02309,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00462,"74":0,"75":0,"76":0,"77":1.26995,"78":0.47565,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.0292,"9.0-9.2":0,"9.3":0.36066,"10.0-10.2":0.04294,"10.3":0.40532,"11.0-11.2":0.01374,"11.3-11.4":0.20094,"12.0-12.1":0.14427,"12.2-12.4":0.08587,"13.0-13.1":0.01374,"13.2":0.05839,"13.3":0.1872,"13.4-13.7":0.17346,"14.0-14.4":4.29533,"14.5-14.7":10.7701},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.54492,"14":0.27708,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01385,"11.1":0,"12.1":0.00462,"13.1":0.2817,"14.1":0.66961},B:{"12":0.00462,"13":0,"14":0,"15":0.01385,"16":0.09236,"17":0.01385,"18":0.22628,"79":0,"80":0.00924,"81":0,"83":0,"84":0.06927,"85":0,"86":0.04618,"87":0.00462,"88":0.03694,"89":0.00924,"90":0.04156,"91":0.34635,"92":1.71328,"93":0},P:{"4":0,"5.0-5.4":0.0619,"6.2-6.4":0,"7.2-7.4":0.03095,"8.2":0,"9.2":0.07222,"10.1":0.02063,"11.1-11.2":0.38173,"12.0":0.08254,"13.0":2.14595,"14.0":8.23302},I:{"0":0,"3":0,"4":0.26169,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.13084},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.89127,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.15608},Q:{"10.4":0},O:{"0":0},H:{"0":0.25986},L:{"0":44.49532},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/FM.js b/node_modules/caniuse-lite/data/regions/FM.js new file mode 100644 index 00000000..ddccad33 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/FM.js @@ -0,0 +1 @@ +module.exports={C:{"43":0.01004,"48":0.01004,"52":0.01004,"57":0.01004,"78":0.01004,"85":0.01004,"88":0.04018,"89":0.01507,"90":1.4614,"91":2.03391,"92":0.15568,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 49 50 51 53 54 55 56 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 86 87 93 3.5 3.6"},D:{"49":0.07031,"50":0.01507,"75":0.01507,"76":0.02009,"79":0.26114,"81":0.07031,"84":0.02511,"86":0.01507,"87":0.15568,"88":0.01507,"90":0.26114,"91":4.29883,"92":25.53185,"93":0.01004,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 77 78 80 83 85 89 94 95 96"},F:{"77":0.7081,"78":0.67797,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.18407,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.68921,"10.0-10.2":0,"10.3":0.21601,"11.0-11.2":0,"11.3-11.4":0.01933,"12.0-12.1":0.15213,"12.2-12.4":0.02269,"13.0-13.1":0,"13.2":0.00925,"13.3":0.02858,"13.4-13.7":0.66399,"14.0-14.4":0.9153,"14.5-14.7":4.11843},E:{"4":0,"13":0.04018,"14":0.10044,_:"0 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 11.1","10.1":0.01004,"12.1":0.02511,"13.1":0.13057,"14.1":0.38669},B:{"13":0.04018,"16":0.07031,"17":0.01507,"18":0.03013,"83":0.01004,"84":0.01507,"86":0.60766,"88":0.02009,"89":0.02511,"90":0.73321,"91":0.24608,"92":9.65228,_:"12 14 15 79 80 81 85 87 93"},P:{"4":0.14352,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.64289,"8.2":0,"9.2":0.09643,"10.1":0.01025,"11.1-11.2":0.52503,"12.0":0.02143,"13.0":0.41788,"14.0":1.77866},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.01004,"11":0.34652,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.01991},Q:{"10.4":0},O:{"0":0.39326},H:{"0":0.476},L:{"0":40.01817},S:{"2.5":0.00996}}; diff --git a/node_modules/caniuse-lite/data/regions/FO.js b/node_modules/caniuse-lite/data/regions/FO.js new file mode 100644 index 00000000..7061a988 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/FO.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01177,"36":0.00589,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00589,"49":0,"50":0,"51":0,"52":0.00589,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00589,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00589,"77":0,"78":0.40613,"79":0,"80":0,"81":0,"82":0.00589,"83":0,"84":0,"85":0,"86":0,"87":0.00589,"88":0.0412,"89":0.12949,"90":0.70043,"91":1.52447,"92":0.02354,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.05297,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00589,"62":0,"63":0.01177,"64":0,"65":0.00589,"66":0,"67":0.01766,"68":0,"69":0,"70":0,"71":0.12361,"72":0,"73":0,"74":0,"75":0.06475,"76":0,"77":0.00589,"78":0,"79":0.10595,"80":0.02943,"81":0.01766,"83":0.00589,"84":0,"85":0.0824,"86":0.00589,"87":0.05297,"88":0.00589,"89":0.01177,"90":0.31196,"91":1.28315,"92":18.92349,"93":0.02943,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00589,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00589,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.47088,"78":0.12361,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02412,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.0201,"9.0-9.2":0,"9.3":0.46639,"10.0-10.2":0.05227,"10.3":0.59103,"11.0-11.2":0.04825,"11.3-11.4":0.13268,"12.0-12.1":0.05227,"12.2-12.4":0.26134,"13.0-13.1":0.05629,"13.2":0.11258,"13.3":0.35382,"13.4-13.7":1.89774,"14.0-14.4":7.54672,"14.5-14.7":27.13122},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.03532,"12":0.00589,"13":0.02354,"14":1.13011,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00589,"10.1":0.00589,"11.1":0.0824,"12.1":0.04709,"13.1":0.5062,"14.1":2.82528},B:{"12":0,"13":0,"14":0.01177,"15":0.01177,"16":0,"17":0,"18":0.02354,"79":0,"80":0.00589,"81":0,"83":0.00589,"84":0.00589,"85":0,"86":0,"87":0.00589,"88":0,"89":0.02354,"90":0.04709,"91":0.10595,"92":2.68402,"93":0},P:{"4":0.09329,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01037,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.05183,"12.0":0.01037,"13.0":0.09329,"14.0":2.98535},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.10418},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00589,"10":0,"11":1.136,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.18924},Q:{"10.4":0},O:{"0":0.00411},H:{"0":0.01947},L:{"0":21.62553},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/FR.js b/node_modules/caniuse-lite/data/regions/FR.js new file mode 100644 index 00000000..3ff14748 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/FR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00463,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01389,"36":0.00926,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.00926,"46":0,"47":0.00463,"48":0.01852,"49":0,"50":0.00463,"51":0,"52":0.07406,"53":0,"54":0.00463,"55":0.00463,"56":0.00926,"57":0,"58":0,"59":0.00463,"60":0.00926,"61":0,"62":0.00463,"63":0.00463,"64":0,"65":0,"66":0.00463,"67":0,"68":0.03703,"69":0.00463,"70":0,"71":0,"72":0.00463,"73":0,"74":0.00463,"75":0.00463,"76":0,"77":0.04166,"78":0.19442,"79":0.00926,"80":0.01389,"81":0.06481,"82":0.01389,"83":0.00926,"84":0.02777,"85":0.00926,"86":0.01389,"87":0.01389,"88":0.04629,"89":0.09721,"90":1.17577,"91":1.64792,"92":0.00463,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00463,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00463,"49":0.27311,"50":0.00463,"51":0.00463,"52":0.01389,"53":0.00463,"54":0.10647,"55":0.00463,"56":0.06018,"57":0.00463,"58":0.00463,"59":0.00463,"60":0.05555,"61":0.01389,"62":0,"63":0.00926,"64":0.01389,"65":0.00926,"66":0.02777,"67":0.00926,"68":0.00463,"69":0.00463,"70":0.01852,"71":0.01389,"72":0.01852,"73":0.00463,"74":0.00926,"75":0.04166,"76":0.00926,"77":0.00926,"78":0.01852,"79":0.05092,"80":0.06481,"81":0.0324,"83":0.06018,"84":0.09721,"85":0.11573,"86":0.11573,"87":0.23608,"88":0.08795,"89":0.08795,"90":0.08795,"91":0.51845,"92":9.17931,"93":0.00926,"94":0.00463,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00463,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0324,"60":0,"62":0,"63":0,"64":0,"65":0.00463,"66":0,"67":0,"68":0.00463,"69":0.00463,"70":0.00463,"71":0.00463,"72":0.00463,"73":0,"74":0,"75":0.00463,"76":0.00463,"77":0.24534,"78":0.20368,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.02158,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00719,"6.0-6.1":0.01679,"7.0-7.1":0.02398,"8.1-8.4":0.02638,"9.0-9.2":0.05036,"9.3":0.43882,"10.0-10.2":0.05036,"10.3":0.30214,"11.0-11.2":0.12949,"11.3-11.4":0.09832,"12.0-12.1":0.09832,"12.2-12.4":0.29974,"13.0-13.1":0.1199,"13.2":0.04077,"13.3":0.27576,"13.4-13.7":0.87765,"14.0-14.4":2.99263,"14.5-14.7":16.99182},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00463,"12":0.00926,"13":0.05555,"14":0.36569,"15":0.01389,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00463,"10.1":0.01852,"11.1":0.05555,"12.1":0.07869,"13.1":0.25922,"14.1":1.31927},B:{"12":0,"13":0.00463,"14":0.00463,"15":0.00463,"16":0.00463,"17":0.00926,"18":0.05092,"79":0,"80":0,"81":0,"83":0.00463,"84":0.00926,"85":0.00926,"86":0.01389,"87":0.00463,"88":0.00463,"89":0.01389,"90":0.00926,"91":0.07406,"92":2.01362,"93":0},P:{"4":0.09367,"5.0-5.4":0.03122,"6.2-6.4":0.01041,"7.2-7.4":0.03122,"8.2":0.01041,"9.2":0.05204,"10.1":0.03122,"11.1-11.2":0.13529,"12.0":0.09367,"13.0":0.22896,"14.0":2.97647},I:{"0":0,"3":0,"4":0.0054,"2.1":0,"2.2":0,"2.3":0,"4.1":0.009,"4.2-4.3":0.0144,"4.4":0,"4.4.3-4.4.4":0.13676},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00524,"7":0,"8":0.00524,"9":0.01571,"10":0.00524,"11":0.28798,"5.5":0},J:{"7":0,"10":0.00537},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.65526},Q:{"10.4":0.01074},O:{"0":0.63378},H:{"0":0.43222},L:{"0":48.26954},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GA.js b/node_modules/caniuse-lite/data/regions/GA.js new file mode 100644 index 00000000..5c6d0295 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GA.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00318,"44":0,"45":0,"46":0,"47":0.00318,"48":0.00636,"49":0,"50":0,"51":0,"52":0.05085,"53":0,"54":0.01907,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00318,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.04449,"79":0,"80":0,"81":0.00318,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.01271,"89":0.03178,"90":0.2161,"91":0.27966,"92":0.00636,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00318,"39":0.00318,"40":0.00318,"41":0,"42":0,"43":0.00318,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.02225,"50":0,"51":0,"52":0.00636,"53":0,"54":0,"55":0.00318,"56":0,"57":0,"58":0.00318,"59":0,"60":0,"61":0,"62":0,"63":0.00636,"64":0.00318,"65":0.00636,"66":0,"67":0.00318,"68":0.00318,"69":0.11441,"70":0.00318,"71":0,"72":0.00318,"73":0.00636,"74":0.00318,"75":0.00636,"76":0.03814,"77":0.00953,"78":0.00318,"79":0.05403,"80":0.00636,"81":0.0286,"83":0.00636,"84":0.00318,"85":0.00318,"86":0.01907,"87":0.06674,"88":0.0286,"89":0.02225,"90":0.03178,"91":0.25742,"92":5.09116,"93":0,"94":0.00636,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.04131,"29":0.00318,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00636,"58":0.01907,"60":0,"62":0,"63":0.00318,"64":0.00318,"65":0.02225,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00318,"77":0.28284,"78":0.27649,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00636},G:{"8":0.00511,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01363,"6.0-6.1":0,"7.0-7.1":0.02896,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.65408,"10.0-10.2":0.00681,"10.3":0.06984,"11.0-11.2":0.39517,"11.3-11.4":0.02044,"12.0-12.1":0.02725,"12.2-12.4":0.26572,"13.0-13.1":0.00681,"13.2":0.01192,"13.3":0.08176,"13.4-13.7":0.18226,"14.0-14.4":1.45976,"14.5-14.7":8.65296},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00318,"11":0,"12":0,"13":0.09534,"14":0.0572,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0.00318,"9.1":0,"10.1":0.00636,"11.1":0.00953,"12.1":0.00636,"13.1":0.00953,"14.1":0.09216},B:{"12":0.00636,"13":0.00318,"14":0.00636,"15":0.00318,"16":0.00318,"17":0.00318,"18":0.02225,"79":0,"80":0,"81":0,"83":0,"84":0.00636,"85":0,"86":0,"87":0,"88":0,"89":0.00953,"90":0.01271,"91":0.04767,"92":0.75954,"93":0},P:{"4":0.42798,"5.0-5.4":0.02038,"6.2-6.4":0.06114,"7.2-7.4":0.90691,"8.2":0,"9.2":0.06114,"10.1":0.03057,"11.1-11.2":0.13247,"12.0":0.09171,"13.0":0.69292,"14.0":2.29275},I:{"0":0,"3":0,"4":0.00059,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00117,"4.2-4.3":0.01114,"4.4":0,"4.4.3-4.4.4":0.14067},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.18432,"5.5":0},J:{"7":0,"10":0.08186},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.1228},Q:{"10.4":0.23877},O:{"0":0.86639},H:{"0":1.69862},L:{"0":68.71425},S:{"2.5":0.02729}}; diff --git a/node_modules/caniuse-lite/data/regions/GB.js b/node_modules/caniuse-lite/data/regions/GB.js new file mode 100644 index 00000000..93dec2bf --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GB.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01447,"36":0.00964,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00482,"49":0,"50":0,"51":0,"52":0.01929,"53":0,"54":0,"55":0,"56":0.00482,"57":0,"58":0,"59":0.00964,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00482,"66":0,"67":0,"68":0.00964,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.04822,"79":0,"80":0.00482,"81":0.00482,"82":0.00964,"83":0,"84":0.01447,"85":0.00482,"86":0.00482,"87":0.00482,"88":0.01929,"89":0.03858,"90":0.58828,"91":0.77634,"92":0.00482,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00482,"34":0,"35":0,"36":0.00482,"37":0,"38":0.00964,"39":0,"40":0.11091,"41":0.00482,"42":0,"43":0.00482,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.10126,"50":0,"51":0,"52":0.00482,"53":0,"54":0,"55":0,"56":0.00482,"57":0,"58":0.00482,"59":0.00482,"60":0.01447,"61":0.01929,"62":0,"63":0.00482,"64":0.00482,"65":0.00964,"66":0.03375,"67":0.00964,"68":0.00482,"69":0.03375,"70":0.00964,"71":0.02893,"72":0.01447,"73":0.00482,"74":0.01447,"75":0.01929,"76":0.02411,"77":0.00964,"78":0.01447,"79":0.03858,"80":0.03375,"81":0.02411,"83":0.05304,"84":0.02411,"85":0.02411,"86":0.02893,"87":0.12055,"88":0.04822,"89":0.6799,"90":0.11573,"91":0.73294,"92":9.96225,"93":0.00964,"94":0.00482,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00482,"37":0,"38":0,"39":0,"40":0.00482,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00482,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01447,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.17841,"78":0.1543,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00482},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01181,"6.0-6.1":0.01575,"7.0-7.1":0.03151,"8.1-8.4":0.03544,"9.0-9.2":0.02757,"9.3":0.59073,"10.0-10.2":0.03151,"10.3":0.57498,"11.0-11.2":0.07876,"11.3-11.4":0.12602,"12.0-12.1":0.0827,"12.2-12.4":0.2993,"13.0-13.1":0.06695,"13.2":0.02363,"13.3":0.22448,"13.4-13.7":0.84671,"14.0-14.4":3.64284,"14.5-14.7":30.29662},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00482,"12":0.00482,"13":0.06751,"14":0.46773,"15":0.01447,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00482,"10.1":0.01447,"11.1":0.0434,"12.1":0.06269,"13.1":0.27485,"14.1":2.67621},B:{"12":0,"13":0,"14":0.00482,"15":0.00482,"16":0.00482,"17":0.00964,"18":0.10608,"79":0,"80":0,"81":0,"83":0,"84":0.00482,"85":0.00482,"86":0.00482,"87":0.00482,"88":0.00482,"89":0.00964,"90":0.01447,"91":0.08197,"92":2.88838,"93":0.00482},P:{"4":0.08649,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02162,"8.2":0,"9.2":0.01081,"10.1":0.02162,"11.1-11.2":0.0973,"12.0":0.05405,"13.0":0.18378,"14.0":3.72968},I:{"0":0,"3":0,"4":0.15523,"2.1":0,"2.2":0.00913,"2.3":0,"4.1":0.01826,"4.2-4.3":0.07305,"4.4":0,"4.4.3-4.4.4":0.37134},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00532,"9":0,"10":0,"11":0.30329,"5.5":0},J:{"7":0,"10":0.00518},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.33657},Q:{"10.4":0.01036},O:{"0":0.18641},H:{"0":0.2157},L:{"0":32.87571},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GD.js b/node_modules/caniuse-lite/data/regions/GD.js new file mode 100644 index 00000000..52916b87 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GD.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01428,"36":0.00952,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00476,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.01428,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00476,"78":0.01428,"79":0,"80":0,"81":0.00476,"82":0,"83":0,"84":0.00476,"85":0,"86":0.0809,"87":0.00476,"88":0,"89":0.01428,"90":0.40452,"91":0.60915,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02855,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00476,"38":0.00476,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01428,"50":0.01428,"51":0,"52":0,"53":0.00476,"54":0,"55":0,"56":0,"57":0.00952,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00476,"74":0.17132,"75":0,"76":0.01904,"77":0.06187,"78":0.00952,"79":0.01904,"80":0.00476,"81":0.01904,"83":0.04283,"84":0.02855,"85":0.00952,"86":0.07139,"87":0.0238,"88":0.00952,"89":0.0238,"90":0.20464,"91":0.71861,"92":12.12593,"93":0.06663,"94":0.02855,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00476,"60":0,"62":0,"63":0.0238,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.15705,"73":0,"74":0,"75":0,"76":0,"77":0.13801,"78":0.11422,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.03408,"6.0-6.1":0.00296,"7.0-7.1":0.30227,"8.1-8.4":0,"9.0-9.2":0.04001,"9.3":0.18522,"10.0-10.2":0,"10.3":0.40599,"11.0-11.2":0.01926,"11.3-11.4":0.01778,"12.0-12.1":0,"12.2-12.4":0.05186,"13.0-13.1":0.05334,"13.2":0.00296,"13.3":0.41933,"13.4-13.7":0.45933,"14.0-14.4":1.32318,"14.5-14.7":10.84323},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.07614,"11":0,"12":0,"13":0.00476,"14":0.30458,"15":0.00476,_:"0","3.1":0,"3.2":0,"5.1":0.00476,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01904,"11.1":0.00952,"12.1":0.00476,"13.1":0.17608,"14.1":1.2183},B:{"12":0,"13":0,"14":0.00952,"15":0.00476,"16":0,"17":0.00476,"18":0.02855,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.01428,"90":0,"91":0.07139,"92":3.29323,"93":0.00476},P:{"4":0.15721,"5.0-5.4":0,"6.2-6.4":0.01123,"7.2-7.4":0.17967,"8.2":0,"9.2":0.02246,"10.1":0.01123,"11.1-11.2":0.13475,"12.0":0.12352,"13.0":1.39242,"14.0":3.15541},I:{"0":0,"3":0,"4":0.10761,"2.1":0,"2.2":0,"2.3":0,"4.1":0.03074,"4.2-4.3":0.56878,"4.4":0,"4.4.3-4.4.4":2.04453},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.0118,"10":0,"11":0.13573,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.53982},Q:{"10.4":0.01048},O:{"0":0.09958},H:{"0":0.19847},L:{"0":52.65869},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GE.js b/node_modules/caniuse-lite/data/regions/GE.js new file mode 100644 index 00000000..f762ef6d --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00431,"35":0.00431,"36":0.00431,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00431,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00431,"66":0,"67":0,"68":0.00431,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00862,"79":0,"80":0.00862,"81":0.00862,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.01293,"89":0.02585,"90":0.28009,"91":0.37057,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00431,"35":0,"36":0,"37":0,"38":0.00431,"39":0.00431,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00431,"48":0.00431,"49":0.0948,"50":0.00431,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00431,"57":0,"58":0,"59":0.01293,"60":0,"61":0,"62":0.00862,"63":0.01293,"64":0.00431,"65":0.00862,"66":0.01293,"67":0.00431,"68":0.00862,"69":0.00431,"70":0.00431,"71":0.01293,"72":0.00431,"73":0.00431,"74":0.00862,"75":0.01293,"76":0.00862,"77":0.00431,"78":0.00431,"79":0.08187,"80":0.02155,"81":0.03016,"83":0.01724,"84":0.02585,"85":0.02155,"86":0.06033,"87":0.13358,"88":0.05602,"89":0.0474,"90":0.12496,"91":0.39643,"92":12.16862,"93":0.00862,"94":0.01293,"95":0.00431,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00862,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00431,"37":0,"38":0,"39":0,"40":0.00431,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00431,"47":0,"48":0.00431,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00431,"60":0.00431,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00431,"68":0,"69":0.00431,"70":0,"71":0,"72":0.00431,"73":0,"74":0.00431,"75":0.00431,"76":0.00431,"77":0.83164,"78":0.82733,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.03975,"6.0-6.1":0.00442,"7.0-7.1":0.23406,"8.1-8.4":0.01767,"9.0-9.2":0.00883,"9.3":0.34447,"10.0-10.2":0.0265,"10.3":0.25614,"11.0-11.2":0.10599,"11.3-11.4":0.11924,"12.0-12.1":0.07287,"12.2-12.4":0.46592,"13.0-13.1":0.07729,"13.2":0.02429,"13.3":0.25614,"13.4-13.7":0.73531,"14.0-14.4":3.416,"14.5-14.7":14.16303},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00431,"13":0.00431,"14":0.09911,"15":0.00862,_:"0","3.1":0,"3.2":0,"5.1":0.00862,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00431,"12.1":0.01293,"13.1":0.03878,"14.1":0.26716},B:{"12":0.00431,"13":0.03878,"14":0.0474,"15":0.01293,"16":0.03447,"17":0.00431,"18":0.05171,"79":0,"80":0,"81":0,"83":0,"84":0.00431,"85":0,"86":0,"87":0.00431,"88":0,"89":0.00862,"90":0.01293,"91":0.03016,"92":0.84456,"93":0},P:{"4":0.28683,"5.0-5.4":0,"6.2-6.4":0.01024,"7.2-7.4":0.08195,"8.2":0,"9.2":0.02049,"10.1":0.01024,"11.1-11.2":0.14341,"12.0":0.07171,"13.0":0.15366,"14.0":1.32145},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02155,"4.2-4.3":0.11855,"4.4":0,"4.4.3-4.4.4":0.47958},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00482,"9":0,"10":0.00482,"11":0.07224,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.06829},Q:{"10.4":0},O:{"0":0.11951},H:{"0":0.29633},L:{"0":56.95031},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GF.js b/node_modules/caniuse-lite/data/regions/GF.js new file mode 100644 index 00000000..de1fa004 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GF.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00401,"36":0.00401,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.0641,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00401,"61":0,"62":0,"63":0,"64":0.00801,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.00401,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.01202,"78":0.04807,"79":0,"80":0.00401,"81":0.00401,"82":0.00801,"83":0.00401,"84":0,"85":0.00801,"86":0.00401,"87":0.00401,"88":0.01602,"89":0.02404,"90":0.80521,"91":0.94942,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.25638,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00401,"56":0,"57":0.0641,"58":0.00401,"59":0,"60":0,"61":0,"62":0,"63":0.07611,"64":0.00801,"65":0.00401,"66":0,"67":0.00801,"68":0,"69":0,"70":0,"71":0,"72":0.00401,"73":0,"74":0,"75":0,"76":0.00401,"77":0,"78":0.00401,"79":0.01202,"80":0.00801,"81":0.03605,"83":0.00401,"84":0,"85":0.02003,"86":0.00401,"87":0.02404,"88":1.15773,"89":0.07611,"90":0.04006,"91":0.36054,"92":6.48171,"93":0.02003,"94":0.00401,"95":0.00401,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00401,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00401,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.37656,"78":0.14021,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.02899,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.51221,"10.0-10.2":0.10051,"10.3":0.73836,"11.0-11.2":0.07925,"11.3-11.4":0.02513,"12.0-12.1":0.20682,"12.2-12.4":0.05605,"13.0-13.1":0.13723,"13.2":0.00773,"13.3":0.07925,"13.4-13.7":0.45423,"14.0-14.4":1.90195,"14.5-14.7":14.65312},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00401,"12":0.00801,"13":0.00401,"14":0.19229,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00401,"6.1":0,"7.1":0,"9.1":0.00401,"10.1":0.00401,"11.1":0.00801,"12.1":0.08413,"13.1":0.08012,"14.1":0.79319},B:{"12":0.00401,"13":0,"14":0,"15":0.00401,"16":0,"17":0.00401,"18":0.04407,"79":0,"80":0,"81":0,"83":0,"84":0.02404,"85":0,"86":0,"87":0,"88":0,"89":0.00401,"90":0.01202,"91":0.04807,"92":2.59989,"93":0},P:{"4":0.03115,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.08308,"8.2":0,"9.2":0.02077,"10.1":0.03115,"11.1-11.2":0.27001,"12.0":0.03115,"13.0":0.09346,"14.0":1.91083},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00543,"4.2-4.3":0.067,"4.4":0,"4.4.3-4.4.4":0.07968},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.22834,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.38362},Q:{"10.4":0.01199},O:{"0":0.04196},H:{"0":0.05675},L:{"0":61.08547},S:{"2.5":0.00599}}; diff --git a/node_modules/caniuse-lite/data/regions/GG.js b/node_modules/caniuse-lite/data/regions/GG.js new file mode 100644 index 00000000..51a48f8e --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GG.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.03616,"68":0.01033,"78":0.05165,"88":0.0155,"89":0.02066,"90":1.00201,"91":1.11564,"92":0.00517,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 93 3.5 3.6"},D:{"38":0.00517,"49":0.05682,"65":0.0155,"66":0.01033,"67":0.02066,"74":0.01033,"76":0.01033,"79":0.01033,"81":0.01033,"85":0.03099,"86":0.03616,"87":0.07748,"88":0.04132,"89":0.13946,"90":0.6353,"91":1.80259,"92":19.96789,"93":0.0155,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 68 69 70 71 72 73 75 77 78 80 83 84 94 95 96"},F:{"77":0.17561,"78":0.14979,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.05854,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.03805,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.4156,"9.0-9.2":0,"9.3":1.24388,"10.0-10.2":0.00585,"10.3":1.35802,"11.0-11.2":0.07317,"11.3-11.4":0.05268,"12.0-12.1":0.05854,"12.2-12.4":0.22243,"13.0-13.1":0.02049,"13.2":0,"13.3":0.16975,"13.4-13.7":0.55316,"14.0-14.4":3.07604,"14.5-14.7":20.10693},E:{"4":0,"11":0.25309,"12":0.00517,"13":0.14979,"14":1.59599,"15":0.00517,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.00517,"10.1":0.02066,"11.1":0.21693,"12.1":0.16012,"13.1":1.12597,"14.1":13.22757},B:{"17":0.03099,"18":0.08264,"85":0.01033,"87":0.00517,"90":0.0155,"91":0.40804,"92":6.20317,"93":0.00517,_:"12 13 14 15 16 79 80 81 83 84 86 88 89"},P:{"4":0.18892,"5.0-5.4":0.01036,"6.2-6.4":0.01036,"7.2-7.4":0.02065,"8.2":0.01026,"9.2":0.05163,"10.1":0.01071,"11.1-11.2":0.02361,"12.0":0.03542,"13.0":0.14169,"14.0":3.84918},I:{"0":0,"3":0,"4":0.00419,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00065},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.57533,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.469},Q:{"10.4":0},O:{"0":0},H:{"0":0.04577},L:{"0":15.89464},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GH.js b/node_modules/caniuse-lite/data/regions/GH.js new file mode 100644 index 00000000..96b29592 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GH.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.0054,"30":0.0054,"39":0.0027,"40":0.0027,"41":0.0054,"42":0.0054,"43":0.00809,"44":0.0027,"45":0.0027,"47":0.01079,"48":0.00809,"49":0.0054,"50":0.0054,"52":0.01889,"56":0.0054,"57":0.0054,"64":0.0027,"66":0.0054,"67":0.0027,"68":0.01079,"69":0.0027,"70":0.0054,"72":0.01349,"73":0.0054,"75":0.0027,"76":0.00809,"77":0.00809,"78":0.04047,"79":0.00809,"80":0.00809,"81":0.00809,"82":0.00809,"83":0.01079,"84":0.01889,"85":0.01079,"86":0.01619,"87":0.01889,"88":0.03507,"89":0.1349,"90":0.84447,"91":1.16554,"92":0.09713,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 31 32 33 34 35 36 37 38 46 51 53 54 55 58 59 60 61 62 63 65 71 74 93 3.5 3.6"},D:{"11":0.0027,"31":0.0054,"33":0.0027,"40":0.02158,"42":0.0027,"43":0.0054,"49":0.05396,"50":0.01079,"55":0.0054,"56":0.0054,"57":0.0054,"58":0.00809,"60":0.00809,"61":0.0027,"63":0.01349,"64":0.02698,"65":0.01349,"66":0.0054,"67":0.00809,"68":0.02698,"69":0.02428,"70":0.01349,"71":0.01079,"72":0.01889,"73":0.0054,"74":0.02158,"75":0.01349,"76":0.15109,"77":0.02968,"78":0.01889,"79":0.05396,"80":0.05666,"81":0.03507,"83":0.05936,"84":0.02158,"85":0.02158,"86":0.08094,"87":0.20775,"88":0.05666,"89":0.10252,"90":0.11062,"91":0.73386,"92":12.44587,"93":0.05126,"94":0.02968,"95":0.0054,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 34 35 36 37 38 39 41 44 45 46 47 48 51 52 53 54 59 62 96"},F:{"42":0.0054,"64":0.0054,"65":0.0054,"73":0.0054,"74":0.0027,"75":0.0054,"76":0.01349,"77":0.75274,"78":0.59356,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00847,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00423,"5.0-5.1":0.00423,"6.0-6.1":0.00423,"7.0-7.1":0.01411,"8.1-8.4":0.00988,"9.0-9.2":0.00706,"9.3":0.07762,"10.0-10.2":0.00564,"10.3":0.21733,"11.0-11.2":0.70984,"11.3-11.4":0.07056,"12.0-12.1":0.08185,"12.2-12.4":0.42195,"13.0-13.1":0.09455,"13.2":0.0508,"13.3":0.27377,"13.4-13.7":0.58283,"14.0-14.4":3.8272,"14.5-14.7":6.02586},E:{"4":0,"11":0.0054,"12":0.0054,"13":0.02158,"14":0.11601,"15":0.01349,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.01889,"9.1":0.00809,"10.1":0.0054,"11.1":0.01349,"12.1":0.01619,"13.1":0.07015,"14.1":0.42898},B:{"12":0.04047,"13":0.01349,"14":0.01079,"15":0.01619,"16":0.02698,"17":0.02428,"18":0.12141,"80":0.0027,"83":0.0027,"84":0.02968,"85":0.02428,"86":0.02158,"87":0.00809,"88":0.00809,"89":0.05936,"90":0.04317,"91":0.1376,"92":1.95065,_:"79 81 93"},P:{"4":0.15534,"5.0-5.4":0.01036,"6.2-6.4":0.01036,"7.2-7.4":0.15534,"8.2":0.01026,"9.2":0.05178,"10.1":0.02071,"11.1-11.2":0.17606,"12.0":0.07249,"13.0":0.1657,"14.0":1.05634},I:{"0":0,"3":0,"4":0.00034,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00275,"4.2-4.3":0.00653,"4.4":0,"4.4.3-4.4.4":0.04879},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00297,"9":0.00297,"10":0.00297,"11":0.10981,_:"6 7 5.5"},J:{"7":0,"10":0.0292},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.34315},Q:{"10.4":0.0146},O:{"0":2.43853},H:{"0":12.70447},L:{"0":46.59673},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GI.js b/node_modules/caniuse-lite/data/regions/GI.js new file mode 100644 index 00000000..994c6a25 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GI.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.02171,"36":0.00543,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.11942,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.05971,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0.01628,"88":0.00543,"89":0.07056,"90":0.20084,"91":0.39624,"92":0.00543,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00543,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.02714,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.01086,"75":0,"76":0,"77":0.00543,"78":0.00543,"79":0.01628,"80":0.02714,"81":0.04885,"83":0.00543,"84":0.87934,"85":0,"86":0.02171,"87":0.16827,"88":0.01628,"89":0.04885,"90":0.08142,"91":0.88476,"92":15.95832,"93":0,"94":0.01086,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.02171,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.15741,"78":0.23883,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.04976,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.04976,"9.3":0.50908,"10.0-10.2":0,"10.3":0.1378,"11.0-11.2":0.02679,"11.3-11.4":0.09569,"12.0-12.1":0.00766,"12.2-12.4":0.22966,"13.0-13.1":0.03062,"13.2":0.13397,"13.3":0.2488,"13.4-13.7":0.56267,"14.0-14.4":6.58357,"14.5-14.7":28.17922},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00543,"9":0,"10":0,"11":0,"12":0.00543,"13":0.06514,"14":0.65679,"15":0.01086,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.02714,"11.1":0.0977,"12.1":0.05971,"13.1":0.3094,"14.1":3.15367},B:{"12":0,"13":0,"14":0,"15":0,"16":0.00543,"17":0,"18":0.18455,"79":0,"80":0.01086,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.00543,"89":0.01086,"90":0,"91":0.05971,"92":3.52277,"93":0},P:{"4":0.29185,"5.0-5.4":0,"6.2-6.4":0.01042,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0.02085,"11.1-11.2":0.06254,"12.0":0,"13.0":0.03127,"14.0":2.93931},I:{"0":0,"3":0,"4":0.00298,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00597,"4.4":0,"4.4.3-4.4.4":0.13132},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.10856,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.52121},Q:{"10.4":0},O:{"0":0.53035},H:{"0":0.0303},L:{"0":27.57729},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GL.js b/node_modules/caniuse-lite/data/regions/GL.js new file mode 100644 index 00000000..05bcbc81 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GL.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.01151,"50":0.01151,"51":0.02877,"52":0.02877,"70":0.01726,"78":0.23016,"87":0.02877,"88":0.05179,"89":0.08056,"90":2.18077,"91":1.92759,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 92 93 3.5 3.6"},D:{"38":0.03452,"49":0.05179,"56":0.24742,"57":0.01726,"58":0.04603,"62":0.01151,"67":0.02302,"68":0.06329,"72":0.01726,"74":0.09782,"75":0.05754,"79":0.09206,"80":0.1496,"81":0.18988,"83":0.00575,"84":0.00575,"85":0.02302,"86":0.06329,"87":0.11508,"88":0.15536,"89":0.08056,"90":0.52937,"91":1.69743,"92":25.893,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 59 60 61 63 64 65 66 69 70 71 73 76 77 78 93 94 95 96"},F:{"44":0.01726,"74":0.01151,"77":2.03692,"78":0.39703,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.01241,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00414,"8.1-8.4":0,"9.0-9.2":0.0972,"9.3":0.06411,"10.0-10.2":0.24404,"10.3":0.28747,"11.0-11.2":0,"11.3-11.4":0.00414,"12.0-12.1":0.00414,"12.2-12.4":0.09513,"13.0-13.1":0,"13.2":0.01654,"13.3":0.01241,"13.4-13.7":0.2399,"14.0-14.4":1.81167,"14.5-14.7":17.28743},E:{"4":0,"10":0.04028,"13":0.38552,"14":1.53632,"15":0.03452,_:"0 5 6 7 8 9 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.24167,"13.1":0.6502,"14.1":5.8921},B:{"12":0.01151,"14":0.01151,"15":0.02302,"18":0.20139,"84":0.01151,"87":0.00575,"89":0.03452,"90":0.01151,"91":0.60992,"92":6.03595,_:"13 16 17 79 80 81 83 85 86 88 93"},P:{"4":0.18212,"5.0-5.4":0.01036,"6.2-6.4":0.01036,"7.2-7.4":0.15534,"8.2":0.01026,"9.2":0.7392,"10.1":0.01071,"11.1-11.2":0.04285,"12.0":0.07249,"13.0":0.2464,"14.0":2.91395},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0.00138,"4.1":0.00275,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.02134},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":3.53296,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.22499},Q:{"10.4":0},O:{"0":0.32687},H:{"0":0.15674},L:{"0":17.75435},S:{"2.5":0.00425}}; diff --git a/node_modules/caniuse-lite/data/regions/GM.js b/node_modules/caniuse-lite/data/regions/GM.js new file mode 100644 index 00000000..65302ae2 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GM.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00243,"33":0.00243,"34":0.00243,"35":0,"36":0,"37":0,"38":0,"39":0.00243,"40":0,"41":0,"42":0,"43":0.0097,"44":0,"45":0,"46":0.00243,"47":0,"48":0.00243,"49":0,"50":0,"51":0,"52":0.00243,"53":0,"54":0,"55":0,"56":0.00243,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00243,"67":0,"68":0.00243,"69":0.00728,"70":0,"71":0,"72":0.00485,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01213,"79":0.00243,"80":0,"81":0,"82":0,"83":0.00243,"84":0,"85":0.00243,"86":0.00485,"87":0.00243,"88":0.00485,"89":0.02183,"90":0.2426,"91":0.35177,"92":0.02426,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00243,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00485,"35":0.00243,"36":0.00243,"37":0,"38":0,"39":0,"40":0.00485,"41":0,"42":0.00243,"43":0.00243,"44":0,"45":0,"46":0.0097,"47":0,"48":0,"49":0.02911,"50":0,"51":0.00728,"52":0,"53":0.00243,"54":0,"55":0.00243,"56":0.00243,"57":0,"58":0.00243,"59":0.00485,"60":0.00485,"61":0,"62":0,"63":0.00485,"64":0.00243,"65":0.00485,"66":0,"67":0,"68":0.01213,"69":0.00243,"70":0.00243,"71":0,"72":0.00243,"73":0.00243,"74":0.04609,"75":0.00485,"76":0.03154,"77":0.00485,"78":0.00243,"79":0.07521,"80":0.00728,"81":0.01698,"83":0.00243,"84":0,"85":0.00728,"86":0.00243,"87":0.01213,"88":0.0097,"89":0.01698,"90":0.01698,"91":0.12615,"92":2.38718,"93":0.00243,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00485,"27":0,"28":0.00243,"29":0,"30":0,"31":0,"32":0.00243,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00243,"47":0.00243,"48":0,"49":0,"50":0.0097,"51":0.00243,"52":0,"53":0,"54":0.0097,"55":0.00728,"56":0,"57":0.04124,"58":0.26201,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.09947,"78":0.09704,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01698},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01342,"6.0-6.1":0.00168,"7.0-7.1":0.01174,"8.1-8.4":0.00839,"9.0-9.2":0,"9.3":0.52008,"10.0-10.2":0.01845,"10.3":0.5335,"11.0-11.2":0.05872,"11.3-11.4":0.08388,"12.0-12.1":0.07046,"12.2-12.4":0.49324,"13.0-13.1":0.05201,"13.2":0.01342,"13.3":0.30869,"13.4-13.7":0.5184,"14.0-14.4":3.91234,"14.5-14.7":8.21222},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00485,"11":0,"12":0,"13":0.00485,"14":0.02911,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00485,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00485,"11.1":0.03882,"12.1":0.00485,"13.1":0.01456,"14.1":0.0655},B:{"12":0.0097,"13":0.00243,"14":0.00243,"15":0.00728,"16":0.02183,"17":0.00485,"18":0.14313,"79":0,"80":0,"81":0,"83":0,"84":0.00243,"85":0.00728,"86":0,"87":0,"88":0,"89":0.00485,"90":0.00485,"91":0.02911,"92":0.37603,"93":0},P:{"4":0.76443,"5.0-5.4":0.09173,"6.2-6.4":0.03058,"7.2-7.4":0.32616,"8.2":0.02038,"9.2":0.18346,"10.1":0.06115,"11.1-11.2":0.14269,"12.0":0.1325,"13.0":0.15289,"14.0":1.55944},I:{"0":0,"3":0,"4":0.00166,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00555,"4.2-4.3":0.02664,"4.4":0,"4.4.3-4.4.4":0.25082},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02183,"5.5":0},J:{"7":0,"10":0.04544},N:{"10":0,"11":0.13633},R:{_:"0"},M:{"0":0.09089},Q:{"10.4":0},O:{"0":1.24971},H:{"0":2.23005},L:{"0":70.83319},S:{"2.5":0.00757}}; diff --git a/node_modules/caniuse-lite/data/regions/GN.js b/node_modules/caniuse-lite/data/regions/GN.js new file mode 100644 index 00000000..1a7ed793 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GN.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00533,"69":0,"70":0,"71":0,"72":0.00133,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.00267,"89":0.00933,"90":0.03333,"91":0.04266,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.004,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00267,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.008,"41":0,"42":0.00133,"43":0.00133,"44":0,"45":0,"46":0,"47":0,"48":0.00133,"49":0.00267,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00133,"59":0,"60":0,"61":0.00267,"62":0,"63":0,"64":0.00133,"65":0,"66":0,"67":0,"68":0.00133,"69":0.004,"70":0,"71":0,"72":0.00267,"73":0,"74":0.00133,"75":0,"76":0.004,"77":0,"78":0.00133,"79":0,"80":0,"81":0.004,"83":0.00133,"84":0.00133,"85":0,"86":0.00133,"87":0.00267,"88":0.00133,"89":0.00533,"90":0.016,"91":0.02266,"92":0.47055,"93":0.00133,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0.00267,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00133,"29":0,"30":0.00133,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00133,"43":0,"44":0,"45":0,"46":0.00133,"47":0.00133,"48":0,"49":0,"50":0.00133,"51":0.00533,"52":0,"53":0,"54":0.00533,"55":0.00133,"56":0.00267,"57":0.00533,"58":0.28793,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.03066,"78":0.04532,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01066},G:{"8":0.00308,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00103,"6.0-6.1":0,"7.0-7.1":0.06051,"8.1-8.4":0.00513,"9.0-9.2":0.00923,"9.3":0.06154,"10.0-10.2":0.00718,"10.3":0.16308,"11.0-11.2":0.28923,"11.3-11.4":0.12615,"12.0-12.1":0.37744,"12.2-12.4":1.33436,"13.0-13.1":0.34769,"13.2":0.05949,"13.3":0.16,"13.4-13.7":0.74564,"14.0-14.4":2.43283,"14.5-14.7":2.61642},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.00133,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00133,"11.1":0.00267,"12.1":0.00267,"13.1":0.00267,"14.1":0.01333},B:{"12":0.00533,"13":0,"14":0,"15":0.00133,"16":0,"17":0.00133,"18":0.00533,"79":0,"80":0,"81":0,"83":0,"84":0.00133,"85":0.008,"86":0,"87":0,"88":0,"89":0.00133,"90":0.00133,"91":0.008,"92":0.09198,"93":0},P:{"4":0.74967,"5.0-5.4":0.07091,"6.2-6.4":0.05065,"7.2-7.4":0.38496,"8.2":0.03039,"9.2":0.1317,"10.1":0.02026,"11.1-11.2":0.63823,"12.0":0.14183,"13.0":0.19248,"14.0":0.6281},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00059,"4.2-4.3":0.00619,"4.4":0,"4.4.3-4.4.4":0.16055},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02399,"5.5":0},J:{"7":0,"10":0.00867},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.04334},Q:{"10.4":0.13867},O:{"0":0.41602},H:{"0":6.53146},L:{"0":77.41082},S:{"2.5":0.59802}}; diff --git a/node_modules/caniuse-lite/data/regions/GP.js b/node_modules/caniuse-lite/data/regions/GP.js new file mode 100644 index 00000000..6c36e081 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GP.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00837,"36":0.01256,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00419,"49":0,"50":0.00419,"51":0,"52":0.00837,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.0293,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00419,"76":0,"77":0.00837,"78":0.05023,"79":0,"80":0,"81":0,"82":0.00419,"83":0.00419,"84":0.02512,"85":0.00419,"86":0.00419,"87":0.00419,"88":0.01256,"89":0.0586,"90":0.62371,"91":1.00464,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00837,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.08791,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00419,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00837,"64":0,"65":0.01674,"66":0,"67":0.01674,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00419,"74":0.02512,"75":0,"76":0.00419,"77":0,"78":0.00419,"79":0.01256,"80":0.00419,"81":0.01256,"83":0.0293,"84":0.05023,"85":0.00419,"86":0.00837,"87":0.07535,"88":0.01256,"89":0.0586,"90":0.0293,"91":0.32651,"92":8.44735,"93":0.02093,"94":0.00419,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02093,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.17163,"78":0.23442,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00473,"6.0-6.1":0,"7.0-7.1":0.00237,"8.1-8.4":0.01183,"9.0-9.2":0.00237,"9.3":1.1455,"10.0-10.2":0.00237,"10.3":0.13727,"11.0-11.2":0.0639,"11.3-11.4":0.05443,"12.0-12.1":0.03787,"12.2-12.4":0.24851,"13.0-13.1":0.06154,"13.2":0.02603,"13.3":0.24614,"13.4-13.7":0.55855,"14.0-14.4":2.87085,"14.5-14.7":17.54462},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.01256,"11":0.00837,"12":0.00837,"13":0.03349,"14":0.4186,"15":0.00419,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.02093,"11.1":0.05023,"12.1":0.08372,"13.1":0.49395,"14.1":1.59068},B:{"12":0.00419,"13":0,"14":0,"15":0.00419,"16":0.00419,"17":0.00419,"18":0.0293,"79":0,"80":0.00419,"81":0,"83":0,"84":0.00419,"85":0.00419,"86":0.01674,"87":0.00419,"88":0.00419,"89":0.00837,"90":0.0293,"91":0.0586,"92":2.08463,"93":0},P:{"4":0.04164,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.11451,"8.2":0,"9.2":0.06246,"10.1":0.07287,"11.1-11.2":0.24984,"12.0":0.57255,"13.0":0.2082,"14.0":3.76844},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00709,"4.2-4.3":0.01013,"4.4":0,"4.4.3-4.4.4":0.12161},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.12977,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.44186},Q:{"10.4":0},O:{"0":0.02326},H:{"0":0.19816},L:{"0":51.63524},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GQ.js b/node_modules/caniuse-lite/data/regions/GQ.js new file mode 100644 index 00000000..83886474 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GQ.js @@ -0,0 +1 @@ +module.exports={C:{"7":0.01474,"21":0.00983,"34":0.00491,"37":0.01965,"41":0.01965,"43":0.00983,"44":0.00983,"47":0.05896,"49":0.00983,"50":0.03439,"52":0.09335,"56":0.02457,"57":0.0737,"62":0.01965,"63":0.01474,"64":0.00983,"71":0.02948,"72":0.02948,"75":0.05404,"78":0.04913,"81":0.65343,"82":0.01474,"83":0.01474,"84":0.02457,"85":0.24565,"87":0.15722,"88":0.02457,"89":0.13265,"90":3.78792,"91":3.78792,"92":0.03439,_:"2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 35 36 38 39 40 42 45 46 48 51 53 54 55 58 59 60 61 65 66 67 68 69 70 73 74 76 77 79 80 86 93 3.5 3.6"},D:{"18":0.16213,"26":0.00491,"28":0.01474,"38":0.00983,"46":0.01474,"47":0.00983,"48":0.00491,"49":0.09335,"50":0.00491,"53":0.02948,"57":0.00983,"58":0.00983,"60":0.02457,"62":0.04422,"63":0.04422,"69":0.00983,"70":0.00983,"71":0.00491,"72":0.00983,"73":0.01474,"74":0.06878,"75":0.00491,"76":0.02948,"77":0.06387,"78":0.0393,"79":0.02948,"80":0.01965,"81":0.04422,"83":0.12283,"84":0.01474,"85":0.04913,"86":0.08352,"87":0.1523,"88":0.02948,"89":0.113,"90":0.18178,"91":0.65343,"92":26.55968,"94":0.02948,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 27 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 51 52 54 55 56 59 61 64 65 66 67 68 93 95 96"},F:{"35":0.00491,"50":0.00983,"51":0.0393,"68":0.00491,"71":0.00983,"76":0.01474,"77":0.226,"78":0.01474,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 40 41 42 43 44 45 46 47 48 49 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0.00529,"4.2-4.3":0.00151,"5.0-5.1":0.02343,"6.0-6.1":0.00756,"7.0-7.1":0.01587,"8.1-8.4":0.00227,"9.0-9.2":0.01663,"9.3":0.08238,"10.0-10.2":0.01209,"10.3":0.15418,"11.0-11.2":0.14511,"11.3-11.4":0.01134,"12.0-12.1":0.06046,"12.2-12.4":0.12773,"13.0-13.1":0.01436,"13.2":0.02872,"13.3":0.08918,"13.4-13.7":0.37865,"14.0-14.4":1.75644,"14.5-14.7":3.67612},E:{"4":0,"13":0.01474,"14":0.24074,"15":0.00983,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 12.1","5.1":0.09335,"9.1":0.03439,"10.1":0.04913,"11.1":0.00983,"13.1":0.0393,"14.1":0.26039},B:{"12":0.58465,"13":0.02457,"14":0.05404,"15":0.02457,"16":0.0737,"17":0.08352,"18":0.10317,"80":0.00491,"83":0.02948,"84":0.01965,"85":0.02457,"86":0.01474,"87":0.00491,"88":0.01474,"89":0.18178,"90":0.02457,"91":0.61413,"92":4.44627,_:"79 81 93"},P:{"4":0.6247,"5.0-5.4":0.05206,"6.2-6.4":0.01041,"7.2-7.4":0.08329,"8.2":0.01026,"9.2":0.02082,"10.1":0.05132,"11.1-11.2":0.04165,"12.0":0.03124,"13.0":0.12494,"14.0":2.79033},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00392,"4.2-4.3":0.04054,"4.4":0,"4.4.3-4.4.4":0.15397},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01104,"10":0.00552,"11":0.51895,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.09667},Q:{"10.4":0.05088},O:{"0":0.55459},H:{"0":0.32756},L:{"0":41.72078},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GR.js b/node_modules/caniuse-lite/data/regions/GR.js new file mode 100644 index 00000000..025fe70a --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00592,"36":0.00592,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00592,"49":0,"50":0,"51":0,"52":0.58598,"53":0,"54":0,"55":0,"56":0.00592,"57":0,"58":0,"59":0,"60":0.00592,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00592,"67":0,"68":0.01184,"69":0,"70":0,"71":0,"72":0.00592,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.03551,"79":0,"80":0,"81":0.02368,"82":0.01184,"83":0,"84":0.0296,"85":0.00592,"86":0.00592,"87":0.07103,"88":0.04735,"89":0.08879,"90":1.63364,"91":2.54517,"92":0.00592,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.39065,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00592,"35":0,"36":0,"37":0,"38":0.07103,"39":0,"40":0.00592,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.06511,"48":0,"49":0.44984,"50":0,"51":0,"52":0,"53":0.00592,"54":0,"55":0,"56":0.00592,"57":0.00592,"58":0.00592,"59":0,"60":0,"61":0,"62":0.08287,"63":0.02368,"64":0.00592,"65":0.01776,"66":0,"67":0.00592,"68":0.01184,"69":0.10062,"70":0.01184,"71":0.01184,"72":0.01184,"73":0.00592,"74":0.00592,"75":0.01184,"76":0.00592,"77":0.05327,"78":0.01184,"79":0.1243,"80":0.04735,"81":0.10062,"83":0.01184,"84":0.01776,"85":0.02368,"86":0.02368,"87":0.18941,"88":0.04143,"89":0.07695,"90":0.07103,"91":0.80498,"92":20.03582,"93":0.01184,"94":0.00592,"95":0,"96":0},F:{"9":0,"11":0,"12":0.03551,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.0296,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.56231,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.3729,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00592,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01184,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.39065,"78":0.39065,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0.00115,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.03908,"6.0-6.1":0.00575,"7.0-7.1":0.43792,"8.1-8.4":0.01034,"9.0-9.2":0.00345,"9.3":0.17471,"10.0-10.2":0.01379,"10.3":0.15172,"11.0-11.2":0.03333,"11.3-11.4":0.03333,"12.0-12.1":0.02988,"12.2-12.4":0.11494,"13.0-13.1":0.01954,"13.2":0.04942,"13.3":0.07931,"13.4-13.7":0.34942,"14.0-14.4":1.08043,"14.5-14.7":8.23544},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00592,"13":0.07695,"14":0.11246,"15":0.00592,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.02368,"12.1":0.02368,"13.1":0.05919,"14.1":0.55047},B:{"12":0,"13":0,"14":0,"15":0.08287,"16":0,"17":0,"18":0.01184,"79":0,"80":0.00592,"81":0,"83":0,"84":0,"85":0.00592,"86":0,"87":0,"88":0,"89":0.00592,"90":0.01184,"91":0.06511,"92":1.4324,"93":0.04143},P:{"4":0.61811,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.0103,"10.1":0.0103,"11.1-11.2":0.11332,"12.0":0.03091,"13.0":0.16483,"14.0":1.72041},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.03392,"4.2-4.3":0.19866,"4.4":0,"4.4.3-4.4.4":0.82371},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.3433,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.24894},Q:{"10.4":0.00408},O:{"0":0.11019},H:{"0":0.23182},L:{"0":48.55967},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GT.js b/node_modules/caniuse-lite/data/regions/GT.js new file mode 100644 index 00000000..0a161fca --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GT.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00417,"36":0.00417,"37":0,"38":0,"39":0,"40":0,"41":0.00417,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01251,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.01251,"67":0,"68":0.00417,"69":0,"70":0,"71":0,"72":0.00417,"73":0.04587,"74":0,"75":0,"76":0,"77":0,"78":0.01668,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00417,"85":0,"86":0.00417,"87":0,"88":0.00834,"89":0.02085,"90":0.35028,"91":0.50457,"92":0.00417,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00417,"39":0,"40":0,"41":0,"42":0.00417,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03336,"50":0,"51":0,"52":0,"53":0.00417,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00417,"64":0,"65":0.00417,"66":0,"67":0.00417,"68":0.00417,"69":0.00417,"70":0.00417,"71":0.00417,"72":0.00417,"73":0.00417,"74":0.00417,"75":0.00834,"76":0.01668,"77":0.00417,"78":0.01251,"79":0.02085,"80":0.01251,"81":0.01668,"83":0.00834,"84":0.00834,"85":0.00834,"86":0.0417,"87":0.05421,"88":0.02919,"89":0.02919,"90":0.06672,"91":0.31275,"92":11.95539,"93":0.00417,"94":0.00417,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02919,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.35862,"78":0.34194,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00422,"6.0-6.1":0.01372,"7.0-7.1":0.00739,"8.1-8.4":0,"9.0-9.2":0.00106,"9.3":0.0475,"10.0-10.2":0.00211,"10.3":0.08445,"11.0-11.2":0.01372,"11.3-11.4":0.02111,"12.0-12.1":0.01794,"12.2-12.4":0.09184,"13.0-13.1":0.03272,"13.2":0.0095,"13.3":0.06756,"13.4-13.7":0.19845,"14.0-14.4":0.95741,"14.5-14.7":8.56389},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00417,"13":0.00834,"14":0.1251,"15":0.00834,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00834,"12.1":0.01251,"13.1":0.07506,"14.1":0.58797},B:{"12":0.00417,"13":0,"14":0,"15":0.00417,"16":0.00417,"17":0,"18":0.01251,"79":0,"80":0,"81":0,"83":0,"84":0.00417,"85":0.00417,"86":0,"87":0,"88":0,"89":0.00834,"90":0.00417,"91":0.02085,"92":1.18428,"93":0},P:{"4":0.17321,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.19358,"8.2":0.01019,"9.2":0.05094,"10.1":0.02038,"11.1-11.2":0.28528,"12.0":0.05094,"13.0":0.17321,"14.0":2.13959},I:{"0":0,"3":0,"4":0.00918,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00612,"4.2-4.3":0.0153,"4.4":0,"4.4.3-4.4.4":0.15611},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0417,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.21571},Q:{"10.4":0},O:{"0":0.09911},H:{"0":0.25941},L:{"0":67.6339},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GU.js b/node_modules/caniuse-lite/data/regions/GU.js new file mode 100644 index 00000000..ffab8bdb --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GU.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.00419,"60":0.00419,"78":0.02511,"80":0.00837,"84":0.06696,"87":0.02093,"88":0.03348,"89":0.07533,"90":0.76167,"91":0.88722,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 81 82 83 85 86 92 93 3.5 3.6"},D:{"39":0.00419,"47":0.00419,"49":0.10044,"53":0.01256,"64":0.00419,"65":0.00419,"67":0.04185,"68":0.01674,"69":0.00419,"73":0.00837,"74":0.01256,"75":0.09626,"76":0.02093,"77":0.05441,"79":0.45198,"80":0.01256,"81":0.00837,"83":0.00837,"84":0.11718,"85":0.03767,"86":0.04604,"87":0.13392,"88":0.05441,"89":0.07115,"90":0.12974,"91":1.38942,"92":21.51509,"93":0.02093,"94":0.00837,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 48 50 51 52 54 55 56 57 58 59 60 61 62 63 66 70 71 72 78 95 96"},F:{"46":0.00419,"77":0.18833,"78":0.25947,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.05738,"9.0-9.2":0.00273,"9.3":0.33063,"10.0-10.2":0.01639,"10.3":0.23772,"11.0-11.2":0.02459,"11.3-11.4":0.04918,"12.0-12.1":0.10657,"12.2-12.4":0.21586,"13.0-13.1":0.05465,"13.2":0.01639,"13.3":0.27598,"13.4-13.7":0.9263,"14.0-14.4":3.38825,"14.5-14.7":20.62186},E:{"4":0,"13":0.71982,"14":0.95837,"15":0.02511,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.04185,"10.1":0.11718,"11.1":0.05859,"12.1":0.05022,"13.1":0.49802,"14.1":5.00526},B:{"15":0.00837,"16":0.02511,"18":0.19251,"80":0.00837,"86":0.00837,"88":0.00419,"89":0.01256,"90":0.00419,"91":0.06696,"92":4.28963,_:"12 13 14 17 79 81 83 84 85 87 93"},P:{"4":0.46468,"5.0-5.4":0.01036,"6.2-6.4":0.01036,"7.2-7.4":0.02065,"8.2":0.01026,"9.2":0.05163,"10.1":0.01071,"11.1-11.2":0.30979,"12.0":0.09294,"13.0":0.1962,"14.0":4.34736},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00187,"4.2-4.3":0.00187,"4.4":0,"4.4.3-4.4.4":0.01371},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.77423,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.30238},Q:{"10.4":0},O:{"0":0.05234},H:{"0":0.16516},L:{"0":26.84436},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/GW.js b/node_modules/caniuse-lite/data/regions/GW.js new file mode 100644 index 00000000..5ced2aa9 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GW.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00964,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00193,"37":0,"38":0.00964,"39":0,"40":0,"41":0.00193,"42":0,"43":0.00193,"44":0,"45":0,"46":0,"47":0.00193,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00193,"69":0,"70":0,"71":0,"72":0.00193,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00193,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0.00193,"86":0,"87":0,"88":0.00193,"89":0.00578,"90":0.04434,"91":0.08098,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00193,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00193,"34":0,"35":0,"36":0,"37":0,"38":0.00193,"39":0,"40":0.00193,"41":0,"42":0.00193,"43":0.01735,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01542,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00578,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00193,"64":0.00386,"65":0.0347,"66":0,"67":0,"68":0,"69":0,"70":0.00193,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00193,"79":0.00964,"80":0,"81":0.01735,"83":0,"84":0,"85":0.00386,"86":0.00578,"87":0.00578,"88":0.00386,"89":0.10026,"90":0.00964,"91":0.06555,"92":1.29176,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00386,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00193,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0.00193,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00193,"73":0,"74":0,"75":0,"76":0,"77":0.02121,"78":0.00964,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.03643,"8.1-8.4":0,"9.0-9.2":0.0163,"9.3":0.02157,"10.0-10.2":0.00144,"10.3":0.69502,"11.0-11.2":0.08244,"11.3-11.4":0.04602,"12.0-12.1":0.29239,"12.2-12.4":0.44385,"13.0-13.1":0.01821,"13.2":0,"13.3":0.01821,"13.4-13.7":0.17879,"14.0-14.4":0.98597,"14.5-14.7":1.33588},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.00193,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0,"14.1":0.06555},B:{"12":0.00578,"13":0.00193,"14":0.00193,"15":0.02121,"16":0.00193,"17":0,"18":0.0135,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0.00964,"91":0.00386,"92":0.4338,"93":0},P:{"4":1.26855,"5.0-5.4":0.02014,"6.2-6.4":0.01007,"7.2-7.4":0.54366,"8.2":0,"9.2":0.04027,"10.1":0.01007,"11.1-11.2":0.11075,"12.0":0.89604,"13.0":0.20136,"14.0":0.5638},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00226,"4.4":0,"4.4.3-4.4.4":0.10052},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00578,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.04843},Q:{"10.4":0},O:{"0":0.21794},H:{"0":3.7981},L:{"0":82.79814},S:{"2.5":0.87178}}; diff --git a/node_modules/caniuse-lite/data/regions/GY.js b/node_modules/caniuse-lite/data/regions/GY.js new file mode 100644 index 00000000..fa8f919c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/GY.js @@ -0,0 +1 @@ +module.exports={C:{"38":0.00345,"52":0.01036,"83":0.00345,"85":0.0069,"87":0.00345,"88":0.00345,"89":0.03107,"90":0.5109,"91":0.80777,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 84 86 92 93 3.5 3.6"},D:{"11":0.04488,"34":0.0069,"47":0.06214,"49":0.0069,"50":0.00345,"58":0.0069,"59":0.02071,"60":0.0069,"63":0.01036,"64":0.0069,"65":0.0069,"67":0.0069,"68":0.02416,"69":0.01036,"70":0.01726,"71":0.02071,"73":0.0069,"74":0.07594,"75":0.04142,"76":0.04142,"77":0.11046,"78":0.0069,"79":0.11046,"80":0.02071,"81":0.04142,"83":0.02762,"84":0.02071,"85":0.01036,"86":0.03452,"87":0.14844,"88":0.01381,"89":0.03452,"90":0.15534,"91":1.09428,"92":18.0298,"93":0.04833,"94":0.01036,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 48 51 52 53 54 55 56 57 61 62 66 72 95 96"},F:{"28":0.04833,"75":0.02416,"77":0.35556,"78":0.26926,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.08386,"6.0-6.1":0,"7.0-7.1":0.47716,"8.1-8.4":0.00289,"9.0-9.2":0.00096,"9.3":0.12242,"10.0-10.2":0.00193,"10.3":0.10025,"11.0-11.2":0.03663,"11.3-11.4":0.02603,"12.0-12.1":0.01253,"12.2-12.4":0.06169,"13.0-13.1":0.00578,"13.2":0.00578,"13.3":0.08676,"13.4-13.7":0.38847,"14.0-14.4":0.71525,"14.5-14.7":6.88164},E:{"4":0,"13":0.02071,"14":0.12082,_:"0 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1","5.1":0.01381,"10.1":0.01726,"11.1":0.00345,"12.1":0.01036,"13.1":0.70421,"14.1":1.15642},B:{"12":0.00345,"13":0.0069,"14":0.00345,"15":0.01036,"16":0.01381,"17":0.02071,"18":0.24164,"80":0.01036,"81":0.03797,"84":0.01381,"85":0.0069,"86":0.01036,"87":0.04488,"88":0.00345,"89":0.03797,"90":0.03107,"91":0.11046,"92":4.60842,_:"79 83 93"},P:{"4":0.44477,"5.0-5.4":0.01036,"6.2-6.4":0.01036,"7.2-7.4":0.26035,"8.2":0.01026,"9.2":0.17357,"10.1":0.15187,"11.1-11.2":0.49901,"12.0":0.07594,"13.0":0.21696,"14.0":4.78398},I:{"0":0,"3":0,"4":0.01749,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00875,"4.4":0,"4.4.3-4.4.4":0.13746},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.07578,"10":0.03789,"11":0.40414,_:"6 7 8 5.5"},J:{"7":0,"10":0.01964},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.13096},Q:{"10.4":0.1506},O:{"0":1.159},H:{"0":0.29136},L:{"0":51.48757},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/HK.js b/node_modules/caniuse-lite/data/regions/HK.js new file mode 100644 index 00000000..b34aa00c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/HK.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01636,"35":0.01091,"36":0.01091,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01636,"53":0,"54":0,"55":0,"56":0.00545,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01636,"69":0.01091,"70":0,"71":0,"72":0.00545,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.04362,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00545,"85":0.00545,"86":0.00545,"87":0.00545,"88":0.01636,"89":0.04362,"90":0.40898,"91":0.57257,"92":0.00545,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.00545,"20":0,"21":0,"22":0.01091,"23":0,"24":0,"25":0,"26":0.00545,"27":0,"28":0,"29":0,"30":0.00545,"31":0,"32":0,"33":0,"34":0.04362,"35":0,"36":0.00545,"37":0,"38":0.10361,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00545,"47":0,"48":0.00545,"49":0.07089,"50":0,"51":0,"52":0,"53":0.04362,"54":0.00545,"55":0.01636,"56":0.00545,"57":0.00545,"58":0.00545,"59":0,"60":0.00545,"61":0.01636,"62":0.01091,"63":0.00545,"64":0.00545,"65":0.01636,"66":0.00545,"67":0.01636,"68":0.01636,"69":0.02727,"70":0.01091,"71":0.01636,"72":0.05453,"73":0.01636,"74":0.01636,"75":0.03272,"76":0.01636,"77":0.01091,"78":0.04362,"79":0.32718,"80":0.04362,"81":0.03817,"83":0.04362,"84":0.03272,"85":0.02181,"86":0.06544,"87":0.10906,"88":0.11997,"89":0.08725,"90":0.23993,"91":1.1724,"92":14.71219,"93":0.02181,"94":0.01636,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00545,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.02181,"37":0,"38":0,"39":0,"40":0.00545,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.03817,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00545,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.04908,"78":0.04908,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0098,"5.0-5.1":0.05551,"6.0-6.1":0.02612,"7.0-7.1":0.05225,"8.1-8.4":0.06857,"9.0-9.2":0.03918,"9.3":0.43103,"10.0-10.2":0.10449,"10.3":0.32327,"11.0-11.2":0.17307,"11.3-11.4":0.14694,"12.0-12.1":0.16,"12.2-12.4":0.44736,"13.0-13.1":0.16653,"13.2":0.04572,"13.3":0.33307,"13.4-13.7":1.10043,"14.0-14.4":4.25805,"14.5-14.7":23.43561},E:{"4":0,"5":0,"6":0,"7":0,"8":0.01091,"9":0,"10":0,"11":0.01091,"12":0.01091,"13":0.10906,"14":0.75251,"15":0.01091,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00545,"10.1":0.02181,"11.1":0.03817,"12.1":0.05998,"13.1":0.34899,"14.1":3.13548},B:{"12":0.00545,"13":0,"14":0,"15":0,"16":0.00545,"17":0.00545,"18":0.02181,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0.00545,"87":0,"88":0,"89":0.01091,"90":0.00545,"91":0.05998,"92":2.28481,"93":0.00545},P:{"4":0.94248,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.0325,"8.2":0.01083,"9.2":0.04333,"10.1":0.02167,"11.1-11.2":0.0975,"12.0":0.065,"13.0":0.20583,"14.0":3.79158},I:{"0":0,"3":0,"4":0.00492,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00984,"4.2-4.3":0.02132,"4.4":0,"4.4.3-4.4.4":0.123},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.70889,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.2319},Q:{"10.4":0.19552},O:{"0":0.78663},H:{"0":0.0861},L:{"0":31.01295},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/HN.js b/node_modules/caniuse-lite/data/regions/HN.js new file mode 100644 index 00000000..fda921fe --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/HN.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00846,"5":0.00846,"15":0.00846,"17":0.01692,"52":0.01692,"72":0.00423,"73":0.08035,"78":0.03806,"88":0.01692,"89":0.0296,"90":0.63858,"91":0.95153,"92":0.01692,_:"2 3 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 74 75 76 77 79 80 81 82 83 84 85 86 87 93 3.5 3.6"},D:{"23":0.00846,"24":0.01269,"25":0.01269,"38":0.01692,"47":0.00423,"49":0.1311,"53":0.0296,"58":0.00423,"59":0.00846,"63":0.01692,"65":0.01269,"67":0.00846,"68":0.00846,"69":0.00423,"70":0.02115,"71":0.00423,"72":0.00846,"73":0.01692,"74":0.02115,"75":0.07189,"76":0.11418,"77":0.02115,"78":0.02115,"79":0.17339,"80":0.10573,"81":0.05921,"83":0.02537,"84":0.14379,"85":0.07612,"86":0.04229,"87":0.26643,"88":0.09727,"89":0.12687,"90":0.15647,"91":0.96844,"92":26.53698,"93":0.0296,"94":0.00846,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 54 55 56 57 60 61 62 64 66 95 96"},F:{"65":0.00423,"74":0.00846,"76":0.00423,"77":0.88386,"78":0.71893,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00339,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00678,"6.0-6.1":0.01356,"7.0-7.1":0.02203,"8.1-8.4":0,"9.0-9.2":0.00169,"9.3":0.14574,"10.0-10.2":0.00593,"10.3":0.12455,"11.0-11.2":0.01949,"11.3-11.4":0.0144,"12.0-12.1":0.01356,"12.2-12.4":0.06694,"13.0-13.1":0.01356,"13.2":0.00424,"13.3":0.07202,"13.4-13.7":0.23385,"14.0-14.4":0.8634,"14.5-14.7":6.31577},E:{"4":0,"13":0.04652,"14":0.27489,"15":0.01269,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.22837,"10.1":0.00423,"11.1":0.04229,"12.1":0.02115,"13.1":0.12687,"14.1":1.03188},B:{"12":0.02537,"13":0.01269,"14":0.01269,"15":0.0296,"16":0.00423,"17":0.02115,"18":0.09304,"80":0.00423,"84":0.02115,"85":0.00423,"87":0.05075,"88":0.00423,"89":0.02537,"90":0.01269,"91":0.06766,"92":3.2521,_:"79 81 83 86 93"},P:{"4":0.3203,"5.0-5.4":0.01033,"6.2-6.4":0.01036,"7.2-7.4":0.18598,"8.2":0.01026,"9.2":0.06199,"10.1":0.15187,"11.1-11.2":0.3513,"12.0":0.09299,"13.0":0.21698,"14.0":2.31442},I:{"0":0,"3":0,"4":0.00101,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00303,"4.2-4.3":0.00808,"4.4":0,"4.4.3-4.4.4":0.10907},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01006,"10":0.00503,"11":0.17099,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.16736},Q:{"10.4":0.02886},O:{"0":0.15005},H:{"0":0.2404},L:{"0":48.74321},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/HR.js b/node_modules/caniuse-lite/data/regions/HR.js new file mode 100644 index 00000000..6a0b58fe --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/HR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00413,"36":0.00413,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00825,"49":0,"50":0,"51":0,"52":0.05775,"53":0,"54":0,"55":0,"56":0,"57":0.00413,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.01238,"64":0,"65":0,"66":0,"67":0,"68":0.02063,"69":0,"70":0,"71":0,"72":0.00825,"73":0,"74":0,"75":0.00413,"76":0,"77":0.00413,"78":0.033,"79":0,"80":0,"81":0.00413,"82":0.00413,"83":0.00413,"84":0.00825,"85":0.00413,"86":0.00413,"87":0.00413,"88":0.0165,"89":0.099,"90":0.84975,"91":1.25813,"92":0.00413,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00413,"39":0,"40":0.00413,"41":0,"42":0,"43":0.00413,"44":0,"45":0,"46":0,"47":0.00413,"48":0,"49":0.099,"50":0,"51":0,"52":0,"53":0.00825,"54":0,"55":0,"56":0.00413,"57":0,"58":0,"59":0.00413,"60":0,"61":0.00413,"62":0,"63":0.00413,"64":0,"65":0.00825,"66":0.00413,"67":0,"68":0.00413,"69":0.00413,"70":0.00413,"71":0.00413,"72":0,"73":0,"74":0.00413,"75":0.033,"76":0.00825,"77":0.02063,"78":0.00825,"79":0.04125,"80":0.01238,"81":0.0495,"83":0.00825,"84":0.01238,"85":0.0165,"86":0.02888,"87":0.12788,"88":0.04125,"89":0.04125,"90":0.04125,"91":0.54863,"92":10.04438,"93":0.00413,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00413,"33":0,"34":0,"35":0,"36":0.00413,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00413,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01238,"60":0,"62":0,"63":0,"64":0,"65":0.00413,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00413,"77":0.38363,"78":0.33,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00141,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00987,"6.0-6.1":0,"7.0-7.1":0.00846,"8.1-8.4":0.02116,"9.0-9.2":0.00423,"9.3":0.12272,"10.0-10.2":0.00846,"10.3":0.09874,"11.0-11.2":0.02962,"11.3-11.4":0.04514,"12.0-12.1":0.05924,"12.2-12.4":0.13259,"13.0-13.1":0.03667,"13.2":0.01552,"13.3":0.11708,"13.4-13.7":0.38085,"14.0-14.4":1.65741,"14.5-14.7":10.85144},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00413,"13":0.0165,"14":0.12375,"15":0.00825,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00413,"11.1":0.00825,"12.1":0.01238,"13.1":0.066,"14.1":0.49088},B:{"12":0,"13":0,"14":0.00413,"15":0.00413,"16":0.00825,"17":0.00825,"18":0.00825,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0.00413,"87":0,"88":0.01238,"89":0.00825,"90":0,"91":0.02888,"92":1.01475,"93":0},P:{"4":0.13408,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02063,"8.2":0.01031,"9.2":0.04126,"10.1":0.03094,"11.1-11.2":0.1444,"12.0":0.0722,"13.0":0.25785,"14.0":4.16692},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00704,"4.2-4.3":0.01548,"4.4":0,"4.4.3-4.4.4":0.0746},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.165,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.39363},Q:{"10.4":0},O:{"0":0.06463},H:{"0":0.48946},L:{"0":61.248},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/HT.js b/node_modules/caniuse-lite/data/regions/HT.js new file mode 100644 index 00000000..741f4817 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/HT.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00347,"36":0.00174,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00174,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00174,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01042,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.00174,"89":0.00695,"90":0.05906,"91":0.05211,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00174,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00347,"43":0.00174,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00347,"50":0,"51":0,"52":0,"53":0.00174,"54":0,"55":0,"56":0.00174,"57":0,"58":0.00174,"59":0,"60":0.00521,"61":0,"62":0,"63":0.00521,"64":0.00347,"65":0,"66":0.00174,"67":0.00174,"68":0,"69":0.00174,"70":0.00347,"71":0.00174,"72":0.00347,"73":0.00174,"74":0.00521,"75":0.00174,"76":0.0139,"77":0.00521,"78":0.00174,"79":0.00695,"80":0.00521,"81":0.00869,"83":0.00174,"84":0.00174,"85":0.00347,"86":0.00521,"87":0.01216,"88":0.01911,"89":0.0139,"90":0.01563,"91":0.07469,"92":1.37918,"93":0.00347,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.02779,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00347,"47":0,"48":0,"49":0,"50":0,"51":0.00174,"52":0,"53":0,"54":0.00695,"55":0.00347,"56":0.00347,"57":0.00347,"58":0.08685,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.00174,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.05558,"78":0.05037,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01537,"6.0-6.1":0.00279,"7.0-7.1":0.01956,"8.1-8.4":0,"9.0-9.2":0.01537,"9.3":0.12574,"10.0-10.2":0.02096,"10.3":0.3856,"11.0-11.2":0.13971,"11.3-11.4":0.24868,"12.0-12.1":0.32413,"12.2-12.4":0.71252,"13.0-13.1":0.16206,"13.2":0.14949,"13.3":0.48619,"13.4-13.7":0.9598,"14.0-14.4":3.2664,"14.5-14.7":4.59504},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00174,"9":0,"10":0,"11":0,"12":0,"13":0.00521,"14":0.0139,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.01216,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01216,"11.1":0.00174,"12.1":0.00174,"13.1":0.00695,"14.1":0.0608},B:{"12":0.01042,"13":0.00347,"14":0.00695,"15":0.00521,"16":0.00695,"17":0.00521,"18":0.01563,"79":0,"80":0.00521,"81":0,"83":0,"84":0.00347,"85":0.00174,"86":0,"87":0,"88":0.00347,"89":0.00695,"90":0.00174,"91":0.01737,"92":0.35087,"93":0},P:{"4":0.50484,"5.0-5.4":0.11333,"6.2-6.4":0.05151,"7.2-7.4":0.38121,"8.2":0.12364,"9.2":0.17515,"10.1":0.02061,"11.1-11.2":0.53575,"12.0":0.11333,"13.0":0.23697,"14.0":1.01999},I:{"0":0,"3":0,"4":0.01936,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00484,"4.2-4.3":0.01774,"4.4":0,"4.4.3-4.4.4":0.2105},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.033,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.07437},Q:{"10.4":0},O:{"0":0.26442},H:{"0":1.22037},L:{"0":79.79185},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/HU.js b/node_modules/caniuse-lite/data/regions/HU.js new file mode 100644 index 00000000..288cdd3d --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/HU.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00906,"36":0.00906,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00453,"48":0.00453,"49":0,"50":0.00453,"51":0.00453,"52":0.09064,"53":0,"54":0,"55":0,"56":0.00453,"57":0,"58":0,"59":0,"60":0.00453,"61":0,"62":0,"63":0.00453,"64":0,"65":0,"66":0.00453,"67":0,"68":0.00906,"69":0.00453,"70":0,"71":0,"72":0.00453,"73":0,"74":0.00453,"75":0,"76":0.00453,"77":0.00453,"78":0.05438,"79":0,"80":0.00453,"81":0.00453,"82":0.00453,"83":0.00453,"84":0.02266,"85":0.00906,"86":0.00453,"87":0.01813,"88":0.06798,"89":0.54384,"90":1.08315,"91":1.68137,"92":0.00453,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00906,"35":0,"36":0,"37":0,"38":0.01813,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00453,"49":0.28552,"50":0,"51":0,"52":0,"53":0.0136,"54":0,"55":0,"56":0,"57":0,"58":0.00453,"59":0,"60":0,"61":0.02719,"62":0,"63":0,"64":0,"65":0.00453,"66":0,"67":0.00453,"68":0.00453,"69":0.00453,"70":0.00453,"71":0.00453,"72":0.00453,"73":0.00453,"74":0.00453,"75":0.00453,"76":0.00453,"77":0.00906,"78":0.00906,"79":0.1269,"80":0.00906,"81":0.02266,"83":0.0136,"84":0.0136,"85":0.00906,"86":0.01813,"87":0.1133,"88":0.04079,"89":0.04532,"90":0.07704,"91":0.42601,"92":11.82399,"93":0.00453,"94":0.00453,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00453,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00453,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02719,"60":0,"62":0,"63":0,"64":0,"65":0.00453,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00453,"74":0,"75":0,"76":0,"77":0.51665,"78":0.4396,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00593,"6.0-6.1":0,"7.0-7.1":0.01928,"8.1-8.4":0.08603,"9.0-9.2":0.00148,"9.3":0.07417,"10.0-10.2":0.01038,"10.3":0.08455,"11.0-11.2":0.03708,"11.3-11.4":0.03412,"12.0-12.1":0.04153,"12.2-12.4":0.1157,"13.0-13.1":0.03115,"13.2":0.01335,"13.3":0.09345,"13.4-13.7":0.37826,"14.0-14.4":1.42847,"14.5-14.7":11.93506},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.02719,"14":0.10877,"15":0.00453,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00906,"12.1":0.0136,"13.1":0.05892,"14.1":0.4668},B:{"12":0,"13":0,"14":0.00453,"15":0.00453,"16":0,"17":0.00906,"18":0.02719,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0.00453,"88":0.00453,"89":0.00453,"90":0.00453,"91":0.02266,"92":1.24177,"93":0.00453},P:{"4":0.34791,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01023,"8.2":0,"9.2":0.02047,"10.1":0.02047,"11.1-11.2":0.09209,"12.0":0.04093,"13.0":0.15349,"14.0":2.66045},I:{"0":0,"3":0,"4":0.00406,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01015,"4.2-4.3":0.02435,"4.4":0,"4.4.3-4.4.4":0.13597},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.10877,"5.5":0},J:{"7":0,"10":0.00547},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.37182},Q:{"10.4":0},O:{"0":0.05468},H:{"0":0.49179},L:{"0":58.84416},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/ID.js b/node_modules/caniuse-lite/data/regions/ID.js new file mode 100644 index 00000000..58785928 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/ID.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00307,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00307,"36":0.01537,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.00307,"46":0,"47":0.00307,"48":0,"49":0,"50":0,"51":0,"52":0.0123,"53":0,"54":0,"55":0,"56":0.00307,"57":0,"58":0,"59":0,"60":0.00307,"61":0,"62":0,"63":0,"64":0.01844,"65":0,"66":0.00307,"67":0,"68":0.00307,"69":0,"70":0.00307,"71":0,"72":0.00615,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.0123,"79":0.00307,"80":0.00307,"81":0.00307,"82":0.00307,"83":0.00307,"84":0.00615,"85":0.00307,"86":0.00307,"87":0.00615,"88":0.01537,"89":0.03381,"90":0.33507,"91":0.52258,"92":0.02152,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00307,"25":0.00307,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00922,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00307,"59":0,"60":0,"61":0.00307,"62":0.00307,"63":0.00922,"64":0.00307,"65":0.00307,"66":0.00307,"67":0.00307,"68":0.00307,"69":0.00307,"70":0.00615,"71":0.01537,"72":0.00307,"73":0.00307,"74":0.00615,"75":0.00615,"76":0.00307,"77":0.00615,"78":0.00615,"79":0.03689,"80":0.01537,"81":0.00922,"83":0.01537,"84":0.0123,"85":0.01844,"86":0.01844,"87":0.083,"88":0.03689,"89":0.03381,"90":0.03996,"91":0.18751,"92":6.18489,"93":0.00307,"94":0.00307,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00307,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.01844,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00307,"47":0,"48":0,"49":0,"50":0.00615,"51":0.00307,"52":0,"53":0,"54":0.00922,"55":0.00615,"56":0.00615,"57":0.02459,"58":0.14755,"60":0,"62":0,"63":0,"64":0,"65":0.00307,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.083,"78":0.0707,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00155,"5.0-5.1":0.00233,"6.0-6.1":0.05435,"7.0-7.1":0.00155,"8.1-8.4":0.00078,"9.0-9.2":0.00078,"9.3":0.02407,"10.0-10.2":0.00544,"10.3":0.0396,"11.0-11.2":0.02562,"11.3-11.4":0.02485,"12.0-12.1":0.03572,"12.2-12.4":0.14908,"13.0-13.1":0.04115,"13.2":0.01786,"13.3":0.12423,"13.4-13.7":0.28495,"14.0-14.4":1.41156,"14.5-14.7":5.01964},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00307,"13":0.00922,"14":0.04918,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.03689,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00307,"12.1":0.00922,"13.1":0.03381,"14.1":0.12911},B:{"12":0.00307,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00615,"79":0,"80":0,"81":0,"83":0,"84":0.00307,"85":0.00307,"86":0,"87":0,"88":0,"89":0.00307,"90":0.00307,"91":0.0123,"92":0.46417,"93":0},P:{"4":0.32691,"5.0-5.4":0,"6.2-6.4":0.01022,"7.2-7.4":0.09194,"8.2":0.01022,"9.2":0.07151,"10.1":0.04086,"11.1-11.2":0.20432,"12.0":0.10216,"13.0":0.23496,"14.0":1.31784},I:{"0":0,"3":0.03591,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00449,"4.2-4.3":0.03367,"4.4":0,"4.4.3-4.4.4":0.11671},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00342,"9":0,"10":0.00342,"11":0.02391,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0.03463},R:{_:"0"},M:{"0":0.14545},Q:{"10.4":0.00693},O:{"0":1.35057},H:{"0":1.27208},L:{"0":76.19955},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/IE.js b/node_modules/caniuse-lite/data/regions/IE.js new file mode 100644 index 00000000..95005b0c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/IE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00983,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00655,"36":0.00655,"37":0,"38":0.00983,"39":0,"40":0,"41":0,"42":0,"43":0.00655,"44":0.03605,"45":0.00983,"46":0,"47":0,"48":0.00328,"49":0,"50":0,"51":0,"52":0.00655,"53":0,"54":0,"55":0.00328,"56":0.00328,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00328,"69":0,"70":0.00328,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00655,"78":0.04588,"79":0.00328,"80":0,"81":0.00328,"82":0,"83":0,"84":0.00655,"85":0.00328,"86":0.00328,"87":0.0426,"88":0.02294,"89":0.02622,"90":0.2425,"91":0.33425,"92":0.00328,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00328,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00328,"35":0,"36":0,"37":0,"38":0.00328,"39":0,"40":0,"41":0,"42":0,"43":0.00328,"44":0,"45":0,"46":0,"47":0.00983,"48":0.09831,"49":0.05243,"50":0,"51":0,"52":0.01311,"53":0.00328,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00328,"62":0,"63":0.00328,"64":0,"65":0.00655,"66":0,"67":0.00328,"68":0.00328,"69":0.00328,"70":0.00328,"71":0.00655,"72":0.00328,"73":0,"74":0.00983,"75":0.00328,"76":0.00983,"77":0.00655,"78":0.00328,"79":0.02622,"80":0.00983,"81":0.05243,"83":0.00655,"84":0.01311,"85":0.01639,"86":0.02294,"87":0.1573,"88":0.02294,"89":0.02622,"90":0.06226,"91":0.67834,"92":5.29563,"93":0.00328,"94":0.00328,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00328,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00655,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.07865,"78":0.06554,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.03101,"7.0-7.1":0.17278,"8.1-8.4":0.02215,"9.0-9.2":0.02215,"9.3":0.30568,"10.0-10.2":0.02215,"10.3":0.33669,"11.0-11.2":0.08417,"11.3-11.4":0.11961,"12.0-12.1":0.08417,"12.2-12.4":0.34112,"13.0-13.1":0.07088,"13.2":0.05316,"13.3":0.32783,"13.4-13.7":1.06323,"14.0-14.4":5.31616,"14.5-14.7":33.54498},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00328,"9":0.01311,"10":0,"11":0.00328,"12":0.00328,"13":0.02294,"14":0.22611,"15":0.00655,_:"0","3.1":0,"3.2":0,"5.1":0.00328,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00328,"11.1":0.01311,"12.1":0.01966,"13.1":0.09831,"14.1":0.74716},B:{"12":0.00328,"13":0.00328,"14":0,"15":0,"16":0,"17":0.00328,"18":0.02622,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0.00328,"87":0,"88":0.00328,"89":0.00328,"90":0.00328,"91":0.03277,"92":1.04536,"93":0},P:{"4":0.03134,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.03134,"8.2":0,"9.2":0.03134,"10.1":0.02089,"11.1-11.2":0.18805,"12.0":0.09403,"13.0":0.21939,"14.0":3.55207},I:{"0":0,"3":0,"4":0.01698,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01698,"4.2-4.3":0.01698,"4.4":0,"4.4.3-4.4.4":0.20376},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.02559,"10":0,"11":0.16448,"5.5":0},J:{"7":0,"10":0.00672},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.4101},Q:{"10.4":0.01345},O:{"0":0.06723},H:{"0":0.19095},L:{"0":40.64018},S:{"2.5":0.00672}}; diff --git a/node_modules/caniuse-lite/data/regions/IL.js b/node_modules/caniuse-lite/data/regions/IL.js new file mode 100644 index 00000000..d4c931ad --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/IL.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00395,"25":0.00789,"26":0.01973,"27":0.00395,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00395,"36":0.00395,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01578,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.01184,"67":0,"68":0.00395,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01973,"79":0.0513,"80":0.01184,"81":0,"82":0,"83":0,"84":0,"85":0.00395,"86":0.00395,"87":0.00395,"88":0.01578,"89":0.02368,"90":0.25649,"91":0.3433,"92":0.00395,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.02762,"32":0.00789,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01184,"39":0.00395,"40":0.00395,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.04735,"50":0,"51":0,"52":0,"53":0.00395,"54":0,"55":0,"56":0.00395,"57":0.00395,"58":0.00395,"59":0,"60":0,"61":0.00789,"62":0.00395,"63":0.00395,"64":0,"65":0.00395,"66":0.00395,"67":0.00395,"68":0.00395,"69":0.00395,"70":0.00395,"71":0.00789,"72":0.00789,"73":0.01184,"74":0.00395,"75":0.00789,"76":0.00395,"77":0.00395,"78":0.01184,"79":0.0513,"80":0.15784,"81":0.01578,"83":0.01184,"84":0.00789,"85":0.01184,"86":0.01973,"87":0.08287,"88":0.02762,"89":0.06314,"90":0.07103,"91":0.53271,"92":10.67393,"93":0.01184,"94":0.00395,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00789,"60":0,"62":0,"63":0,"64":0,"65":0.00395,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.146,"78":0.13022,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00546,"3.2":0.00182,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00728,"6.0-6.1":0.01275,"7.0-7.1":0.04552,"8.1-8.4":0.03642,"9.0-9.2":0.01093,"9.3":0.17663,"10.0-10.2":0.02185,"10.3":0.18027,"11.0-11.2":0.06373,"11.3-11.4":0.08194,"12.0-12.1":0.07648,"12.2-12.4":0.20759,"13.0-13.1":0.05645,"13.2":0.03278,"13.3":0.17663,"13.4-13.7":0.43702,"14.0-14.4":2.03398,"14.5-14.7":13.97021},E:{"4":0,"5":0,"6":0,"7":0.00395,"8":0.05919,"9":0,"10":0,"11":0,"12":0,"13":0.01184,"14":0.09076,"15":0.00789,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.00789,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00789,"12.1":0.00789,"13.1":0.03551,"14.1":0.43406},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00395,"18":0.02368,"79":0,"80":0,"81":0,"83":0,"84":0.00395,"85":0.00395,"86":0.00789,"87":0.00395,"88":0.00395,"89":0.00789,"90":0.00395,"91":0.04735,"92":0.94704,"93":0},P:{"4":0.12319,"5.0-5.4":0.01027,"6.2-6.4":0,"7.2-7.4":0.05133,"8.2":0.02053,"9.2":0.14372,"10.1":0.05133,"11.1-11.2":0.31824,"12.0":0.13346,"13.0":0.40037,"14.0":5.41011},I:{"0":0,"3":0,"4":0.00476,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00635,"4.2-4.3":0.01428,"4.4":0,"4.4.3-4.4.4":0.08408},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00395,"10":0.00395,"11":0.23676,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.19373},Q:{"10.4":0.01211},O:{"0":0.08476},H:{"0":0.28085},L:{"0":56.35963},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/IM.js b/node_modules/caniuse-lite/data/regions/IM.js new file mode 100644 index 00000000..ef767610 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/IM.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.0047,"52":0.26314,"63":0.08928,"70":0.0094,"78":0.03759,"84":0.0094,"88":0.0235,"89":0.06109,"90":1.4003,"91":1.96418,"92":0.0094,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 64 65 66 67 68 69 71 72 73 74 75 76 77 79 80 81 82 83 85 86 87 93 3.5 3.6"},D:{"49":0.57328,"60":0.0141,"65":0.0047,"67":0.16916,"73":0.0047,"74":0.0188,"75":0.0235,"76":0.0141,"77":0.05639,"78":0.09398,"79":0.11278,"80":0.0235,"81":0.04229,"83":0.0188,"84":0.03289,"85":0.0047,"86":0.03289,"87":0.10338,"88":0.0235,"89":0.10338,"90":0.24905,"91":1.65875,"92":18.13344,"93":0.0188,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 61 62 63 64 66 68 69 70 71 72 94 95 96"},F:{"46":0.0188,"74":0.0188,"76":0.13627,"77":0.33833,"78":0.34303,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01533,"6.0-6.1":0.00613,"7.0-7.1":0.0092,"8.1-8.4":0.0092,"9.0-9.2":0,"9.3":1.05137,"10.0-10.2":0,"10.3":0.93183,"11.0-11.2":0.11648,"11.3-11.4":0.04598,"12.0-12.1":0.05517,"12.2-12.4":0.141,"13.0-13.1":0.02452,"13.2":0.0092,"13.3":0.14407,"13.4-13.7":0.64676,"14.0-14.4":2.89663,"14.5-14.7":22.14618},E:{"4":0,"11":0.04699,"12":0.04229,"13":0.20206,"14":1.13716,"15":0.0094,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.0094,"10.1":0.0141,"11.1":0.31953,"12.1":0.18796,"13.1":0.87401,"14.1":7.85203},B:{"14":0.02819,"16":0.02819,"17":0.0047,"18":0.09398,"79":0.0047,"86":0.0188,"87":0.0141,"90":0.0141,"91":0.13627,"92":8.29843,_:"12 13 15 80 81 83 84 85 88 89 93"},P:{"4":0.01116,"5.0-5.4":0.01033,"6.2-6.4":0.01036,"7.2-7.4":0.18598,"8.2":0.01026,"9.2":0.06199,"10.1":0.15187,"11.1-11.2":0.03349,"12.0":0.05581,"13.0":0.12279,"14.0":3.05858},I:{"0":0,"3":0,"4":0.01104,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00029,"4.2-4.3":0.00074,"4.4":0,"4.4.3-4.4.4":0.00913},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.05418,"11":0.66006,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.73684},Q:{"10.4":0},O:{"0":0.03711},H:{"0":0.19071},L:{"0":20.52333},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/IN.js b/node_modules/caniuse-lite/data/regions/IN.js new file mode 100644 index 00000000..049abe6b --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/IN.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00231,"43":0,"44":0,"45":0,"46":0,"47":0.00231,"48":0.00231,"49":0,"50":0,"51":0,"52":0.00692,"53":0,"54":0,"55":0,"56":0.00231,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00231,"69":0,"70":0,"71":0,"72":0.00231,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00692,"79":0,"80":0,"81":0.00231,"82":0,"83":0,"84":0.00231,"85":0.00231,"86":0.00231,"87":0.00231,"88":0.00692,"89":0.01154,"90":0.12227,"91":0.15918,"92":0.01154,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00923,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00231,"57":0,"58":0.00231,"59":0,"60":0,"61":0.00231,"62":0,"63":0.00461,"64":0.00231,"65":0.00231,"66":0,"67":0,"68":0.00231,"69":0.00231,"70":0.00923,"71":0.00923,"72":0.00231,"73":0.00231,"74":0.00461,"75":0.00231,"76":0.00231,"77":0.00231,"78":0.00231,"79":0.00692,"80":0.00923,"81":0.00923,"83":0.01154,"84":0.00461,"85":0.00692,"86":0.00923,"87":0.02768,"88":0.01154,"89":0.01846,"90":0.02307,"91":0.12919,"92":3.92882,"93":0.00923,"94":0.00461,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00231,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00692,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00461,"51":0.00461,"52":0.00231,"53":0,"54":0.01154,"55":0.01154,"56":0.01154,"57":0.01846,"58":0.24916,"60":0,"62":0,"63":0,"64":0.00231,"65":0.00692,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.03461,"78":0.02999,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00106,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00053,"5.0-5.1":0.00079,"6.0-6.1":0.00106,"7.0-7.1":0.00898,"8.1-8.4":0,"9.0-9.2":0.00106,"9.3":0.01135,"10.0-10.2":0.00317,"10.3":0.01347,"11.0-11.2":0.07419,"11.3-11.4":0.01188,"12.0-12.1":0.01452,"12.2-12.4":0.04568,"13.0-13.1":0.01215,"13.2":0.00634,"13.3":0.02719,"13.4-13.7":0.07789,"14.0-14.4":0.43221,"14.5-14.7":1.71113},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00231,"14":0.01384,"15":0.00231,_:"0","3.1":0,"3.2":0,"5.1":0.00231,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00231,"13.1":0.00692,"14.1":0.05998},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00231,"79":0,"80":0,"81":0,"83":0,"84":0.00231,"85":0,"86":0,"87":0,"88":0,"89":0.00231,"90":0,"91":0.00692,"92":0.19379,"93":0},P:{"4":0.3245,"5.0-5.4":0.01014,"6.2-6.4":0.03042,"7.2-7.4":0.13183,"8.2":0.01014,"9.2":0.06084,"10.1":0.02028,"11.1-11.2":0.09127,"12.0":0.0507,"13.0":0.15211,"14.0":0.65915},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0044,"4.2-4.3":0.00293,"4.4":0,"4.4.3-4.4.4":0.03959},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01154,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.14617},Q:{"10.4":0},O:{"0":2.49253},H:{"0":2.65838},L:{"0":82.79826},S:{"2.5":0.77699}}; diff --git a/node_modules/caniuse-lite/data/regions/IQ.js b/node_modules/caniuse-lite/data/regions/IQ.js new file mode 100644 index 00000000..cc701332 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/IQ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00174,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00174,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00348,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.00174,"89":0.00523,"90":0.04007,"91":0.06445,"92":0.00174,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00174,"35":0,"36":0,"37":0,"38":0.00523,"39":0.00174,"40":0.00174,"41":0,"42":0,"43":0.01219,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00523,"50":0,"51":0,"52":0,"53":0.00174,"54":0,"55":0,"56":0.00174,"57":0,"58":0,"59":0,"60":0.00174,"61":0,"62":0,"63":0.00348,"64":0,"65":0.00174,"66":0,"67":0,"68":0.00174,"69":0.00174,"70":0.00174,"71":0,"72":0.00174,"73":0.00174,"74":0.00174,"75":0.00348,"76":0.00174,"77":0.00174,"78":0.00174,"79":0.02787,"80":0.00174,"81":0.01045,"83":0.00523,"84":0.00174,"85":0.00174,"86":0.00697,"87":0.01045,"88":0.01394,"89":0.01045,"90":0.01394,"91":0.07316,"92":1.71761,"93":0.00174,"94":0.00174,"95":0.00174,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00871,"60":0,"62":0,"63":0,"64":0,"65":0.00174,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.04355,"78":0.04007,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00817,"6.0-6.1":0.00613,"7.0-7.1":0.09194,"8.1-8.4":0.00204,"9.0-9.2":0.00204,"9.3":0.0899,"10.0-10.2":0.02043,"10.3":0.1328,"11.0-11.2":0.04086,"11.3-11.4":0.05108,"12.0-12.1":0.06334,"12.2-12.4":0.28808,"13.0-13.1":0.03473,"13.2":0.02452,"13.3":0.15732,"13.4-13.7":0.42497,"14.0-14.4":2.6683,"14.5-14.7":15.13128},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00348,"14":0.05226,"15":0.00174,_:"0","3.1":0,"3.2":0,"5.1":0.01394,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00174,"13.1":0.01394,"14.1":0.21427},B:{"12":0,"13":0,"14":0,"15":0,"16":0.00174,"17":0.00174,"18":0.01219,"79":0,"80":0,"81":0,"83":0,"84":0.00174,"85":0,"86":0,"87":0,"88":0,"89":0.00174,"90":0,"91":0.00523,"92":0.18291,"93":0},P:{"4":0.1855,"5.0-5.4":0.02061,"6.2-6.4":0.02061,"7.2-7.4":0.1855,"8.2":0.01031,"9.2":0.09275,"10.1":0.03092,"11.1-11.2":0.29886,"12.0":0.10306,"13.0":0.44314,"14.0":3.28748},I:{"0":0,"3":0,"4":0.00256,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00256,"4.2-4.3":0.01451,"4.4":0,"4.4.3-4.4.4":0.1374},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.04703,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.08258},Q:{"10.4":0},O:{"0":0.94141},H:{"0":0.23454},L:{"0":70.25611},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/IR.js b/node_modules/caniuse-lite/data/regions/IR.js new file mode 100644 index 00000000..491795b6 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/IR.js @@ -0,0 +1 @@ +module.exports={C:{"27":0.00285,"29":0.00285,"30":0.00285,"31":0.00285,"32":0.00285,"33":0.00854,"34":0.00285,"37":0.00285,"38":0.01993,"39":0.00569,"40":0.00285,"41":0.00854,"43":0.00854,"45":0.00285,"46":0.00285,"47":0.01993,"48":0.00569,"49":0.00569,"50":0.00569,"52":0.0968,"56":0.01139,"57":0.00285,"60":0.00569,"62":0.00285,"66":0.00285,"67":0.00285,"68":0.00854,"69":0.00569,"70":0.00569,"71":0.00285,"72":0.03132,"73":0.00285,"74":0.00285,"75":0.00285,"76":0.00569,"77":0.00569,"78":0.13666,"79":0.00569,"80":0.00854,"81":0.01424,"82":0.01139,"83":0.01139,"84":0.02278,"85":0.01993,"86":0.01424,"87":0.01708,"88":0.05125,"89":0.20214,"90":1.76229,"91":2.45696,"92":0.02847,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 35 36 42 44 51 53 54 55 58 59 61 63 64 65 93 3.5 3.6"},D:{"11":0.00285,"29":0.00285,"31":0.00285,"34":0.00569,"35":0.10249,"38":0.01424,"39":0.00285,"44":0.00285,"48":0.00569,"49":0.0911,"51":0.00569,"53":0.00569,"54":0.00285,"55":0.00285,"56":0.00569,"57":0.00285,"58":0.00569,"60":0.00569,"61":0.00854,"62":0.00854,"63":0.02278,"64":0.00569,"65":0.00285,"66":0.00285,"67":0.00569,"68":0.00569,"69":0.00854,"70":0.01139,"71":0.02278,"72":0.00854,"73":0.00569,"74":0.01139,"75":0.01139,"76":0.00854,"77":0.02562,"78":0.01708,"79":0.05125,"80":0.03416,"81":0.03416,"83":0.04271,"84":0.05694,"85":0.06548,"86":0.10819,"87":0.23061,"88":0.05125,"89":0.05409,"90":0.1452,"91":0.67474,"92":15.96028,"93":0.01139,"94":0.00854,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 32 33 36 37 40 41 42 43 45 46 47 50 52 59 95 96"},F:{"64":0.00854,"71":0.00285,"72":0.00285,"75":0.00285,"76":0.00854,"77":0.35872,"78":0.28185,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00142,"6.0-6.1":0.00142,"7.0-7.1":0.00661,"8.1-8.4":0,"9.0-9.2":0.00236,"9.3":0.02596,"10.0-10.2":0.01274,"10.3":0.04955,"11.0-11.2":0.05003,"11.3-11.4":0.04436,"12.0-12.1":0.04767,"12.2-12.4":0.17556,"13.0-13.1":0.04295,"13.2":0.02029,"13.3":0.12034,"13.4-13.7":0.24729,"14.0-14.4":1.04864,"14.5-14.7":2.30163},E:{"4":0,"13":0.00569,"14":0.03416,_:"0 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1","5.1":0.18221,"12.1":0.00569,"13.1":0.01708,"14.1":0.09395},B:{"12":0.00569,"13":0.00569,"14":0.00854,"15":0.00569,"16":0.00569,"17":0.00854,"18":0.04555,"81":0.00569,"84":0.00854,"85":0.00569,"86":0.00285,"87":0.00285,"89":0.02562,"90":0.01139,"91":0.03701,"92":0.68897,_:"79 80 83 88 93"},P:{"4":1.07861,"5.0-5.4":0.1008,"6.2-6.4":0.09072,"7.2-7.4":0.61491,"8.2":0.11089,"9.2":0.49394,"10.1":0.21169,"11.1-11.2":1.00805,"12.0":0.52419,"13.0":1.3407,"14.0":4.75799},I:{"0":0,"3":0,"4":0.00027,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00295,"4.2-4.3":0.02548,"4.4":0,"4.4.3-4.4.4":0.07859},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.04312,"9":0.0115,"10":0.0115,"11":2.59013,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0.03463},R:{_:"0"},M:{"0":0.95135},Q:{"10.4":0},O:{"0":0.15021},H:{"0":0.44018},L:{"0":55.79736},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/IS.js b/node_modules/caniuse-lite/data/regions/IS.js new file mode 100644 index 00000000..5f251038 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/IS.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01789,"36":0.01192,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00596,"49":0,"50":0,"51":0,"52":0.02981,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00596,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00596,"77":0.00596,"78":0.10732,"79":0,"80":0,"81":0,"82":0,"83":0.10732,"84":0.01192,"85":0.00596,"86":0.00596,"87":0.00596,"88":0.01789,"89":0.06558,"90":1.41299,"91":2.17613,"92":0.00596,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01192,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.1252,"50":0,"51":0,"52":0.01192,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.01789,"64":0,"65":0.01789,"66":0.02385,"67":0.03577,"68":0.01192,"69":0,"70":0.00596,"71":0,"72":0.00596,"73":0.00596,"74":0,"75":0.00596,"76":0.01192,"77":0.00596,"78":0.02981,"79":0.02981,"80":0.02385,"81":0.01789,"83":0.01192,"84":0.01192,"85":0.01192,"86":0.02385,"87":0.18482,"88":0.03577,"89":0.04173,"90":0.26829,"91":1.20432,"92":18.87569,"93":0.01192,"94":0,"95":0.00596,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0.01192,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00596,"77":0.47696,"78":0.45907,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.11718,"9.0-9.2":0.02344,"9.3":0.16991,"10.0-10.2":0.00586,"10.3":0.22557,"11.0-11.2":0.07324,"11.3-11.4":0.08202,"12.0-12.1":0.07616,"12.2-12.4":0.32224,"13.0-13.1":0.01758,"13.2":0.01758,"13.3":0.14061,"13.4-13.7":0.65326,"14.0-14.4":2.46071,"14.5-14.7":24.28196},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00596,"12":0.00596,"13":0.06558,"14":0.66178,"15":0.01192,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00596,"10.1":0.01789,"11.1":0.17886,"12.1":0.1252,"13.1":0.57831,"14.1":3.41026},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.01192,"79":0,"80":0,"81":0,"83":0,"84":0.00596,"85":0.00596,"86":0.01192,"87":0,"88":0,"89":0.01192,"90":0.02385,"91":0.07751,"92":2.93927,"93":0.05962},P:{"4":0.05215,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.01043,"10.1":0.01043,"11.1-11.2":0.07301,"12.0":0.1043,"13.0":0.07301,"14.0":3.87992},I:{"0":0,"3":0,"4":0.00912,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00912,"4.2-4.3":0.00304,"4.4":0,"4.4.3-4.4.4":0.08815},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.01237,"10":0,"11":0.15457,"5.5":0},J:{"7":0,"10":0.00404},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.4361},Q:{"10.4":0},O:{"0":0.02019},H:{"0":0.1835},L:{"0":28.51077},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/IT.js b/node_modules/caniuse-lite/data/regions/IT.js new file mode 100644 index 00000000..83f33a55 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/IT.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00414,"35":0.00828,"36":0.00414,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.00414,"46":0,"47":0,"48":0.00828,"49":0,"50":0,"51":0,"52":0.03726,"53":0,"54":0,"55":0.00414,"56":0.00828,"57":0,"58":0,"59":0.00828,"60":0.00414,"61":0,"62":0,"63":0,"64":0,"65":0.02484,"66":0.00414,"67":0,"68":0.00828,"69":0,"70":0.00414,"71":0,"72":0.00414,"73":0,"74":0,"75":0,"76":0,"77":0.00414,"78":0.08694,"79":0,"80":0.00414,"81":0.00414,"82":0.01242,"83":0.00414,"84":0.00828,"85":0.00414,"86":0.00828,"87":0.00828,"88":0.03312,"89":0.07038,"90":0.98946,"91":1.19232,"92":0.03312,"93":0.00414,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00414,"27":0,"28":0,"29":0.00414,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.0207,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.207,"50":0.00828,"51":0,"52":0.00414,"53":0.02898,"54":0,"55":0.00414,"56":0.00414,"57":0,"58":0,"59":0.00414,"60":0.01242,"61":0.01656,"62":0,"63":0.00828,"64":0,"65":0.00828,"66":0.0414,"67":0.00828,"68":0.00828,"69":0.11178,"70":0.00828,"71":0.00414,"72":0.00414,"73":0.00414,"74":0.0207,"75":0.00828,"76":0.00414,"77":0.00828,"78":0.00828,"79":0.1035,"80":0.01656,"81":0.04554,"83":0.0207,"84":0.0207,"85":0.01656,"86":0.03726,"87":0.07452,"88":0.03726,"89":0.09936,"90":0.07038,"91":0.34776,"92":9.01692,"93":0.00828,"94":0.00414,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00414,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00828,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00828,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.16146,"78":0.13662,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00574,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00191,"5.0-5.1":0.01148,"6.0-6.1":0.00383,"7.0-7.1":0.03636,"8.1-8.4":0.01914,"9.0-9.2":0.02105,"9.3":0.21627,"10.0-10.2":0.02297,"10.3":0.2067,"11.0-11.2":0.10909,"11.3-11.4":0.09569,"12.0-12.1":0.08421,"12.2-12.4":0.20478,"13.0-13.1":0.05933,"13.2":0.02871,"13.3":0.15311,"13.4-13.7":0.49186,"14.0-14.4":2.27174,"14.5-14.7":14.26587},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00414,"12":0.00414,"13":0.02898,"14":0.24426,"15":0.00828,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00828,"11.1":0.03726,"12.1":0.03312,"13.1":0.1449,"14.1":0.96048},B:{"12":0,"13":0,"14":0,"15":0.00414,"16":0.00414,"17":0.00414,"18":0.06624,"79":0,"80":0,"81":0,"83":0,"84":0.00414,"85":0.00414,"86":0.00414,"87":0.00414,"88":0.00414,"89":0.00828,"90":0.00828,"91":0.0414,"92":1.1178,"93":0.0207},P:{"4":0.56849,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.03101,"8.2":0.02067,"9.2":0.07235,"10.1":0.04134,"11.1-11.2":0.2274,"12.0":0.10336,"13.0":0.25841,"14.0":3.53499},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0102,"4.2-4.3":0.02549,"4.4":0,"4.4.3-4.4.4":0.15297},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00472,"9":0.00472,"10":0,"11":0.22654,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.36918},Q:{"10.4":0.04102},O:{"0":0.21096},H:{"0":0.24411},L:{"0":56.30348},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/JE.js b/node_modules/caniuse-lite/data/regions/JE.js new file mode 100644 index 00000000..cb6838d1 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/JE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01948,"36":0.01461,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00487,"49":0,"50":0,"51":0,"52":0.00974,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00487,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.02436,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.03897,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0.00487,"87":0,"88":0,"89":0.04384,"90":0.38481,"91":0.58452,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.07307,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00974,"62":0,"63":0,"64":0,"65":0.00487,"66":0,"67":0.00974,"68":0,"69":0,"70":0,"71":0.00487,"72":0.0341,"73":0,"74":0.00487,"75":0,"76":0,"77":0.00487,"78":0,"79":0.01948,"80":0.05358,"81":0,"83":0.00974,"84":0.02923,"85":0,"86":0.00487,"87":0.04871,"88":0.01461,"89":0.06819,"90":0.07794,"91":0.56991,"92":8.06151,"93":0,"94":0.00974,"95":0.00974,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.08768,"78":0.08281,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.04818,"7.0-7.1":0.03212,"8.1-8.4":0.03212,"9.0-9.2":0.01606,"9.3":0.70668,"10.0-10.2":0.02141,"10.3":1.68104,"11.0-11.2":0.02141,"11.3-11.4":0.05889,"12.0-12.1":0.06424,"12.2-12.4":0.30516,"13.0-13.1":0.05354,"13.2":0.02677,"13.3":0.19273,"13.4-13.7":0.69062,"14.0-14.4":5.08058,"14.5-14.7":41.37275},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00487,"12":0.00487,"13":0.07794,"14":0.80859,"15":0.01948,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00974,"10.1":0.02923,"11.1":0.04384,"12.1":0.08281,"13.1":0.56504,"14.1":5.48962},B:{"12":0,"13":0,"14":0,"15":0.00487,"16":0.04384,"17":0,"18":0.08768,"79":0,"80":0.01948,"81":0,"83":0,"84":0,"85":0,"86":0.01948,"87":0,"88":0,"89":0,"90":0.00974,"91":0.07307,"92":3.11744,"93":0},P:{"4":0.25406,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0.01105,"9.2":0,"10.1":0,"11.1-11.2":0.02209,"12.0":0.01105,"13.0":0.07732,"14.0":3.2696},I:{"0":0,"3":0,"4":0.03978,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.53706},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.7063,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.40006},Q:{"10.4":0},O:{"0":0},H:{"0":0.02913},L:{"0":20.81921},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/JM.js b/node_modules/caniuse-lite/data/regions/JM.js new file mode 100644 index 00000000..432ddf29 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/JM.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.00815,"78":0.04889,"84":0.00407,"86":0.00407,"87":0.02037,"88":0.01222,"89":0.03667,"90":0.43184,"91":0.55814,"92":0.00815,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 93 3.5 3.6"},D:{"11":0.00407,"40":0.00407,"47":0.00815,"49":0.25259,"50":0.0163,"53":0.02037,"55":0.00815,"56":0.00407,"59":0.0163,"60":0.00407,"62":0.00407,"63":0.00815,"65":0.00815,"67":0.03667,"68":0.00815,"69":0.0163,"70":0.02037,"71":0.00407,"72":0.00407,"73":0.0163,"74":0.37888,"75":0.12629,"76":0.11815,"77":0.02852,"78":0.05296,"79":0.13852,"80":0.03667,"81":0.10185,"83":0.03667,"84":0.11,"85":0.02037,"86":0.04889,"87":0.14259,"88":0.05296,"89":0.11815,"90":0.21592,"91":1.97589,"92":22.49663,"93":0.12222,"94":0.06518,"95":0.00815,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 48 51 52 54 57 58 61 64 66 96"},F:{"28":0.00407,"57":0.00815,"74":0.00815,"77":0.48888,"78":0.36259,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.01058,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01984,"6.0-6.1":0,"7.0-7.1":0.46423,"8.1-8.4":0.00265,"9.0-9.2":0,"9.3":0.21823,"10.0-10.2":0.00265,"10.3":0.13094,"11.0-11.2":0.15739,"11.3-11.4":0.01984,"12.0-12.1":0.03836,"12.2-12.4":0.08068,"13.0-13.1":0.01984,"13.2":0.00265,"13.3":0.11771,"13.4-13.7":0.24997,"14.0-14.4":1.38873,"14.5-14.7":9.61134},E:{"4":0,"13":0.02444,"14":0.29333,"15":0.02037,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.02037,"10.1":0.00815,"11.1":0.02037,"12.1":0.0163,"13.1":0.14259,"14.1":1.4422},B:{"12":0.00407,"13":0.00815,"14":0.00815,"15":0.03667,"16":0.04074,"17":0.0163,"18":0.09778,"80":0.00815,"84":0.01222,"86":0.00815,"87":0.02037,"88":0.00407,"89":0.03259,"90":0.01222,"91":0.13444,"92":5.06398,_:"79 81 83 85 93"},P:{"4":0.39213,"5.0-5.4":0.01033,"6.2-6.4":0.01036,"7.2-7.4":0.23964,"8.2":0.01026,"9.2":0.06536,"10.1":0.02179,"11.1-11.2":0.38124,"12.0":0.09803,"13.0":0.23964,"14.0":3.649},I:{"0":0,"3":0,"4":0.00115,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00115,"4.2-4.3":0.00269,"4.4":0,"4.4.3-4.4.4":0.05427},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.04575,"10":0.00915,"11":0.2425,_:"6 7 9 5.5"},J:{"7":0,"10":0.01185},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.11854},Q:{"10.4":0},O:{"0":0.60455},H:{"0":0.30301},L:{"0":43.78129},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/JO.js b/node_modules/caniuse-lite/data/regions/JO.js new file mode 100644 index 00000000..a43419a0 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/JO.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00306,"35":0.00306,"36":0.00306,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00306,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.01224,"64":0,"65":0,"66":0.00306,"67":0,"68":0,"69":0.00306,"70":0,"71":0,"72":0,"73":0.00306,"74":0,"75":0,"76":0,"77":0,"78":0.00612,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00306,"85":0.00306,"86":0,"87":0,"88":0.00612,"89":0.01836,"90":0.1836,"91":0.25704,"92":0.00306,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00306,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00306,"35":0,"36":0,"37":0,"38":0.00306,"39":0,"40":0,"41":0,"42":0,"43":0.00306,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.05202,"50":0,"51":0.00306,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00306,"59":0,"60":0,"61":0.0612,"62":0,"63":0.00612,"64":0,"65":0.00306,"66":0.00306,"67":0,"68":0.00306,"69":0.00612,"70":0.00612,"71":0,"72":0,"73":0,"74":0.00306,"75":0.00306,"76":0.00306,"77":0.00306,"78":0.00612,"79":0.02142,"80":0.00612,"81":0.0153,"83":0.00918,"84":0.00612,"85":0.00918,"86":0.01836,"87":0.14688,"88":0.04896,"89":0.02142,"90":0.03366,"91":0.25704,"92":6.1965,"93":0.00918,"94":0.00306,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00306,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00612,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.00306,"75":0,"76":0.00918,"77":0.14688,"78":0.09486,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0039,"6.0-6.1":0.0104,"7.0-7.1":0.0247,"8.1-8.4":0.0026,"9.0-9.2":0,"9.3":0.10138,"10.0-10.2":0.0078,"10.3":0.07929,"11.0-11.2":0.02989,"11.3-11.4":0.05849,"12.0-12.1":0.07019,"12.2-12.4":0.14427,"13.0-13.1":0.02859,"13.2":0.0156,"13.3":0.08838,"13.4-13.7":0.35094,"14.0-14.4":1.72999,"14.5-14.7":9.46099},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00918,"14":0.1071,"15":0.00918,_:"0","3.1":0,"3.2":0,"5.1":0.00306,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00306,"12.1":0.00612,"13.1":0.03366,"14.1":0.306},B:{"12":0,"13":0,"14":0,"15":0.00306,"16":0.00306,"17":0.00306,"18":0.00918,"79":0,"80":0,"81":0,"83":0,"84":0.00306,"85":0,"86":0.00306,"87":0,"88":0,"89":0.00918,"90":0,"91":0.0153,"92":0.60894,"93":0.00306},P:{"4":0.12191,"5.0-5.4":0,"6.2-6.4":0.01016,"7.2-7.4":0.08127,"8.2":0,"9.2":0.0508,"10.1":0.02032,"11.1-11.2":0.19303,"12.0":0.07112,"13.0":0.18287,"14.0":1.85915},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.36637,"4.2-4.3":1.46547,"4.4":0,"4.4.3-4.4.4":16.12015},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0306,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.18044},Q:{"10.4":0},O:{"0":0.4164},H:{"0":0.25624},L:{"0":56.103},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/JP.js b/node_modules/caniuse-lite/data/regions/JP.js new file mode 100644 index 00000000..6b554907 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/JP.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.02228,"36":0.01671,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00557,"49":0,"50":0,"51":0,"52":0.02786,"53":0.00557,"54":0,"55":0,"56":0.01114,"57":0,"58":0,"59":0,"60":0.00557,"61":0,"62":0,"63":0.00557,"64":0,"65":0,"66":0.00557,"67":0.00557,"68":0.01114,"69":0,"70":0,"71":0,"72":0.00557,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.05571,"79":0.00557,"80":0.00557,"81":0,"82":0,"83":0,"84":0.01114,"85":0.00557,"86":0.00557,"87":0.00557,"88":0.02228,"89":0.04457,"90":0.72423,"91":1.0752,"92":0.00557,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00557,"43":0.00557,"44":0,"45":0.00557,"46":0,"47":0.00557,"48":0.00557,"49":0.12813,"50":0,"51":0,"52":0.00557,"53":0,"54":0,"55":0.00557,"56":0.00557,"57":0.00557,"58":0.00557,"59":0,"60":0.00557,"61":0.08357,"62":0.01114,"63":0.02228,"64":0.01114,"65":0.01114,"66":0.00557,"67":0.01114,"68":0.00557,"69":0.02786,"70":0.01671,"71":0.01114,"72":0.01114,"73":0.01114,"74":0.01671,"75":0.01671,"76":0.01114,"77":0.01114,"78":0.01671,"79":0.03343,"80":0.039,"81":0.07242,"83":0.03343,"84":0.03343,"85":0.03343,"86":0.04457,"87":0.1337,"88":0.04457,"89":0.08357,"90":0.1337,"91":0.75209,"92":13.18099,"93":0.01114,"94":0.01114,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01114,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.07242,"78":0.06685,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00453,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00453,"6.0-6.1":0.01359,"7.0-7.1":0.04077,"8.1-8.4":0.06342,"9.0-9.2":0.2854,"9.3":0.24463,"10.0-10.2":0.07701,"10.3":0.24916,"11.0-11.2":0.20386,"11.3-11.4":0.19027,"12.0-12.1":0.18574,"12.2-12.4":0.39412,"13.0-13.1":0.12231,"13.2":0.04983,"13.3":0.33976,"13.4-13.7":1.30468,"14.0-14.4":4.49391,"14.5-14.7":36.07812},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01114,"12":0.01114,"13":0.04457,"14":0.28969,"15":0.01114,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01114,"10.1":0.01114,"11.1":0.03343,"12.1":0.05014,"13.1":0.18384,"14.1":1.61559},B:{"12":0,"13":0,"14":0.00557,"15":0.00557,"16":0.00557,"17":0.01114,"18":0.03343,"79":0,"80":0,"81":0,"83":0,"84":0.00557,"85":0.00557,"86":0.00557,"87":0.00557,"88":0.00557,"89":0.01114,"90":0.01114,"91":0.07799,"92":4.63507,"93":0},P:{"4":0.01052,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0.01052,"11.1-11.2":0.02105,"12.0":0.01052,"13.0":0.0421,"14.0":0.91562},I:{"0":0,"3":0,"4":0.02032,"2.1":0,"2.2":0.07113,"2.3":0.0254,"4.1":0.04065,"4.2-4.3":0.1321,"4.4":0,"4.4.3-4.4.4":0.37597},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00655,"10":0.00655,"11":1.73619,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.29674},Q:{"10.4":0.06201},O:{"0":0.36318},H:{"0":0.11321},L:{"0":25.23829},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/KE.js b/node_modules/caniuse-lite/data/regions/KE.js new file mode 100644 index 00000000..b2f3c3ae --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KE.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00284,"30":0.00284,"34":0.00569,"40":0.00284,"43":0.00853,"47":0.00853,"48":0.00284,"51":0.00284,"52":0.14784,"56":0.00284,"57":0.00284,"68":0.00284,"72":0.01137,"73":0.01137,"77":0.00569,"78":0.04833,"79":0.00569,"80":0.00569,"81":0.00284,"83":0.00569,"84":0.01137,"85":0.00853,"86":0.0199,"87":0.00569,"88":0.03696,"89":0.12509,"90":0.96378,"91":1.37886,"92":0.08529,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 35 36 37 38 39 41 42 44 45 46 49 50 53 54 55 58 59 60 61 62 63 64 65 66 67 69 70 71 74 75 76 82 93 3.5 3.6"},D:{"11":0.00853,"20":0.00569,"34":0.00284,"38":0.01137,"39":0.01422,"43":0.00284,"47":0.00853,"49":0.07108,"50":0.00569,"51":0.00284,"53":0.00284,"54":0.00284,"55":0.00284,"56":0.01137,"57":0.00569,"58":0.00569,"61":0.02274,"62":0.00569,"63":0.01137,"64":0.00569,"65":0.00853,"66":0.00569,"67":0.00853,"68":0.00569,"69":0.00569,"70":0.01137,"71":0.00284,"72":0.00853,"73":0.01137,"74":0.01422,"75":0.00853,"76":0.00853,"77":0.01137,"78":0.0199,"79":0.05686,"80":0.03127,"81":0.03127,"83":0.02559,"84":0.02274,"85":0.0199,"86":0.06539,"87":0.12509,"88":0.05117,"89":0.06255,"90":0.12794,"91":0.78183,"92":15.44602,"93":0.03412,"94":0.01422,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 40 41 42 44 45 46 48 52 59 60 95 96"},F:{"28":0.01137,"36":0.01137,"63":0.00569,"64":0.00853,"65":0.01706,"76":0.00284,"77":0.42645,"78":0.31842,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 66 67 68 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00024,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00024,"5.0-5.1":0.01198,"6.0-6.1":0.00196,"7.0-7.1":0.02493,"8.1-8.4":0.00855,"9.0-9.2":0.00244,"9.3":0.0391,"10.0-10.2":0.00415,"10.3":0.04741,"11.0-11.2":0.05768,"11.3-11.4":0.01051,"12.0-12.1":0.01124,"12.2-12.4":0.03299,"13.0-13.1":0.00904,"13.2":0.00489,"13.3":0.0457,"13.4-13.7":0.06574,"14.0-14.4":0.30207,"14.5-14.7":1.56609},E:{"4":0,"12":0.00284,"13":0.01422,"14":0.08813,"15":0.00569,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1","5.1":0.01422,"9.1":0.00569,"10.1":0.00569,"11.1":0.00853,"12.1":0.05686,"13.1":0.04549,"14.1":0.33263},B:{"12":0.01137,"13":0.00853,"14":0.00569,"15":0.00569,"16":0.00853,"17":0.00569,"18":0.04265,"84":0.00569,"85":0.00569,"88":0.00284,"89":0.02559,"90":0.00853,"91":0.05686,"92":1.31915,_:"79 80 81 83 86 87 93"},P:{"4":0.20395,"5.0-5.4":0.01033,"6.2-6.4":0.01036,"7.2-7.4":0.0644,"8.2":0.01026,"9.2":0.01073,"10.1":0.02179,"11.1-11.2":0.05367,"12.0":0.02147,"13.0":0.08587,"14.0":0.67624},I:{"0":0,"3":0,"4":0.00078,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00235,"4.2-4.3":0.00627,"4.4":0,"4.4.3-4.4.4":0.07646},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00494,"10":0.00988,"11":0.19271,_:"6 7 9 5.5"},J:{"7":0,"10":0.00716},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.12881},Q:{"10.4":0},O:{"0":0.37927},H:{"0":28.71854},L:{"0":41.865},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/KG.js b/node_modules/caniuse-lite/data/regions/KG.js new file mode 100644 index 00000000..65667d6a --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KG.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00589,"48":0,"49":0,"50":0,"51":0,"52":0.13536,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02943,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0.00589,"88":0.0412,"89":0.01766,"90":0.14713,"91":0.21186,"92":0.01177,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00589,"24":0.00589,"25":0.00589,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00589,"41":0,"42":0,"43":0,"44":0.00589,"45":0,"46":0,"47":0.00589,"48":0,"49":0.09416,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.0412,"57":0,"58":0,"59":0.05297,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00589,"67":0.00589,"68":0.00589,"69":0,"70":0,"71":0.01766,"72":0,"73":0.00589,"74":0.00589,"75":0,"76":0,"77":0,"78":0.01766,"79":0.05297,"80":0.01766,"81":0.00589,"83":0.02354,"84":0.01177,"85":0.02354,"86":0.05297,"87":0.26483,"88":0.16478,"89":0.02943,"90":0.12947,"91":1.24762,"92":27.53003,"93":0,"94":0.02354,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00589,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00589,"36":0.00589,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.01766,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.03531,"60":0,"62":0,"63":0,"64":0,"65":0.00589,"66":0,"67":0,"68":0.00589,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.58262,"78":0.54731,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00084,"6.0-6.1":0,"7.0-7.1":0.00505,"8.1-8.4":0,"9.0-9.2":0.00758,"9.3":0.01937,"10.0-10.2":0.00505,"10.3":0.04043,"11.0-11.2":0.01348,"11.3-11.4":0.01937,"12.0-12.1":0.02106,"12.2-12.4":0.09686,"13.0-13.1":0.03369,"13.2":0.01095,"13.3":0.10613,"13.4-13.7":0.27879,"14.0-14.4":2.00628,"14.5-14.7":5.33575},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00589,"14":0.08239,"15":0.00589,_:"0","3.1":0,"3.2":0,"5.1":0.63558,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00589,"12.1":0.00589,"13.1":0.0412,"14.1":0.35899},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.01177,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0.00589,"87":0,"88":0,"89":0,"90":0,"91":0.00589,"92":0.31191,"93":0.13536},P:{"4":0.19172,"5.0-5.4":0.02018,"6.2-6.4":0.06054,"7.2-7.4":0.16145,"8.2":0.02018,"9.2":0.07063,"10.1":0.02018,"11.1-11.2":0.13118,"12.0":0.10091,"13.0":0.17154,"14.0":0.92833},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00225,"4.2-4.3":0.00337,"4.4":0,"4.4.3-4.4.4":0.05615},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.26483,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.04115},Q:{"10.4":0.00823},O:{"0":0.68721},H:{"0":0.29998},L:{"0":52.35515},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/KH.js b/node_modules/caniuse-lite/data/regions/KH.js new file mode 100644 index 00000000..eb95e9b1 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KH.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.00929,"5":0.00929,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00465,"16":0,"17":0.00929,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01394,"36":0.00929,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.00465,"45":0,"46":0,"47":0.00465,"48":0.00929,"49":0,"50":0.00465,"51":0.00465,"52":0.00929,"53":0,"54":0.00465,"55":0.00465,"56":0.00929,"57":0.00465,"58":0,"59":0,"60":0,"61":0.01858,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00465,"68":0.00465,"69":0,"70":0,"71":0,"72":0.17655,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01858,"79":0.00465,"80":0.01394,"81":0.05111,"82":0.00465,"83":0.00465,"84":0.00465,"85":0.00465,"86":0,"87":0.00929,"88":0.04181,"89":0.0604,"90":0.37633,"91":0.62256,"92":0.02788,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00465,"24":0.01394,"25":0.00465,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00929,"39":0,"40":0.00465,"41":0,"42":0,"43":0.00465,"44":0,"45":0,"46":0.00465,"47":0.00929,"48":0,"49":0.10686,"50":0,"51":0,"52":0,"53":0.01858,"54":0,"55":0.00465,"56":0.01394,"57":0.00465,"58":0.00465,"59":0,"60":0,"61":0,"62":0,"63":0.00465,"64":0.00465,"65":0.00465,"66":0,"67":0.00465,"68":0.00465,"69":0.00465,"70":0.00465,"71":0.00465,"72":0.00929,"73":0.00465,"74":0.00465,"75":0.00929,"76":0.00929,"77":0,"78":0.02788,"79":0.06504,"80":0.02788,"81":0.00929,"83":0.05111,"84":0.08363,"85":0.05111,"86":0.08363,"87":0.16726,"88":0.06969,"89":0.03252,"90":0.08363,"91":0.4646,"92":14.28645,"93":0.02323,"94":0.02323,"95":0.00465,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00465,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00465,"37":0.01394,"38":0,"39":0,"40":0.00465,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00465,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00465,"55":0.00465,"56":0,"57":0,"58":0.00929,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00465,"69":0,"70":0.00929,"71":0.00465,"72":0,"73":0,"74":0,"75":0,"76":0.00465,"77":0.14867,"78":0.15796,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.03496,"7.0-7.1":0.08934,"8.1-8.4":0.13595,"9.0-9.2":0.02331,"9.3":0.27578,"10.0-10.2":0.06992,"10.3":0.3185,"11.0-11.2":0.13983,"11.3-11.4":0.23305,"12.0-12.1":0.26801,"12.2-12.4":0.94774,"13.0-13.1":0.21363,"13.2":0.0738,"13.3":0.56709,"13.4-13.7":1.58475,"14.0-14.4":7.00318,"14.5-14.7":24.18293},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00465,"11":0.00465,"12":0.00465,"13":0.03252,"14":0.29734,"15":0.01394,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00465,"11.1":0.01394,"12.1":0.02788,"13.1":0.16261,"14.1":1.11039},B:{"12":0.00465,"13":0.00465,"14":0.00465,"15":0.00465,"16":0.00465,"17":0.00465,"18":0.02323,"79":0,"80":0,"81":0,"83":0,"84":0.00465,"85":0.00465,"86":0.00929,"87":0.00465,"88":0,"89":0.00929,"90":0.00465,"91":0.02323,"92":0.83628,"93":0},P:{"4":0.28041,"5.0-5.4":0.01039,"6.2-6.4":0,"7.2-7.4":0.02077,"8.2":0.01039,"9.2":0.02077,"10.1":0.02077,"11.1-11.2":0.03116,"12.0":0.05193,"13.0":0.10385,"14.0":1.12163},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.01375,"4.4":0,"4.4.3-4.4.4":0.07484},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01284,"9":0,"10":0.01284,"11":0.32742,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.14991},Q:{"10.4":0.02677},O:{"0":0.71208},H:{"0":0.48661},L:{"0":38.13323},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/KI.js b/node_modules/caniuse-lite/data/regions/KI.js new file mode 100644 index 00000000..cce2abe0 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KI.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00668,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00334,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.01671,"55":0,"56":0.03007,"57":0,"58":0,"59":0.00668,"60":0.00334,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.01002,"72":0.00334,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00334,"85":0,"86":0.00668,"87":0,"88":0.30403,"89":0.01002,"90":0.20046,"91":0.49781,"92":0.00668,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00668,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.05346,"64":0,"65":0,"66":0,"67":0.00334,"68":0,"69":0,"70":0.01002,"71":0,"72":0,"73":0,"74":0.00334,"75":0.01671,"76":0,"77":0,"78":0.00334,"79":0.01002,"80":0,"81":0.09355,"83":0,"84":0,"85":0,"86":0.04009,"87":0.05346,"88":0.06014,"89":0.10023,"90":0.00668,"91":0.11359,"92":4.29319,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02673,"60":0,"62":0.01002,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00668,"73":0,"74":0,"75":0,"76":0.09355,"77":0.2038,"78":0.08353,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0.02534,"12.0-12.1":0.00845,"12.2-12.4":0.10981,"13.0-13.1":0.05068,"13.2":0,"13.3":0.04223,"13.4-13.7":0.17738,"14.0-14.4":0.63375,"14.5-14.7":0.18583},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.01336,"11":0,"12":0,"13":0,"14":0.00334,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0.00334,"14.1":0.01002},B:{"12":0,"13":0.03007,"14":0.00668,"15":0,"16":0.04677,"17":0,"18":0.33076,"79":0,"80":0.01002,"81":0,"83":0,"84":0,"85":0,"86":0.01002,"87":0.01336,"88":0,"89":0.01671,"90":0.01002,"91":0.04677,"92":3.43789,"93":0},P:{"4":0.60375,"5.0-5.4":0.01023,"6.2-6.4":0,"7.2-7.4":0.85958,"8.2":0,"9.2":0.0307,"10.1":0,"11.1-11.2":0.86981,"12.0":0.29676,"13.0":0.39909,"14.0":0.54235},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.06019,"4.4":0,"4.4.3-4.4.4":0.23368},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02673,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0.02664},O:{"0":2.69024},H:{"0":0.35304},L:{"0":79.01467},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/KM.js b/node_modules/caniuse-lite/data/regions/KM.js new file mode 100644 index 00000000..a397ac00 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KM.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00238,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00475,"48":0,"49":0,"50":0,"51":0,"52":0.00238,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.01188,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00475,"85":0.01188,"86":0,"87":0,"88":0.00713,"89":0.03563,"90":0.29688,"91":0.21375,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00238,"35":0.00475,"36":0,"37":0,"38":0.00238,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0.00238,"54":0,"55":0.00238,"56":0.00713,"57":0,"58":0.00713,"59":0.00238,"60":0,"61":0,"62":0,"63":0,"64":0.00475,"65":0.00238,"66":0,"67":0.00238,"68":0,"69":0.00475,"70":0.00238,"71":0.02375,"72":0.00475,"73":0,"74":0.01663,"75":0,"76":0,"77":0.00713,"78":0,"79":0.00238,"80":0.00713,"81":0.03088,"83":0.00713,"84":0.00238,"85":0.00475,"86":0.00475,"87":0.21613,"88":0.0095,"89":0.019,"90":0.01188,"91":0.18288,"92":2.02588,"93":0.00238,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.00238,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00238,"38":0,"39":0,"40":0,"41":0,"42":0.00713,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00238,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00238,"76":0,"77":0.07363,"78":0.02138,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00962,"6.0-6.1":0,"7.0-7.1":0.05532,"8.1-8.4":0.00481,"9.0-9.2":0.01924,"9.3":0.15794,"10.0-10.2":0.01203,"10.3":0.09541,"11.0-11.2":0.20604,"11.3-11.4":0.17718,"12.0-12.1":0.00722,"12.2-12.4":0.18921,"13.0-13.1":0.81856,"13.2":0.00241,"13.3":0.08578,"13.4-13.7":0.16836,"14.0-14.4":1.1152,"14.5-14.7":4.42554},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00238,"11":0,"12":0,"13":0.00238,"14":0.01663,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00238,"13.1":0,"14.1":0.0285},B:{"12":0.00713,"13":0.00475,"14":0.00713,"15":0.00475,"16":0,"17":0,"18":0.00713,"79":0,"80":0,"81":0,"83":0,"84":0.0095,"85":0.00238,"86":0,"87":0,"88":0,"89":0.00713,"90":0,"91":0.02613,"92":0.52725,"93":0},P:{"4":0.56334,"5.0-5.4":0.05121,"6.2-6.4":0.02049,"7.2-7.4":0.51213,"8.2":0,"9.2":0.10243,"10.1":0.04097,"11.1-11.2":0.70674,"12.0":0.02049,"13.0":0.11267,"14.0":0.61455},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.03684,"4.2-4.3":0.06068,"4.4":0,"4.4.3-4.4.4":0.5071},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01425,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0.01525},R:{_:"0"},M:{"0":0.13725},Q:{"10.4":0},O:{"0":0.25925},H:{"0":0.54863},L:{"0":83.08875},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/KN.js b/node_modules/caniuse-lite/data/regions/KN.js new file mode 100644 index 00000000..13491dfa --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KN.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.0045,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0.0045,"87":0,"88":0.00901,"89":0.0045,"90":0.4548,"91":0.73399,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.06304,"50":0.0045,"51":0,"52":0,"53":0.00901,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.0045,"65":0,"66":0.02702,"67":0,"68":0,"69":0.0045,"70":0,"71":0,"72":0,"73":0,"74":0.18913,"75":0.01351,"76":0.03152,"77":0,"78":0,"79":0.01351,"80":0,"81":0.06304,"83":0.00901,"84":0.10357,"85":0.0045,"86":0.01801,"87":0.01801,"88":0.0045,"89":0.0045,"90":0.01351,"91":0.67995,"92":10.00567,"93":0.00901,"94":0.00901,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.0045,"76":0.0045,"77":0.11258,"78":0.00901,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.17291,"6.0-6.1":0,"7.0-7.1":0.02075,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.05994,"10.0-10.2":0.00692,"10.3":0.19135,"11.0-11.2":0.02767,"11.3-11.4":0,"12.0-12.1":0.33198,"12.2-12.4":0.10836,"13.0-13.1":0.00692,"13.2":0,"13.3":0.02767,"13.4-13.7":0.52564,"14.0-14.4":1.84896,"14.5-14.7":17.43374},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0045,"12":0.0045,"13":0.0045,"14":0.12158,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00901,"6.1":0,"7.1":0,"9.1":0.0045,"10.1":0,"11.1":0.04503,"12.1":0.03152,"13.1":0.06304,"14.1":1.60757},B:{"12":0,"13":0.00901,"14":0.01351,"15":0.00901,"16":0.0045,"17":0,"18":0.05404,"79":0,"80":0,"81":0,"83":0,"84":0.0045,"85":0.0045,"86":0,"87":0,"88":0.0045,"89":0.0045,"90":0,"91":0.08556,"92":3.23315,"93":0},P:{"4":0.03228,"5.0-5.4":0,"6.2-6.4":0.02152,"7.2-7.4":0.10761,"8.2":0,"9.2":0.04304,"10.1":0.03228,"11.1-11.2":0.3013,"12.0":0.02152,"13.0":0.04304,"14.0":3.28202},I:{"0":0,"3":0,"4":0.06566,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02462,"4.2-4.3":0.09028,"4.4":0,"4.4.3-4.4.4":1.22286},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.34223,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.88502},Q:{"10.4":0},O:{"0":0.03298},H:{"0":0.14051},L:{"0":52.231},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/KP.js b/node_modules/caniuse-lite/data/regions/KP.js new file mode 100644 index 00000000..9c8adf71 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KP.js @@ -0,0 +1 @@ +module.exports={C:{"90":4.74794,"91":0.95085,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 92 93 3.5 3.6"},D:{"46":0.95085,"58":2.84624,"70":0.636,"81":6.32849,"90":27.21563,"91":3.16739,"92":11.39127,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 79 80 83 84 85 86 87 88 89 93 94 95 96"},F:{"74":1.58055,"77":0.636,"78":0.31485,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0.79818,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0.19954,"14.5-14.7":1.09761},E:{"4":0,_:"0 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1"},B:{"92":0.95085,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93"},P:{"4":0.69894,"5.0-5.4":0.01023,"6.2-6.4":0.69894,"7.2-7.4":0.85958,"8.2":0,"9.2":0.0307,"10.1":0,"11.1-11.2":0.86981,"12.0":0.29676,"13.0":0.39909,"14.0":0.34947},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":1.32295,"2.3":1.32295,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":1.54476},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.2657,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.69968},Q:{"10.4":0},O:{"0":0},H:{"0":2.31318},L:{"0":23.04865},S:{"2.5":1.39565}}; diff --git a/node_modules/caniuse-lite/data/regions/KR.js b/node_modules/caniuse-lite/data/regions/KR.js new file mode 100644 index 00000000..6a52e51a --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KR.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01828,"78":0.04112,"79":0.00457,"80":0.00457,"81":0.00457,"87":0.01828,"89":0.00914,"90":0.2513,"91":0.35638,"92":0.01371,"93":0.00457,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 82 83 84 85 86 88 3.5 3.6"},D:{"42":0.03198,"48":0.00914,"49":0.04112,"56":0.00914,"61":0.00914,"63":0.00914,"64":0.01828,"65":0.00914,"66":0.00457,"67":0.00457,"68":0.09595,"70":0.02285,"71":0.00457,"72":0.02741,"73":0.00457,"74":0.00914,"75":0.01371,"76":0.01371,"77":0.17362,"78":0.01371,"79":0.05483,"80":0.04569,"81":0.04112,"83":0.0594,"84":0.10052,"85":0.0594,"86":0.08224,"87":0.13707,"88":0.03198,"89":0.10052,"90":0.12793,"91":0.60768,"92":28.49685,"93":0.01828,"94":0.00914,"95":0.00457,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 50 51 52 53 54 55 57 58 59 60 62 69 96"},F:{"77":0.11879,"78":0.11423,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00258,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.09175,"9.3":0.02197,"10.0-10.2":0.00129,"10.3":0.01422,"11.0-11.2":0.01163,"11.3-11.4":0.00646,"12.0-12.1":0.02326,"12.2-12.4":0.06591,"13.0-13.1":0.14732,"13.2":0.00905,"13.3":0.06591,"13.4-13.7":0.20547,"14.0-14.4":1.40601,"14.5-14.7":10.75827},E:{"4":0,"8":0.00457,"13":0.01371,"14":0.15535,"15":0.01828,_:"0 5 6 7 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00914,"12.1":0.01371,"13.1":0.06854,"14.1":0.8407},B:{"16":0.00457,"17":0.01371,"18":0.04112,"84":0.00914,"85":0.00914,"86":0.01828,"87":0.01371,"88":0.00914,"89":0.03655,"90":0.02285,"91":0.10052,"92":6.37832,_:"12 13 14 15 79 80 81 83 93"},P:{"4":0.69894,"5.0-5.4":0.01023,"6.2-6.4":0.69894,"7.2-7.4":0.85958,"8.2":0.02029,"9.2":0.05072,"10.1":0.05072,"11.1-11.2":0.12173,"12.0":0.17245,"13.0":0.58836,"14.0":11.3411},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00334,"4.4":0,"4.4.3-4.4.4":0.01838},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00473,"9":0.01894,"11":2.45729,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.17919},Q:{"10.4":0.01629},O:{"0":0.13032},H:{"0":0.1645},L:{"0":22.5099},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/KW.js b/node_modules/caniuse-lite/data/regions/KW.js new file mode 100644 index 00000000..747a7147 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KW.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.00278,"52":0.28624,"62":0.00278,"77":0.00834,"78":0.26123,"80":0.00278,"84":0.01945,"88":0.00556,"89":0.03057,"90":0.37239,"91":0.50578,"92":0.00556,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 63 64 65 66 67 68 69 70 71 72 73 74 75 76 79 81 82 83 85 86 87 93 3.5 3.6"},D:{"38":0.03613,"40":0.03613,"47":0.00556,"49":0.06392,"56":0.00834,"57":0.00278,"63":0.00834,"65":0.01112,"67":0.00556,"69":0.02501,"70":0.01112,"71":0.01667,"74":0.00834,"75":0.00556,"76":0.01112,"77":0.00556,"78":0.01945,"79":0.02501,"80":0.01667,"81":0.01112,"83":0.02779,"84":0.02501,"85":0.01667,"86":0.02223,"87":0.20565,"88":0.08615,"89":0.05558,"90":0.08615,"91":0.69197,"92":16.15711,"93":0.01667,"94":0.0139,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 41 42 43 44 45 46 48 50 51 52 53 54 55 58 59 60 61 62 64 66 68 72 73 95 96"},F:{"28":0.00834,"46":0.01112,"74":0.00278,"75":0.00556,"77":0.31959,"78":0.26678,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00287,"7.0-7.1":0.04014,"8.1-8.4":0.0086,"9.0-9.2":0.0172,"9.3":0.15197,"10.0-10.2":0.04014,"10.3":0.09176,"11.0-11.2":0.21219,"11.3-11.4":0.08889,"12.0-12.1":0.15197,"12.2-12.4":0.42438,"13.0-13.1":0.13477,"13.2":0.10323,"13.3":0.43585,"13.4-13.7":1.04374,"14.0-14.4":6.01585,"14.5-14.7":18.80456},E:{"4":0,"12":0.01112,"13":0.13339,"14":0.72532,"15":0.03613,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.00556,"10.1":0.00556,"11.1":0.01945,"12.1":0.14173,"13.1":0.26678,"14.1":2.31491},B:{"12":0.00278,"13":0.00278,"14":0.00556,"15":0.00834,"16":0.00834,"17":0.01112,"18":0.08337,"80":0.0139,"83":0.00556,"84":0.00834,"85":0.00556,"86":0.00556,"87":0.00278,"89":0.01945,"90":0.01112,"91":0.13061,"92":2.42051,_:"79 81 88 93"},P:{"4":0.21291,"5.0-5.4":0.01033,"6.2-6.4":0.01036,"7.2-7.4":0.12166,"8.2":0.02028,"9.2":0.11153,"10.1":0.06083,"11.1-11.2":0.29402,"12.0":0.15208,"13.0":0.42583,"14.0":3.22411},I:{"0":0,"3":0,"4":0.00948,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00316,"4.2-4.3":0.01737,"4.4":0,"4.4.3-4.4.4":0.07107},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.37239,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.09386},Q:{"10.4":0.01444},O:{"0":2.83024},H:{"0":0.90911},L:{"0":35.94502},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/KY.js b/node_modules/caniuse-lite/data/regions/KY.js new file mode 100644 index 00000000..701ec3b4 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KY.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.0444,"78":0.02664,"83":0.30192,"89":0.07992,"90":0.8658,"91":0.92796,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 87 88 92 93 3.5 3.6"},D:{"49":0.1332,"53":0.00444,"65":0.01776,"67":0.0444,"69":0.00444,"74":0.19536,"78":0.0444,"79":0.07548,"80":0.00888,"81":0.01776,"83":0.00444,"84":0.4218,"85":0.95904,"86":0.07992,"87":0.11988,"88":0.01332,"89":0.13764,"90":0.03996,"91":1.80708,"92":24.01152,"93":0.0444,"94":0.00888,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 62 63 64 66 68 70 71 72 73 75 76 77 95 96"},F:{"70":0.02664,"77":0.30192,"78":0.26196,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.03215,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.00268,"9.3":0.13932,"10.0-10.2":0.00804,"10.3":1.19495,"11.0-11.2":0.02411,"11.3-11.4":0.4528,"12.0-12.1":0.05894,"12.2-12.4":0.05626,"13.0-13.1":0.0134,"13.2":0.02411,"13.3":0.2331,"13.4-13.7":0.40993,"14.0-14.4":1.61292,"14.5-14.7":21.76365},E:{"4":0,"12":0.03108,"13":0.0444,"14":0.73704,"15":0.01332,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.00444,"10.1":0.02664,"11.1":0.06216,"12.1":0.1554,"13.1":0.51504,"14.1":4.16472},B:{"16":0.03552,"18":0.07548,"84":0.00888,"89":0.00888,"91":0.3108,"92":5.7942,_:"12 13 14 15 17 79 80 81 83 85 86 87 88 90 93"},P:{"4":0.18701,"5.0-5.4":0.03117,"6.2-6.4":0.02058,"7.2-7.4":0.06234,"8.2":0.02077,"9.2":0.01039,"10.1":0.02111,"11.1-11.2":0.27012,"12.0":0.02078,"13.0":0.42596,"14.0":7.0128},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.60828,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},R:{_:"0"},M:{"0":0.42812},Q:{"10.4":0},O:{"0":0.63384},H:{"0":0.03158},L:{"0":20.3424},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/KZ.js b/node_modules/caniuse-lite/data/regions/KZ.js new file mode 100644 index 00000000..496182e0 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/KZ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.00493,"5":0.00493,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.00493,"15":0.00493,"16":0,"17":0.00493,"18":0,"19":0,"20":0,"21":0.00493,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00493,"36":0.00493,"37":0,"38":0,"39":0,"40":0.00493,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00493,"51":0.00986,"52":0.13801,"53":0.00493,"54":0,"55":0.00493,"56":0.01479,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00493,"69":0,"70":0,"71":0,"72":0.00493,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02957,"79":0.00493,"80":0.00493,"81":0.00493,"82":0,"83":0,"84":0.00493,"85":0.00493,"86":0.00493,"87":0.00493,"88":0.01479,"89":0.04436,"90":0.42389,"91":0.58162,"92":0.00493,"93":0,"3.5":0,"3.6":0.00493},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00493,"23":0.00493,"24":0.00493,"25":0.00493,"26":0,"27":0.00493,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00493,"35":0,"36":0,"37":0.00493,"38":0.00493,"39":0.00493,"40":0,"41":0,"42":0,"43":0.00493,"44":0.00493,"45":0.00493,"46":0.00493,"47":0.00986,"48":0.00986,"49":0.13308,"50":0.00493,"51":0.00493,"52":0,"53":0.00493,"54":0,"55":0.00493,"56":0,"57":0,"58":0,"59":0.01479,"60":0,"61":0.00493,"62":0,"63":0,"64":0.00493,"65":0,"66":0.00493,"67":0.01479,"68":0.00493,"69":0.00493,"70":0.00493,"71":0.04436,"72":0.00493,"73":0.00986,"74":0.02465,"75":0.0345,"76":0.01972,"77":0.00493,"78":0.00986,"79":0.12323,"80":0.05422,"81":0.01972,"83":0.0345,"84":0.03943,"85":0.01479,"86":0.08872,"87":0.08872,"88":0.09858,"89":0.04436,"90":0.15773,"91":0.71471,"92":12.73654,"93":0.00493,"94":0.01479,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.01972,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00493,"29":0,"30":0,"31":0.00493,"32":0,"33":0,"34":0.00986,"35":0.00986,"36":0.00493,"37":0,"38":0.01479,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0345,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00493,"74":0.01479,"75":0,"76":0.02465,"77":0.97101,"78":0.77385,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.33024,"12.1":0.00493},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00463,"5.0-5.1":0.00309,"6.0-6.1":0.00926,"7.0-7.1":0.01235,"8.1-8.4":0.00772,"9.0-9.2":0.00926,"9.3":0.03704,"10.0-10.2":0.02469,"10.3":0.17749,"11.0-11.2":0.18521,"11.3-11.4":0.13119,"12.0-12.1":0.14662,"12.2-12.4":0.33955,"13.0-13.1":0.06945,"13.2":0.04476,"13.3":0.26083,"13.4-13.7":0.64051,"14.0-14.4":3.11611,"14.5-14.7":9.35141},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00493,"13":0.02465,"14":0.28095,"15":0.02957,_:"0","3.1":0,"3.2":0,"5.1":0.51262,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00493,"12.1":0.01479,"13.1":0.09858,"14.1":0.48797},B:{"12":0.00493,"13":0.00493,"14":0.00493,"15":0,"16":0,"17":0.00493,"18":0.02957,"79":0,"80":0,"81":0,"83":0,"84":0.00493,"85":0.00493,"86":0,"87":0,"88":0,"89":0.00493,"90":0.00493,"91":0.02957,"92":0.81329,"93":0},P:{"4":0.16253,"5.0-5.4":0.01016,"6.2-6.4":0.02032,"7.2-7.4":0.09142,"8.2":0.02032,"9.2":0.07111,"10.1":0.02032,"11.1-11.2":0.193,"12.0":0.1219,"13.0":0.22348,"14.0":2.19415},I:{"0":0,"3":0,"4":0.00985,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00591,"4.2-4.3":0.03743,"4.4":0,"4.4.3-4.4.4":0.09653},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02013,"9":0,"10":0.01006,"11":0.45285,"5.5":0},J:{"7":0,"10":0.01521},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.11663},Q:{"10.4":0.05071},O:{"0":0.85193},H:{"0":0.29285},L:{"0":52.62229},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/LA.js b/node_modules/caniuse-lite/data/regions/LA.js new file mode 100644 index 00000000..c94e5e8c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LA.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00572,"39":0.00286,"43":0.00572,"44":0.00286,"45":0.00572,"46":0.00572,"47":0.00572,"48":0.06576,"49":0.00572,"50":0.00858,"51":0.00858,"52":0.03431,"53":0.00572,"54":0.00286,"55":0.00572,"56":0.00858,"58":0.00286,"63":0.00286,"66":0.00572,"71":0.4603,"72":0.00572,"77":0.00286,"78":0.04003,"81":0.03145,"83":0.00572,"84":0.0143,"85":0.06004,"86":0.00286,"88":0.02001,"89":0.05718,"90":0.64899,"91":0.88915,"92":0.04289,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 57 59 60 61 62 64 65 67 68 69 70 73 74 75 76 79 80 82 87 93 3.5 3.6"},D:{"11":0.04289,"31":0.00286,"37":0.00858,"40":0.00572,"43":0.05432,"49":0.17726,"50":0.00286,"55":0.00286,"56":0.03145,"60":0.00286,"62":0.00286,"63":0.03431,"64":0.00572,"65":0.00572,"67":0.00572,"68":0.02287,"69":0.00572,"70":0.00572,"71":0.01715,"72":0.00858,"73":0.01144,"74":0.0143,"75":0.02859,"76":0.00572,"77":0.00858,"78":0.05432,"79":0.0486,"80":0.06004,"81":0.02573,"83":0.03431,"84":0.04574,"85":0.0143,"86":0.10007,"87":0.33164,"88":0.07148,"89":0.06862,"90":0.15153,"91":1.16933,"92":16.63938,"93":0.0629,"94":0.02001,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 38 39 41 42 44 45 46 47 48 51 52 53 54 57 58 59 61 66 95 96"},F:{"76":0.00286,"77":0.22586,"78":0.14581,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00585,"5.0-5.1":0,"6.0-6.1":0.01403,"7.0-7.1":0.03039,"8.1-8.4":0.00234,"9.0-9.2":0.01403,"9.3":0.06663,"10.0-10.2":0.04325,"10.3":0.13794,"11.0-11.2":0.07949,"11.3-11.4":0.12742,"12.0-12.1":0.22211,"12.2-12.4":0.49566,"13.0-13.1":0.07599,"13.2":0.0678,"13.3":0.23848,"13.4-13.7":0.747,"14.0-14.4":2.24333,"14.5-14.7":5.72698},E:{"4":0,"11":0.00572,"12":0.00572,"13":0.03431,"14":0.32021,"15":0.00572,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.05146,"12.1":0.02859,"13.1":0.09721,"14.1":0.67758},B:{"12":0.00858,"13":0.00572,"14":0.00572,"15":0.0143,"16":0.0143,"17":0.01144,"18":0.0629,"83":0.01144,"84":0.0143,"85":0.04574,"86":0.01144,"89":0.04574,"90":0.00858,"91":0.07148,"92":2.18714,_:"79 80 81 87 88 93"},P:{"4":0.82199,"5.0-5.4":0.01033,"6.2-6.4":0.07104,"7.2-7.4":0.36533,"8.2":0.03044,"9.2":0.24355,"10.1":0.06089,"11.1-11.2":0.41607,"12.0":0.16237,"13.0":0.43636,"14.0":1.86723},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00878,"4.2-4.3":0.00702,"4.4":0,"4.4.3-4.4.4":0.0913},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01074,"9":0.00537,"11":0.65003,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.17136},Q:{"10.4":0.23562},O:{"0":1.8564},H:{"0":0.33798},L:{"0":55.01225},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/LB.js b/node_modules/caniuse-lite/data/regions/LB.js new file mode 100644 index 00000000..e42a60f4 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LB.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.0029,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.0029,"49":0,"50":0,"51":0,"52":0.01739,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.0029,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.0029,"75":0,"76":0,"77":0,"78":0.01159,"79":0,"80":0,"81":0.0029,"82":0,"83":0,"84":0.0029,"85":0,"86":0.0029,"87":0,"88":0.0058,"89":0.02898,"90":0.25792,"91":0.36515,"92":0.0029,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.0029,"32":0,"33":0,"34":0.0029,"35":0,"36":0,"37":0,"38":0.0029,"39":0,"40":0,"41":0,"42":0.0029,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01449,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.0029,"62":0,"63":0.0029,"64":0.0029,"65":0.01739,"66":0.0029,"67":0.0029,"68":0.0029,"69":0.0029,"70":0.0029,"71":0,"72":0.0029,"73":0.0029,"74":0.0029,"75":0.0029,"76":0.0029,"77":0,"78":0.0029,"79":0.01159,"80":0.01739,"81":0.02318,"83":0.0058,"84":0.0058,"85":0.01159,"86":0.01159,"87":0.03478,"88":0.01449,"89":0.02029,"90":0.02608,"91":0.2927,"92":5.16713,"93":0.0058,"94":0.0029,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.03188,"60":0,"62":0,"63":0,"64":0,"65":0.0029,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.0029,"77":0.10433,"78":0.07245,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00632,"6.0-6.1":0.00211,"7.0-7.1":0.06737,"8.1-8.4":0.10526,"9.0-9.2":0.01474,"9.3":0.19368,"10.0-10.2":0.02947,"10.3":0.22947,"11.0-11.2":0.10526,"11.3-11.4":0.14526,"12.0-12.1":0.11158,"12.2-12.4":0.38947,"13.0-13.1":0.05474,"13.2":0.01895,"13.3":0.23789,"13.4-13.7":0.63368,"14.0-14.4":2.63366,"14.5-14.7":14.30512},E:{"4":0,"5":0,"6":0,"7":0.0029,"8":0,"9":0,"10":0,"11":0,"12":0.0029,"13":0.01159,"14":0.11882,"15":0.0029,_:"0","3.1":0,"3.2":0,"5.1":0.02029,"6.1":0,"7.1":0,"9.1":0,"10.1":0.0029,"11.1":0.01449,"12.1":0.02318,"13.1":0.06376,"14.1":0.37964},B:{"12":0,"13":0.0029,"14":0.0029,"15":0.0029,"16":0.0029,"17":0.0029,"18":0.01739,"79":0,"80":0,"81":0,"83":0,"84":0.0029,"85":0.0029,"86":0,"87":0,"88":0,"89":0.0058,"90":0.0029,"91":0.02318,"92":0.56801,"93":0},P:{"4":0.30707,"5.0-5.4":0.02047,"6.2-6.4":0.01024,"7.2-7.4":0.33777,"8.2":0.01024,"9.2":0.11259,"10.1":0.05118,"11.1-11.2":0.36848,"12.0":0.13306,"13.0":0.49131,"14.0":5.10753},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00217,"4.2-4.3":0.01474,"4.4":0,"4.4.3-4.4.4":0.08497},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00302,"10":0,"11":0.06943,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.13494},Q:{"10.4":0},O:{"0":0.348},H:{"0":0.28912},L:{"0":61.87253},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/LC.js b/node_modules/caniuse-lite/data/regions/LC.js new file mode 100644 index 00000000..ee7827ab --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LC.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01125,"56":0.01125,"78":0.08625,"84":0.0075,"87":0.0825,"88":0.00375,"89":0.02625,"90":0.37875,"91":0.525,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 86 92 93 3.5 3.6"},D:{"34":0.07875,"49":0.12375,"51":0.00375,"58":0.00375,"63":0.01125,"65":0.06375,"66":0.00375,"69":0.0075,"70":0.10875,"71":0.0075,"72":0.00375,"73":0.00375,"74":0.20625,"75":0.03375,"76":0.16125,"77":0.0225,"79":0.06,"80":0.03375,"81":0.03,"84":0.06375,"85":0.0375,"86":0.09,"87":0.0675,"88":0.02625,"89":0.06,"90":0.15,"91":1.27125,"92":20.32125,"93":0.135,"94":0.015,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 52 53 54 55 56 57 59 60 61 62 64 67 68 78 83 95 96"},F:{"76":0.00375,"77":0.2175,"78":0.16875,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02183,"6.0-6.1":0,"7.0-7.1":0.05214,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.07276,"10.0-10.2":0,"10.3":0.07155,"11.0-11.2":0.00728,"11.3-11.4":0.02547,"12.0-12.1":0.00728,"12.2-12.4":0.12369,"13.0-13.1":0.00728,"13.2":0.0097,"13.3":0.04608,"13.4-13.7":0.29831,"14.0-14.4":1.34362,"14.5-14.7":9.48177},E:{"4":0,"13":0.04875,"14":0.225,"15":0.00375,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.01125,"10.1":0.01125,"11.1":0.03,"12.1":0.22125,"13.1":0.13875,"14.1":1.245},B:{"12":0.01125,"14":0.0075,"17":0.00375,"18":0.10875,"84":0.02625,"85":0.00375,"86":0.015,"89":0.015,"90":0.01125,"91":0.13875,"92":4.84125,_:"13 15 16 79 80 81 83 87 88 93"},P:{"4":0.55088,"5.0-5.4":0.02079,"6.2-6.4":0.02137,"7.2-7.4":0.73796,"8.2":0.12445,"9.2":0.09354,"10.1":0.08315,"11.1-11.2":0.51969,"12.0":0.1767,"13.0":0.36379,"14.0":6.57932},I:{"0":0,"3":0,"4":0.00102,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00025,"4.2-4.3":0.00279,"4.4":0,"4.4.3-4.4.4":0.02718},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.29625,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.225},Q:{"10.4":0},O:{"0":0.5375},H:{"0":0.25444},L:{"0":45.43875},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/LI.js b/node_modules/caniuse-lite/data/regions/LI.js new file mode 100644 index 00000000..c69ccc30 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LI.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.04171,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.05561,"36":0.05561,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00695,"53":0,"54":0.3128,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00695,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.02085,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.27109,"78":0.41706,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.06256,"85":0.02085,"86":0.00695,"87":0.00695,"88":0.09036,"89":0.17378,"90":3.01673,"91":3.40599,"92":0.0278,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00695,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":1.76555,"50":0,"51":0,"52":0,"53":0.18073,"54":0,"55":0,"56":0,"57":0,"58":0.00695,"59":0,"60":0,"61":0.0278,"62":0,"63":0,"64":0.02085,"65":0,"66":0,"67":0,"68":0.0139,"69":0,"70":0,"71":0,"72":0.04866,"73":0.04171,"74":0.00695,"75":0.11122,"76":0.00695,"77":0.00695,"78":0,"79":0.0139,"80":0.00695,"81":0.09731,"83":0.02085,"84":0.02085,"85":0.06256,"86":0.0278,"87":0.11817,"88":0.03476,"89":0.20158,"90":0.40316,"91":2.09225,"92":17.60688,"93":0,"94":0,"95":0.0139,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0139,"71":0,"72":0,"73":0,"74":0.06256,"75":0,"76":0,"77":0.88973,"78":0.6812,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.01308,"8.1-8.4":0.03924,"9.0-9.2":0.00654,"9.3":0.06213,"10.0-10.2":0,"10.3":0.37602,"11.0-11.2":0.0327,"11.3-11.4":0.08501,"12.0-12.1":0.10136,"12.2-12.4":0.22888,"13.0-13.1":0.03924,"13.2":0.00981,"13.3":0.16022,"13.4-13.7":0.57221,"14.0-14.4":3.01797,"14.5-14.7":26.16449},E:{"4":0,"5":0,"6":0,"7":0.00695,"8":0,"9":0,"10":0,"11":0.00695,"12":0,"13":0.09036,"14":0.64644,"15":0.06951,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00695,"11.1":0.38231,"12.1":0.05561,"13.1":0.29889,"14.1":3.31563},B:{"12":0,"13":0,"14":0,"15":0,"16":0.0139,"17":0.00695,"18":0.0278,"79":0,"80":0.00695,"81":0,"83":0,"84":0,"85":0.00695,"86":0.00695,"87":0,"88":0.59084,"89":0.00695,"90":0.49352,"91":0.46572,"92":7.63915,"93":0.00695},P:{"4":0.02057,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.01029,"12.0":0,"13.0":0.08229,"14.0":2.8494},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00014,"4.2-4.3":0.00087,"4.4":0,"4.4.3-4.4.4":0.02289},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.3267,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.6098},Q:{"10.4":0},O:{"0":0.05793},H:{"0":0.12412},L:{"0":15.168},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/LK.js b/node_modules/caniuse-lite/data/regions/LK.js new file mode 100644 index 00000000..9a145306 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LK.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00341,"32":0,"33":0,"34":0,"35":0.00341,"36":0.00341,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00341,"48":0,"49":0,"50":0,"51":0,"52":0.00341,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00341,"69":0,"70":0,"71":0,"72":0.00341,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01023,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00341,"85":0,"86":0,"87":0.00341,"88":0.01023,"89":0.03751,"90":0.23529,"91":0.33759,"92":0.01364,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00682,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00341,"47":0,"48":0,"49":0.01364,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00341,"59":0,"60":0,"61":0,"62":0,"63":0.00682,"64":0.00682,"65":0,"66":0,"67":0.00341,"68":0.00341,"69":0.00341,"70":0.00682,"71":0.00341,"72":0.00341,"73":0.00341,"74":0.00682,"75":0.00341,"76":0.00341,"77":0.00341,"78":0.00682,"79":0.01364,"80":0.00682,"81":0.04433,"83":0.01023,"84":0.00682,"85":0.01023,"86":0.02387,"87":0.06138,"88":0.03069,"89":0.01705,"90":0.03751,"91":0.21824,"92":7.19851,"93":0.01023,"94":0.00341,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0.00341,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.01023,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00341,"47":0.00341,"48":0,"49":0,"50":0.00682,"51":0.01023,"52":0,"53":0,"54":0.02046,"55":0.01705,"56":0.01364,"57":0.02046,"58":0.2728,"60":0,"62":0,"63":0,"64":0.00341,"65":0.00341,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00341,"77":0.23529,"78":0.23529,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00265,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00199,"5.0-5.1":0.00199,"6.0-6.1":0.00199,"7.0-7.1":0.01258,"8.1-8.4":0.00994,"9.0-9.2":0.00596,"9.3":0.0616,"10.0-10.2":0.0159,"10.3":0.06756,"11.0-11.2":0.09206,"11.3-11.4":0.05497,"12.0-12.1":0.06027,"12.2-12.4":0.20731,"13.0-13.1":0.06292,"13.2":0.0351,"13.3":0.12319,"13.4-13.7":0.33316,"14.0-14.4":1.41011,"14.5-14.7":3.39977},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00682,"14":0.0341,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00682,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00341,"12.1":0.00341,"13.1":0.01364,"14.1":0.1023},B:{"12":0.00341,"13":0.00341,"14":0.00341,"15":0.00341,"16":0.00341,"17":0.00341,"18":0.01364,"79":0,"80":0,"81":0,"83":0,"84":0.00341,"85":0.00341,"86":0,"87":0,"88":0.00341,"89":0.01023,"90":0.00682,"91":0.0341,"92":1.99485,"93":0},P:{"4":1.00255,"5.0-5.4":0.03038,"6.2-6.4":0.07089,"7.2-7.4":1.04305,"8.2":0.04051,"9.2":0.17215,"10.1":0.07089,"11.1-11.2":0.59748,"12.0":0.1519,"13.0":0.44558,"14.0":1.58989},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00297,"4.2-4.3":0.01189,"4.4":0,"4.4.3-4.4.4":0.1256},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02728,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.10544},Q:{"10.4":0},O:{"0":2.2406},H:{"0":2.11502},L:{"0":69.36415},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/LR.js b/node_modules/caniuse-lite/data/regions/LR.js new file mode 100644 index 00000000..00b4daa0 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LR.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.02208,"21":0.00552,"24":0.01104,"34":0.00276,"36":0.00276,"43":0.00552,"44":0.0138,"45":0.00276,"47":0.00276,"48":0.00276,"54":0.00552,"66":0.0138,"68":0.00552,"72":0.01932,"75":0.00552,"78":0.01104,"85":0.0138,"86":0.00552,"88":0.0138,"89":0.06072,"90":0.51888,"91":0.57132,"92":0.02484,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 22 23 25 26 27 28 29 30 31 32 33 35 37 38 39 40 41 42 46 49 50 51 52 53 55 56 57 58 59 60 61 62 63 64 65 67 69 70 71 73 74 76 77 79 80 81 82 83 84 87 93 3.5 3.6"},D:{"29":0.00276,"31":0.00276,"35":0.00828,"43":0.02208,"45":0.00276,"47":0.00552,"49":0.01932,"51":0.00552,"55":0.00276,"56":0.00552,"57":0.00552,"58":0.00552,"63":0.00276,"64":0.06348,"65":0.02484,"66":0.0138,"69":0.04416,"70":0.00552,"71":0.00276,"73":0.01104,"74":0.03036,"75":0.0276,"76":0.06624,"77":0.01932,"78":0.01104,"79":0.03864,"80":0.03864,"81":0.03864,"83":0.01104,"84":0.0276,"85":0.06624,"86":0.02484,"87":0.06072,"88":0.14352,"89":0.0552,"90":0.19596,"91":0.71208,"92":9.82836,"93":0.0138,"94":0.00828,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 32 33 34 36 37 38 39 40 41 42 44 46 48 50 52 53 54 59 60 61 62 67 68 72 95 96"},F:{"45":0.00276,"53":0.00276,"54":0.00276,"63":0.01656,"72":0.01656,"73":0.00276,"74":0.00276,"77":0.3588,"78":0.18492,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 55 56 57 58 60 62 64 65 66 67 68 69 70 71 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00541,"6.0-6.1":0.0018,"7.0-7.1":0.11087,"8.1-8.4":0.00451,"9.0-9.2":0,"9.3":0.18209,"10.0-10.2":0.00992,"10.3":0.05318,"11.0-11.2":0.04597,"11.3-11.4":0.04958,"12.0-12.1":0.11718,"12.2-12.4":0.4435,"13.0-13.1":0.08654,"13.2":0.05409,"13.3":0.28124,"13.4-13.7":0.51922,"14.0-14.4":2.56455,"14.5-14.7":3.26676},E:{"4":0,"13":0.01656,"14":0.15456,_:"0 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01104,"11.1":0.00828,"12.1":0.00828,"13.1":0.0828,"14.1":0.16008},B:{"12":0.06072,"13":0.06348,"14":0.02208,"15":0.04416,"16":0.03864,"17":0.0414,"18":0.13248,"80":0.00552,"81":0.00552,"84":0.01932,"85":0.01932,"86":0.00552,"87":0.00828,"88":0.01104,"89":0.02208,"90":0.03588,"91":0.20424,"92":2.47572,_:"79 83 93"},P:{"4":0.26493,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":0.12228,"8.2":0.03044,"9.2":0.09171,"10.1":0.09171,"11.1-11.2":0.22417,"12.0":0.01019,"13.0":0.1019,"14.0":0.84574},I:{"0":0,"3":0,"4":0.00376,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00251,"4.2-4.3":0.00125,"4.4":0,"4.4.3-4.4.4":0.08658},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.00685,"11":0.39059,_:"6 7 8 9 5.5"},J:{"7":0,"10":0.01448},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.07963},Q:{"10.4":0},O:{"0":1.45504},H:{"0":5.45532},L:{"0":63.99993},S:{"2.5":0.34747}}; diff --git a/node_modules/caniuse-lite/data/regions/LS.js b/node_modules/caniuse-lite/data/regions/LS.js new file mode 100644 index 00000000..c66555ca --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LS.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00273,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.01093,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01093,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00273,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00273,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00273,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0.00273,"86":0.00273,"87":0.00273,"88":0.00273,"89":0.01367,"90":0.08746,"91":0.13938,"92":0.01913,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00273,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00273,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00547,"41":0.01093,"42":0,"43":0.00547,"44":0,"45":0,"46":0.03006,"47":0,"48":0,"49":0.01367,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.0164,"56":0.0082,"57":0,"58":0.00273,"59":0,"60":0,"61":0,"62":0,"63":0.00273,"64":0,"65":0.00547,"66":0.00273,"67":0,"68":0.00273,"69":0.01367,"70":0.01093,"71":0,"72":0,"73":0,"74":0.01367,"75":0.00547,"76":0.0082,"77":0.01913,"78":0.00273,"79":0.01367,"80":0.01367,"81":0.04373,"83":0.00273,"84":0.00273,"85":0.00547,"86":0.01093,"87":0.02186,"88":0.02186,"89":0.07379,"90":0.01367,"91":0.11752,"92":3.16208,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00273,"23":0,"24":0,"25":0,"26":0.0082,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00547,"36":0,"37":0,"38":0.00273,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.00273,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00273,"52":0,"53":0,"54":0.00547,"55":0.00273,"56":0,"57":0.00547,"58":0.01367,"60":0,"62":0,"63":0,"64":0,"65":0.00547,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.08199,"78":0.041,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02186},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00097,"5.0-5.1":0.00032,"6.0-6.1":0.00902,"7.0-7.1":0.00644,"8.1-8.4":0.00129,"9.0-9.2":0.00161,"9.3":0.06859,"10.0-10.2":0.00225,"10.3":0.02254,"11.0-11.2":0.04122,"11.3-11.4":0.0264,"12.0-12.1":0.01385,"12.2-12.4":0.45402,"13.0-13.1":0.02286,"13.2":0.00805,"13.3":0.09016,"13.4-13.7":0.19513,"14.0-14.4":0.32522,"14.5-14.7":1.72819},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00547,"13":0.00547,"14":0.01913,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00547,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00273,"13.1":0.00273,"14.1":0.03553},B:{"12":0.01367,"13":0.00273,"14":0.00547,"15":0.00273,"16":0.0082,"17":0.01093,"18":0.01913,"79":0,"80":0,"81":0,"83":0,"84":0.00273,"85":0.00273,"86":0,"87":0,"88":0,"89":0.00547,"90":0.0082,"91":0.0328,"92":0.46461,"93":0},P:{"4":0.6909,"5.0-5.4":0.01016,"6.2-6.4":0.17272,"7.2-7.4":2.06253,"8.2":0.01016,"9.2":0.13208,"10.1":0.0508,"11.1-11.2":0.30481,"12.0":0.12192,"13.0":0.68074,"14.0":2.28605},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00199,"4.2-4.3":0.00664,"4.4":0,"4.4.3-4.4.4":0.19783},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00301,"9":0,"10":0,"11":0.08718,"5.5":0},J:{"7":0,"10":0.01453},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.23254},Q:{"10.4":0.05087},O:{"0":1.35166},H:{"0":7.12072},L:{"0":71.69208},S:{"2.5":0.01453}}; diff --git a/node_modules/caniuse-lite/data/regions/LT.js b/node_modules/caniuse-lite/data/regions/LT.js new file mode 100644 index 00000000..58aaafb1 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LT.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0.01094,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0164,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01094,"36":0.01094,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.02187,"49":0,"50":0,"51":0.00547,"52":0.07108,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.00547,"60":0.00547,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00547,"67":0,"68":0.0164,"69":0.00547,"70":0,"71":0.00547,"72":0.01094,"73":0,"74":0.00547,"75":0,"76":0.01094,"77":0.00547,"78":0.07655,"79":0.00547,"80":0.01094,"81":0.00547,"82":0.01094,"83":0.02187,"84":0.01094,"85":0.00547,"86":0.0164,"87":0.01094,"88":0.03828,"89":0.08202,"90":1.15375,"91":1.90286,"92":0.01094,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.12576,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.07655,"47":0,"48":0.09842,"49":0.14217,"50":0,"51":0.00547,"52":0,"53":0.00547,"54":0,"55":0,"56":0.30074,"57":0,"58":0.00547,"59":0,"60":0,"61":0.18591,"62":0.00547,"63":0.01094,"64":0.00547,"65":0.0164,"66":0.00547,"67":0.01094,"68":0.01094,"69":0.00547,"70":0.00547,"71":0.01094,"72":0.00547,"73":0.00547,"74":0.01094,"75":0.00547,"76":0.00547,"77":0.0164,"78":0.0164,"79":0.04921,"80":0.02187,"81":0.02734,"83":0.08202,"84":0.08202,"85":0.06562,"86":0.1367,"87":0.19685,"88":0.07108,"89":0.07655,"90":0.18591,"91":0.88582,"92":16.43134,"93":0.01094,"94":0.01094,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.01094,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.01094,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01094,"60":0,"62":0,"63":0,"64":0,"65":0.01094,"66":0,"67":0,"68":0.0164,"69":0.0164,"70":0.00547,"71":0.01094,"72":0,"73":0,"74":0.00547,"75":0,"76":0.00547,"77":0.98971,"78":0.79833,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00539,"6.0-6.1":0.0036,"7.0-7.1":0.01079,"8.1-8.4":0.00899,"9.0-9.2":0.00899,"9.3":0.04674,"10.0-10.2":0.01079,"10.3":0.14922,"11.0-11.2":0.04135,"11.3-11.4":0.03775,"12.0-12.1":0.0809,"12.2-12.4":0.15101,"13.0-13.1":0.04315,"13.2":0.02876,"13.3":0.14202,"13.4-13.7":0.55372,"14.0-14.4":2.20948,"14.5-14.7":14.13418},E:{"4":0.0164,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00547,"13":0.02187,"14":0.24606,"15":0.01094,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.0164,"12.1":0.04374,"13.1":0.15857,"14.1":0.72724},B:{"12":0,"13":0,"14":0.00547,"15":0.02187,"16":0.00547,"17":0.00547,"18":0.02187,"79":0,"80":0,"81":0,"83":0,"84":0.01094,"85":0.00547,"86":0.00547,"87":0.00547,"88":0.00547,"89":0.0164,"90":0.01094,"91":0.06562,"92":2.22548,"93":0},P:{"4":0.11214,"5.0-5.4":0.01019,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.03058,"10.1":0.02039,"11.1-11.2":0.08155,"12.0":0.07136,"13.0":0.15292,"14.0":3.65977},I:{"0":0,"3":0,"4":0.00252,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00757,"4.2-4.3":0.01766,"4.4":0,"4.4.3-4.4.4":0.07318},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.03923,"7":0.03923,"8":0.17652,"9":0.05884,"10":0.09153,"11":0.49687,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0.00906},R:{_:"0"},M:{"0":0.29911},Q:{"10.4":0.00906},O:{"0":0.06345},H:{"0":0.37328},L:{"0":44.51707},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/LU.js b/node_modules/caniuse-lite/data/regions/LU.js new file mode 100644 index 00000000..27fceaa1 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LU.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.03706,"36":0.0278,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.02317,"46":0,"47":0,"48":0.00463,"49":0,"50":0,"51":0.00463,"52":0.06486,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.00927,"60":0.0139,"61":0.00463,"62":0.00463,"63":0.00927,"64":0,"65":0,"66":0.00463,"67":0,"68":0.03706,"69":0,"70":0.01853,"71":0.00463,"72":0.00927,"73":0,"74":0,"75":0.00463,"76":0,"77":0.00927,"78":0.44014,"79":0,"80":0.00463,"81":0.00927,"82":0.00463,"83":0,"84":0.0139,"85":0.00463,"86":0.0139,"87":0.0695,"88":0.32894,"89":0.12509,"90":1.35747,"91":1.63545,"92":0.00927,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00463,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.25945,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.04633,"58":0,"59":0.00927,"60":0,"61":0,"62":0,"63":0,"64":0.00463,"65":0,"66":0,"67":0.00463,"68":0.02317,"69":0.0695,"70":0.02317,"71":0.02317,"72":0.0278,"73":0.00927,"74":0.00463,"75":0.00927,"76":0.0278,"77":0.00463,"78":0.03243,"79":0.05096,"80":0.04633,"81":0.03706,"83":0.06023,"84":0.03243,"85":0.03706,"86":0.0695,"87":0.13436,"88":0.06023,"89":0.06023,"90":0.12972,"91":0.65789,"92":7.70931,"93":0.00927,"94":0.00463,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00927,"58":0.05096,"60":0,"62":0,"63":0,"64":0,"65":0.00463,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.00463,"72":0,"73":0,"74":0.00927,"75":0,"76":0,"77":0.26871,"78":0.16679,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.006,"6.0-6.1":0.00899,"7.0-7.1":0.006,"8.1-8.4":0,"9.0-9.2":0,"9.3":2.01468,"10.0-10.2":0.08394,"10.3":0.22785,"11.0-11.2":0.06296,"11.3-11.4":0.02398,"12.0-12.1":0.04797,"12.2-12.4":0.20087,"13.0-13.1":0.03598,"13.2":0.02099,"13.3":0.20986,"13.4-13.7":0.72852,"14.0-14.4":2.7372,"14.5-14.7":22.836},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00927,"13":0.03706,"14":0.36601,"15":0.0139,_:"0","3.1":0,"3.2":0,"5.1":0.00927,"6.1":0,"7.1":0,"9.1":0.00463,"10.1":0.00463,"11.1":0.03243,"12.1":0.12972,"13.1":0.31504,"14.1":2.20068},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00463,"18":0.10656,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.00463,"86":0.00463,"87":0,"88":0.00463,"89":0.05096,"90":0.06023,"91":0.13899,"92":2.21921,"93":0},P:{"4":0.18875,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.05243,"8.2":0.01049,"9.2":0.04195,"10.1":0.01049,"11.1-11.2":0.08389,"12.0":0.06292,"13.0":0.17827,"14.0":3.95333},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00678,"4.2-4.3":0.02375,"4.4":0,"4.4.3-4.4.4":0.12043},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00637,"10":0,"11":0.29941,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.93386},Q:{"10.4":0.03757},O:{"0":0.5528},H:{"0":0.76725},L:{"0":39.3891},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/LV.js b/node_modules/caniuse-lite/data/regions/LV.js new file mode 100644 index 00000000..e5928e35 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LV.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01159,"36":0.01159,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.10429,"53":0,"54":0,"55":0.01738,"56":0.01738,"57":0.00579,"58":0,"59":0,"60":0.01159,"61":0,"62":0,"63":0,"64":0,"65":0.00579,"66":0,"67":0,"68":0.01738,"69":0,"70":0,"71":0.00579,"72":0.02897,"73":0.06373,"74":0.00579,"75":0.00579,"76":0,"77":0.00579,"78":0.12167,"79":0.00579,"80":0.00579,"81":0.00579,"82":0.00579,"83":0.00579,"84":0.01738,"85":0.02318,"86":0.00579,"87":0.01738,"88":0.04056,"89":0.0985,"90":1.52382,"91":2.43927,"92":0.01738,"93":0.00579,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00579,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00579,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00579,"49":0.31288,"50":0,"51":0,"52":0,"53":0.00579,"54":0,"55":0,"56":0,"57":0.01159,"58":0.00579,"59":0,"60":0,"61":0,"62":0,"63":0.00579,"64":0.02318,"65":0.00579,"66":0.00579,"67":0.00579,"68":0.00579,"69":0.00579,"70":0.00579,"71":0.00579,"72":0,"73":0.01159,"74":0.02318,"75":0.01738,"76":0.00579,"77":0.01159,"78":0.01738,"79":0.06373,"80":0.01738,"81":0.02318,"83":0.02897,"84":0.02318,"85":0.02897,"86":0.03476,"87":0.17961,"88":0.08691,"89":0.10429,"90":0.17382,"91":0.92125,"92":20.14574,"93":0.01159,"94":0.01159,"95":0.00579,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00579,"33":0,"34":0.00579,"35":0.00579,"36":0.01159,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00579,"55":0,"56":0,"57":0,"58":0.01159,"60":0,"62":0,"63":0,"64":0,"65":0.00579,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00579,"76":0,"77":0.85751,"78":0.71846,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00174,"6.0-6.1":0.01215,"7.0-7.1":0.02429,"8.1-8.4":0.00868,"9.0-9.2":0.01041,"9.3":0.03297,"10.0-10.2":0.01215,"10.3":0.1284,"11.0-11.2":0.05205,"11.3-11.4":0.0295,"12.0-12.1":0.03644,"12.2-12.4":0.1284,"13.0-13.1":0.03297,"13.2":0.05032,"13.3":0.14401,"13.4-13.7":0.54656,"14.0-14.4":2.41178,"14.5-14.7":13.25613},E:{"4":0.00579,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00579,"12":0.00579,"13":0.02897,"14":0.31288,"15":0.01159,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01159,"11.1":0.02318,"12.1":0.05215,"13.1":0.13326,"14.1":1.19356},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00579,"18":0.01738,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.01159,"86":0.00579,"87":0,"88":0.00579,"89":0.02318,"90":0.00579,"91":0.04635,"92":1.95258,"93":0.01159},P:{"4":0.09185,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01021,"8.2":0.01021,"9.2":0.02041,"10.1":0.02041,"11.1-11.2":0.13267,"12.0":0.07144,"13.0":0.23472,"14.0":3.71463},I:{"0":0,"3":0,"4":0.00692,"2.1":0,"2.2":0,"2.3":0.00461,"4.1":0.00692,"4.2-4.3":0.01384,"4.4":0,"4.4.3-4.4.4":0.10612},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00579,"9":0,"10":0,"11":0.16803,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.38275},Q:{"10.4":0.00421},O:{"0":0.16824},H:{"0":0.42209},L:{"0":41.17375},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/LY.js b/node_modules/caniuse-lite/data/regions/LY.js new file mode 100644 index 00000000..78216c07 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/LY.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00153,"16":0,"17":0.00153,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00153,"35":0.00153,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00153,"44":0,"45":0,"46":0,"47":0.00153,"48":0,"49":0,"50":0,"51":0,"52":0.00305,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00153,"69":0,"70":0,"71":0,"72":0.00153,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00153,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0.00153,"86":0,"87":0.0061,"88":0.00305,"89":0.00458,"90":0.05643,"91":0.08845,"92":0.00153,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00153,"24":0.00153,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00153,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00153,"40":0.00305,"41":0,"42":0,"43":0.00305,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00305,"50":0.00153,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00153,"59":0,"60":0,"61":0,"62":0,"63":0.00305,"64":0.00153,"65":0.00305,"66":0,"67":0.00153,"68":0,"69":0.00153,"70":0,"71":0.00153,"72":0.00153,"73":0,"74":0.00153,"75":0.00153,"76":0.00153,"77":0.00153,"78":0.00763,"79":0.00763,"80":0.00458,"81":0.01983,"83":0.00305,"84":0.00153,"85":0.00305,"86":0.00763,"87":0.01373,"88":0.00763,"89":0.00763,"90":0.0122,"91":0.0671,"92":1.27033,"93":0.00458,"94":0.00153,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00153,"29":0,"30":0,"31":0.00153,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00153,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00153,"47":0.00153,"48":0,"49":0,"50":0.00153,"51":0.00305,"52":0,"53":0,"54":0.0061,"55":0.00305,"56":0.00763,"57":0.0061,"58":0.16165,"60":0,"62":0,"63":0,"64":0,"65":0.0061,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.05185,"78":0.0549,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00305},G:{"8":0.00409,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00204,"6.0-6.1":0.00818,"7.0-7.1":0.0184,"8.1-8.4":0.00307,"9.0-9.2":0.00511,"9.3":0.08896,"10.0-10.2":0.01125,"10.3":0.11247,"11.0-11.2":0.0409,"11.3-11.4":0.05317,"12.0-12.1":0.07157,"12.2-12.4":0.34662,"13.0-13.1":0.06135,"13.2":0.03681,"13.3":0.12781,"13.4-13.7":0.34049,"14.0-14.4":3.38343,"14.5-14.7":4.88547},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.0427,"14":0.05033,"15":0.00153,_:"0","3.1":0,"3.2":0,"5.1":0.00153,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.01068,"13.1":0.02593,"14.1":0.07625},B:{"12":0,"13":0,"14":0,"15":0.00153,"16":0,"17":0.00153,"18":0.0061,"79":0,"80":0,"81":0,"83":0,"84":0.00153,"85":0.00153,"86":0,"87":0,"88":0,"89":0.00153,"90":0.00153,"91":0.00458,"92":0.11133,"93":0},P:{"4":0.32557,"5.0-5.4":0.01017,"6.2-6.4":0.07122,"7.2-7.4":0.68165,"8.2":0.02035,"9.2":0.15261,"10.1":0.05087,"11.1-11.2":0.42731,"12.0":0.17296,"13.0":0.31539,"14.0":2.07549},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00407,"4.2-4.3":0.01763,"4.4":0,"4.4.3-4.4.4":0.14576},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00153,"9":0,"10":0.00153,"11":0.03355,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.0678},Q:{"10.4":0},O:{"0":0.45765},H:{"0":3.04896},L:{"0":78.42055},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MA.js b/node_modules/caniuse-lite/data/regions/MA.js new file mode 100644 index 00000000..7c977871 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MA.js @@ -0,0 +1 @@ +module.exports={C:{"2":0.33159,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.33595,"16":0,"17":0,"18":0.33159,"19":0,"20":0,"21":0.32723,"22":0,"23":0.32723,"24":0,"25":0.65445,"26":0,"27":0,"28":0,"29":0,"30":0.33159,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.33159,"52":0.01745,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00436,"66":0,"67":0,"68":0.00436,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00873,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.01309,"85":0,"86":0,"87":0.00436,"88":0.00873,"89":0.01745,"90":0.14834,"91":0.19634,"92":0.00436,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.33595,"20":0,"21":0,"22":0,"23":0,"24":0.99476,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.33159,"31":0,"32":0,"33":0.33595,"34":0,"35":0.6719,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00436,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03054,"50":0,"51":0,"52":0,"53":0,"54":0.33159,"55":0.33159,"56":1.64921,"57":0,"58":0.00436,"59":0,"60":0,"61":0.01309,"62":0,"63":0.00436,"64":0,"65":0,"66":0,"67":0.00436,"68":0.00436,"69":0,"70":0.00436,"71":0,"72":0.00873,"73":0,"74":0.00873,"75":0.00873,"76":0,"77":0.00436,"78":0.00436,"79":0.01745,"80":0.00436,"81":0.01745,"83":0.01745,"84":0.01309,"85":0.01309,"86":0.02182,"87":0.17452,"88":0.02182,"89":0.02182,"90":0.0349,"91":0.19197,"92":3.4555,"93":0.00436,"94":0.00436,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.32723,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01309,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.15707,"78":0.12653,"9.5-9.6":0,"10.0-10.1":0.33159,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00292,"6.0-6.1":21.63251,"7.0-7.1":0.02045,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.08474,"10.0-10.2":2.95427,"10.3":0.08766,"11.0-11.2":0.14611,"11.3-11.4":0.08182,"12.0-12.1":0.11981,"12.2-12.4":0.60196,"13.0-13.1":0.01753,"13.2":0.01169,"13.3":0.05844,"13.4-13.7":0.225,"14.0-14.4":0.66625,"14.5-14.7":2.26173},E:{"4":0,"5":0.33595,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01745,"14":0.03054,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00436,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00436,"12.1":0.01309,"13.1":0.02182,"14.1":0.07853},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00436,"79":0,"80":0,"81":0,"83":0,"84":0.00436,"85":0,"86":0,"87":0,"88":0,"89":0.00436,"90":0,"91":0.01309,"92":0.30541,"93":0},P:{"4":0.23118,"5.0-5.4":0,"6.2-6.4":0.02202,"7.2-7.4":0.12109,"8.2":0,"9.2":0.04403,"10.1":0.02202,"11.1-11.2":0.12109,"12.0":0.05504,"13.0":0.15412,"14.0":1.27697},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.03118,"4.2-4.3":1.10675,"4.4":0,"4.4.3-4.4.4":1.89134},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.33681,"9":0.66488,"10":0.67363,"11":0.02625,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.06764},Q:{"10.4":0.00564},O:{"0":0.05637},H:{"0":0.18679},L:{"0":47.13624},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MC.js b/node_modules/caniuse-lite/data/regions/MC.js new file mode 100644 index 00000000..82a39a82 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MC.js @@ -0,0 +1 @@ +module.exports={C:{"47":0.01306,"52":0.00653,"78":0.21549,"80":0.00653,"84":0.11101,"85":0.08489,"88":0.00653,"89":0.10448,"90":1.88717,"91":1.97206,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 81 82 83 86 87 92 93 3.5 3.6"},D:{"49":0.22855,"55":0.01306,"65":0.01306,"67":0.01306,"70":0.13713,"71":0.03918,"72":0.09795,"73":0.03265,"74":0.02612,"76":0.03918,"77":0.20896,"78":0.02612,"79":0.03265,"80":0.01959,"81":0.15019,"83":0.00653,"84":0.01306,"85":0.05877,"86":0.0653,"87":0.5877,"88":0.20243,"89":0.35915,"90":0.40486,"91":7.62704,"92":24.99684,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 56 57 58 59 60 61 62 63 64 66 68 69 75 93 94 95 96"},F:{"71":0.00653,"77":0.40486,"78":0.43751,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01751,"6.0-6.1":0,"7.0-7.1":0.00656,"8.1-8.4":0.00438,"9.0-9.2":0,"9.3":0.13786,"10.0-10.2":0.00438,"10.3":0.09628,"11.0-11.2":0.01969,"11.3-11.4":0.03501,"12.0-12.1":0.04377,"12.2-12.4":0.27134,"13.0-13.1":0.04158,"13.2":0.00219,"13.3":0.06346,"13.4-13.7":1.44207,"14.0-14.4":2.50119,"14.5-14.7":16.66364},E:{"4":0,"12":0.09795,"13":0.04571,"14":1.39089,"15":0.02612,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1","9.1":0.01306,"10.1":0.03918,"11.1":0.16325,"12.1":0.17631,"13.1":0.64647,"14.1":14.6925},B:{"16":0.01306,"18":0.01959,"85":0.02612,"89":0.08489,"91":0.05224,"92":5.15217,_:"12 13 14 15 17 79 80 81 83 84 86 87 88 90 93"},P:{"4":0.13885,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":0.02102,"8.2":0.01026,"9.2":0.03153,"10.1":0.04105,"11.1-11.2":0.09613,"12.0":0.29907,"13.0":0.10512,"14.0":1.45263},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00657,"11":0.95987,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.09022},Q:{"10.4":0},O:{"0":0.00694},H:{"0":0.10841},L:{"0":11.30009},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MD.js b/node_modules/caniuse-lite/data/regions/MD.js new file mode 100644 index 00000000..3cf0c3f4 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MD.js @@ -0,0 +1 @@ +module.exports={C:{"35":0.00536,"39":0.02144,"43":0.00536,"52":0.08576,"55":0.03752,"57":0.00536,"59":0.03216,"60":0.03752,"72":0.00536,"77":0.00536,"78":0.22512,"79":0.01608,"81":0.03752,"82":0.2144,"84":0.02144,"85":0.01608,"86":0.02144,"87":0.01072,"88":0.0536,"89":0.15544,"90":0.8308,"91":1.08808,"92":0.0268,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 40 41 42 44 45 46 47 48 49 50 51 53 54 56 58 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 80 83 93 3.5","3.6":0.01072},D:{"23":0.00536,"24":0.01072,"26":0.00536,"33":0.00536,"38":0.00536,"41":0.01608,"47":0.01072,"48":0.00536,"49":0.78256,"50":0.00536,"53":0.0268,"57":0.01072,"59":0.10184,"60":0.00536,"63":0.01072,"65":2.07432,"67":0.01608,"68":0.01072,"69":0.01608,"70":0.01608,"71":0.0268,"72":0.00536,"73":0.02144,"74":0.01608,"75":0.02144,"76":0.02144,"77":0.01072,"78":0.01072,"79":0.11256,"80":0.0536,"81":0.08576,"83":0.06432,"84":0.04824,"85":0.05896,"86":0.20368,"87":0.71288,"88":0.28944,"89":0.11792,"90":0.31624,"91":1.66696,"92":33.37136,"93":0.02144,"94":0.01608,"95":0.01072,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 25 27 28 29 30 31 32 34 35 36 37 39 40 42 43 44 45 46 51 52 54 55 56 58 61 62 64 66 96"},F:{"34":0.00536,"36":0.01072,"77":1.62408,"78":1.85456,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.01072},G:{"8":0.00081,"3.2":0.00081,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00322,"6.0-6.1":0.00403,"7.0-7.1":0.00805,"8.1-8.4":0.00322,"9.0-9.2":0.00483,"9.3":0.04832,"10.0-10.2":0.00725,"10.3":0.0443,"11.0-11.2":0.02336,"11.3-11.4":0.03222,"12.0-12.1":0.02255,"12.2-12.4":0.10873,"13.0-13.1":0.03061,"13.2":0.02175,"13.3":0.07812,"13.4-13.7":0.35518,"14.0-14.4":1.11549,"14.5-14.7":5.8714},E:{"4":0,"11":0.01608,"13":0.09648,"14":0.3216,"15":0.01072,_:"0 5 6 7 8 9 10 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.1608,"11.1":0.01608,"12.1":0.03216,"13.1":0.19832,"14.1":1.05056},B:{"18":0.01608,"87":0.01072,"89":0.01072,"90":0.01608,"91":0.03752,"92":1.29176,"93":0.01072,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 88"},P:{"4":0.25228,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":0.02102,"8.2":0.01026,"9.2":0.03153,"10.1":0.04105,"11.1-11.2":0.11563,"12.0":0.05256,"13.0":0.10512,"14.0":2.13385},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00108,"4.2-4.3":0.00325,"4.4":0,"4.4.3-4.4.4":0.03278},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01072,"9":0.00536,"10":0.00536,"11":0.19296,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.13453},Q:{"10.4":0},O:{"0":0.31545},H:{"0":0.30743},L:{"0":35.62286},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/ME.js b/node_modules/caniuse-lite/data/regions/ME.js new file mode 100644 index 00000000..1d72f6af --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/ME.js @@ -0,0 +1 @@ +module.exports={C:{"49":0.00344,"52":0.88623,"56":0.00344,"69":0.00344,"72":0.00687,"73":0.00687,"75":0.00344,"77":0.00344,"78":0.01718,"79":0.01718,"83":0.01374,"84":0.01718,"86":0.02748,"88":0.01718,"89":0.06183,"90":0.71105,"91":1.11638,"92":0.01374,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 70 71 74 76 80 81 82 85 87 93 3.5 3.6"},D:{"38":0.02405,"49":0.31259,"50":0.00687,"53":0.02405,"55":0.00687,"56":0.00344,"58":0.01374,"60":0.00687,"63":0.01718,"66":0.03435,"67":0.01031,"68":0.01374,"69":0.01718,"70":0.01374,"72":0.00344,"74":0.00344,"75":0.00687,"76":0.02061,"77":0.01031,"78":0.01718,"79":0.1374,"80":0.01718,"81":0.02405,"83":0.04809,"84":0.30228,"85":0.04809,"86":0.07901,"87":0.18549,"88":0.07557,"89":0.0584,"90":0.10992,"91":0.99959,"92":18.21237,"93":0.01031,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 51 52 54 57 59 61 62 64 65 71 73 94 95 96"},F:{"28":0.00344,"31":0.00344,"46":0.01374,"68":6.08339,"74":0.00687,"77":0.46716,"78":0.42594,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 73 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00277,"7.0-7.1":0.04148,"8.1-8.4":0.01245,"9.0-9.2":0.00138,"9.3":0.07329,"10.0-10.2":0.0083,"10.3":0.10233,"11.0-11.2":0.02074,"11.3-11.4":0.04563,"12.0-12.1":0.03734,"12.2-12.4":0.16594,"13.0-13.1":0.04563,"13.2":0.00691,"13.3":0.12307,"13.4-13.7":0.4674,"14.0-14.4":1.70502,"14.5-14.7":10.40162},E:{"4":0,"12":0.01031,"13":0.01031,"14":0.25419,_:"0 5 6 7 8 9 10 11 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.01374,"12.1":0.03092,"13.1":0.13397,"14.1":0.87936},B:{"15":0.00344,"16":0.00687,"18":0.01031,"84":0.00344,"89":0.00687,"90":0.00344,"91":0.04466,"92":0.97554,_:"12 13 14 17 79 80 81 83 85 86 87 88 93"},P:{"4":0.17419,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":0.04099,"8.2":0.01026,"9.2":0.03074,"10.1":0.06148,"11.1-11.2":0.27666,"12.0":0.14345,"13.0":0.24592,"14.0":3.39167},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00095,"4.2-4.3":0.00095,"4.4":0,"4.4.3-4.4.4":0.01124},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.10992,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.21665},Q:{"10.4":0},O:{"0":0.0197},H:{"0":0.26104},L:{"0":47.85905},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MG.js b/node_modules/caniuse-lite/data/regions/MG.js new file mode 100644 index 00000000..3a8d448b --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MG.js @@ -0,0 +1 @@ +module.exports={C:{"27":0.01187,"30":0.00593,"33":0.00593,"35":0.02374,"39":0.00593,"40":0.01187,"41":0.00593,"43":0.01187,"47":0.04154,"48":0.0356,"49":0.01187,"52":0.39164,"56":0.0178,"57":0.0178,"60":0.0178,"61":0.02374,"63":0.01187,"65":0.01187,"66":0.0178,"67":0.0178,"68":0.02374,"70":0.15428,"71":0.11868,"72":0.20176,"73":0.00593,"77":0.0178,"78":0.2611,"79":0.01187,"80":0.0178,"81":0.02967,"82":0.01187,"83":0.02967,"84":0.08308,"85":0.04154,"86":0.04747,"87":0.24329,"88":0.20769,"89":0.71208,"90":3.42985,"91":4.14193,"92":0.06527,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 31 32 34 36 37 38 42 44 45 46 50 51 53 54 55 58 59 62 64 69 74 75 76 93 3.5 3.6"},D:{"11":0.02967,"30":0.01187,"33":0.04154,"40":0.00593,"42":0.02967,"43":0.01187,"47":0.01187,"49":0.34417,"57":0.00593,"58":0.09494,"61":0.02374,"63":0.05341,"64":0.0178,"65":0.04154,"67":0.00593,"69":0.0178,"70":0.0178,"71":0.02967,"72":0.0178,"73":0.04154,"74":0.04747,"75":0.0356,"76":0.02967,"77":0.04747,"78":0.0178,"79":0.06527,"80":0.04747,"81":0.11275,"83":0.0356,"84":0.04154,"85":0.07121,"86":0.18989,"87":0.81296,"88":0.16615,"89":0.15428,"90":0.74175,"91":2.55162,"92":29.54539,"93":0.04747,"94":0.01187,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 34 35 36 37 38 39 41 44 45 46 48 50 51 52 53 54 55 56 59 60 62 66 68 95 96"},F:{"53":0.04154,"62":0.0356,"75":0.00593,"76":0.01187,"77":1.28174,"78":0.94944,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0.00129,"4.2-4.3":0.00052,"5.0-5.1":0.00206,"6.0-6.1":0.00052,"7.0-7.1":0.14732,"8.1-8.4":0,"9.0-9.2":0.00155,"9.3":0.06218,"10.0-10.2":0.04541,"10.3":0.10681,"11.0-11.2":0.00903,"11.3-11.4":0.01445,"12.0-12.1":0.01987,"12.2-12.4":0.08514,"13.0-13.1":0.01961,"13.2":0.00284,"13.3":0.02141,"13.4-13.7":0.14887,"14.0-14.4":0.41487,"14.5-14.7":1.27893},E:{"4":0,"13":0.02967,"14":0.08901,"15":0.00593,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.02967,"12.1":0.06527,"13.1":0.14242,"14.1":0.28483},B:{"12":0.01187,"13":0.01187,"14":0.0178,"15":0.01187,"16":0.00593,"17":0.02374,"18":0.09494,"80":0.02967,"84":0.0178,"85":0.10681,"89":0.05934,"90":0.02374,"91":0.11868,"92":2.43294,_:"79 81 83 86 87 88 93"},P:{"4":0.13955,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":0.04294,"8.2":0.03044,"9.2":0.05399,"10.1":0.02147,"11.1-11.2":0.0322,"12.0":0.02147,"13.0":0.23615,"14.0":0.80507},I:{"0":0,"3":0,"4":0.001,"2.1":0,"2.2":0,"2.3":0.00017,"4.1":0.00586,"4.2-4.3":0.01824,"4.4":0,"4.4.3-4.4.4":0.09671},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.33824,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.02033},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.34968},Q:{"10.4":0.0122},O:{"0":1.88662},H:{"0":5.40459},L:{"0":34.38106},S:{"2.5":0.17077}}; diff --git a/node_modules/caniuse-lite/data/regions/MH.js b/node_modules/caniuse-lite/data/regions/MH.js new file mode 100644 index 00000000..e376df5d --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MH.js @@ -0,0 +1 @@ +module.exports={C:{"68":0.02864,"71":0.01432,"78":0.04296,"89":0.05728,"90":0.76845,"91":0.4248,"92":0.00477,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 93 3.5 3.6"},D:{"41":0.03341,"51":0.01909,"72":0.00477,"73":0.46298,"75":0.02864,"76":0.10978,"80":0.01432,"81":0.00477,"84":0.01432,"86":0.00477,"87":0.08114,"88":0.05728,"89":0.07637,"90":0.22433,"91":0.778,"92":32.1032,"93":0.01909,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 74 77 78 79 83 85 94 95 96"},F:{"77":0.04773,"78":0.09069,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.0373,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.07461,"10.0-10.2":0,"10.3":1.96469,"11.0-11.2":0.67325,"11.3-11.4":0.00533,"12.0-12.1":0.04263,"12.2-12.4":0.59154,"13.0-13.1":0.01243,"13.2":0.01776,"13.3":0.14744,"13.4-13.7":0.66792,"14.0-14.4":4.75185,"14.5-14.7":8.45385},E:{"4":0,"8":0.00477,"13":0.01909,"14":1.75646,_:"0 5 6 7 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.02864,"11.1":0.00477,"12.1":0.72072,"13.1":0.18615,"14.1":0.85437},B:{"17":0.00477,"18":0.00477,"89":0.01432,"90":0.03341,"91":0.04296,"92":5.89466,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 93"},P:{"4":0.09547,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":0.1273,"8.2":0.03044,"9.2":0.01061,"10.1":0.02052,"11.1-11.2":0.03182,"12.0":0.04104,"13.0":0.05304,"14.0":1.36843},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00105,"4.2-4.3":0.00784,"4.4":0,"4.4.3-4.4.4":0.02248},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02304,"11":0.14401,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.1673},Q:{"10.4":0},O:{"0":0.08888},H:{"0":0.0297},L:{"0":34.86103},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MK.js b/node_modules/caniuse-lite/data/regions/MK.js new file mode 100644 index 00000000..5d7e1b7c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MK.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00304,"36":0,"37":0,"38":0,"39":0,"40":0.00304,"41":0,"42":0,"43":0.00304,"44":0,"45":0,"46":0,"47":0.00304,"48":0.00304,"49":0.00304,"50":0,"51":0.00609,"52":0.05477,"53":0,"54":0,"55":0,"56":0.00304,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00304,"69":0,"70":0,"71":0,"72":0.00304,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01522,"79":0.00304,"80":0,"81":0.00304,"82":0.00304,"83":0.00304,"84":0,"85":0.00609,"86":0.00304,"87":0,"88":0.00913,"89":0.01217,"90":0.27996,"91":0.3895,"92":0.00304,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00304,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.01522,"48":0.00304,"49":0.07608,"50":0,"51":0,"52":0,"53":0.00609,"54":0,"55":0,"56":0,"57":0,"58":0.00304,"59":0,"60":0,"61":0,"62":0,"63":0.33473,"64":0.00304,"65":0,"66":0,"67":0,"68":0.00304,"69":0.00609,"70":0.00304,"71":0.00609,"72":0.00609,"73":0.00304,"74":0.00304,"75":0.00609,"76":0,"77":0.00304,"78":0.00304,"79":0.02434,"80":0.00609,"81":0.02739,"83":0.01522,"84":0.05173,"85":0.0213,"86":0.0426,"87":0.06695,"88":0.01217,"89":0.03043,"90":0.03347,"91":0.26474,"92":6.16208,"93":0.00304,"94":0.00304,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00304,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00304,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00304,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00304,"74":0,"75":0,"76":0,"77":0.13389,"78":0.13085,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00588,"7.0-7.1":0.03525,"8.1-8.4":0,"9.0-9.2":0.00392,"9.3":0.08225,"10.0-10.2":0.01763,"10.3":0.10575,"11.0-11.2":0.06071,"11.3-11.4":0.10771,"12.0-12.1":0.05875,"12.2-12.4":0.17821,"13.0-13.1":0.03917,"13.2":0.02154,"13.3":0.21933,"13.4-13.7":0.58555,"14.0-14.4":2.30693,"14.5-14.7":14.86778},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00304,"14":0.02434,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00304,"12.1":0.00304,"13.1":0.00913,"14.1":0.10955},B:{"12":0,"13":0,"14":0,"15":0.00304,"16":0,"17":0,"18":0.00609,"79":0,"80":0,"81":0,"83":0.00304,"84":0.00609,"85":0.00609,"86":0.00304,"87":0,"88":0,"89":0.00304,"90":0,"91":0.00913,"92":0.31952,"93":0},P:{"4":0.12165,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.03041,"8.2":0,"9.2":0.01014,"10.1":0.01014,"11.1-11.2":0.22302,"12.0":0.03041,"13.0":0.15206,"14.0":1.81458},I:{"0":0,"3":0,"4":0.00286,"2.1":0,"2.2":0,"2.3":0,"4.1":0.03151,"4.2-4.3":0.00955,"4.4":0,"4.4.3-4.4.4":0.05347},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00609,"10":0,"11":0.03347,"5.5":0},J:{"7":0,"10":0.00696},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.11827},Q:{"10.4":0},O:{"0":0.02783},H:{"0":0.17125},L:{"0":68.45718},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/ML.js b/node_modules/caniuse-lite/data/regions/ML.js new file mode 100644 index 00000000..bf97fd87 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/ML.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00213,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00426,"35":0.00426,"36":0.00426,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00213,"53":0,"54":0,"55":0,"56":0.00213,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00213,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00851,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0.00213,"86":0.00213,"87":0.00213,"88":0.00213,"89":0.02128,"90":0.24259,"91":0.25323,"92":0.01064,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00213,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00213,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00213,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00426,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00213,"62":0.00213,"63":0.00426,"64":0,"65":0.00213,"66":0,"67":0,"68":0,"69":0,"70":0.00426,"71":0.00213,"72":0,"73":0.00213,"74":0,"75":0,"76":0.00213,"77":0,"78":0,"79":0.00426,"80":0.00213,"81":0.01064,"83":0.01064,"84":0.00213,"85":0.00213,"86":0.00426,"87":0.00851,"88":0.01702,"89":0.00213,"90":0.01277,"91":0.06597,"92":1.54493,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00213,"57":0,"58":0.00213,"60":0,"62":0,"63":0,"64":0.00213,"65":0.00638,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.06597,"78":0.07448,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00564,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01692,"6.0-6.1":0.00141,"7.0-7.1":0.02256,"8.1-8.4":0,"9.0-9.2":0.00141,"9.3":0.20302,"10.0-10.2":0.02115,"10.3":0.15649,"11.0-11.2":0.43283,"11.3-11.4":0.04935,"12.0-12.1":0.05216,"12.2-12.4":0.26082,"13.0-13.1":0.04794,"13.2":0.08741,"13.3":0.36797,"13.4-13.7":0.57522,"14.0-14.4":2.97339,"14.5-14.7":7.25232},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00213,"14":0.01064,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0.00426,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00638,"13.1":0.01064,"14.1":0.03192},B:{"12":0.00426,"13":0.00851,"14":0.09363,"15":0.00213,"16":0.01277,"17":0.00426,"18":0.03192,"79":0,"80":0,"81":0,"83":0,"84":0.00213,"85":0.00213,"86":0,"87":0,"88":0,"89":0.00426,"90":0.00213,"91":0.01064,"92":0.73629,"93":0},P:{"4":0.24152,"5.0-5.4":0.03019,"6.2-6.4":0.07044,"7.2-7.4":0.28178,"8.2":0,"9.2":0.34216,"10.1":0.02013,"11.1-11.2":0.21133,"12.0":0.09057,"13.0":0.3019,"14.0":1.12711},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00253,"4.2-4.3":0.0114,"4.4":0,"4.4.3-4.4.4":0.26734},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00319,"9":0,"10":0,"11":0.05426,"5.5":0},J:{"7":0,"10":0.04723},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.07872},Q:{"10.4":0.01574},O:{"0":1.73971},H:{"0":0.81234},L:{"0":76.41128},S:{"2.5":0.07085}}; diff --git a/node_modules/caniuse-lite/data/regions/MM.js b/node_modules/caniuse-lite/data/regions/MM.js new file mode 100644 index 00000000..747ce492 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MM.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.00294,"28":0,"29":0.00294,"30":0.00294,"31":0,"32":0,"33":0.00294,"34":0,"35":0.00588,"36":0.00588,"37":0,"38":0,"39":0.00294,"40":0.00294,"41":0.00588,"42":0,"43":0.01176,"44":0.00294,"45":0.00294,"46":0,"47":0.00588,"48":0.00294,"49":0,"50":0.00294,"51":0,"52":0.00588,"53":0,"54":0,"55":0,"56":0.02057,"57":0.00294,"58":0.00294,"59":0.00294,"60":0.00588,"61":0.00294,"62":0.00294,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.0147,"69":0,"70":0,"71":0,"72":0.00882,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.0147,"79":0.00588,"80":0.01763,"81":0.00294,"82":0.00294,"83":0.00588,"84":0.00882,"85":0.00588,"86":0.00588,"87":0.00294,"88":0.02057,"89":0.0676,"90":0.29684,"91":0.54665,"92":0.05584,"93":0.00294,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00588,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00294,"33":0,"34":0,"35":0,"36":0,"37":0.00294,"38":0.00882,"39":0.00588,"40":0.00294,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00294,"48":0,"49":0.03233,"50":0,"51":0,"52":0,"53":0.00882,"54":0,"55":0,"56":0,"57":0.00294,"58":0,"59":0,"60":0,"61":0.00294,"62":0,"63":0.00588,"64":0,"65":0,"66":0,"67":0.00294,"68":0.00294,"69":0.00294,"70":0.00294,"71":0.00882,"72":0.00294,"73":0.00294,"74":0.00294,"75":0.00294,"76":0.00294,"77":0,"78":0.00294,"79":0.04115,"80":0.00588,"81":0.00588,"83":0.00882,"84":0.00588,"85":0.00588,"86":0.02351,"87":0.04996,"88":0.04115,"89":0.0147,"90":0.03821,"91":0.19104,"92":4.60247,"93":0.0147,"94":0.00294,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00294,"37":0.02057,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00294,"55":0,"56":0,"57":0,"58":0.02351,"60":0,"62":0,"63":0,"64":0.00294,"65":0.00294,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00294,"74":0.00294,"75":0,"76":0.00294,"77":0.07935,"78":0.07935,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00143,"5.0-5.1":0.02282,"6.0-6.1":0.01141,"7.0-7.1":0.03566,"8.1-8.4":0.01712,"9.0-9.2":0.02996,"9.3":0.17688,"10.0-10.2":0.01284,"10.3":0.17403,"11.0-11.2":0.08131,"11.3-11.4":0.03281,"12.0-12.1":0.0485,"12.2-12.4":0.15691,"13.0-13.1":0.07988,"13.2":0.01997,"13.3":0.15976,"13.4-13.7":0.4579,"14.0-14.4":1.81161,"14.5-14.7":10.23491},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00294,"12":0.00294,"13":0.00882,"14":0.11462,"15":0.00588,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01176,"11.1":0.0147,"12.1":0.02351,"13.1":0.06172,"14.1":0.47906},B:{"12":0.00294,"13":0,"14":0,"15":0,"16":0.00294,"17":0.00294,"18":0.0147,"79":0,"80":0,"81":0,"83":0,"84":0.00294,"85":0.00294,"86":0.00294,"87":0.00294,"88":0.00294,"89":0.0147,"90":0.00294,"91":0.01763,"92":0.65834,"93":0},P:{"4":0.29093,"5.0-5.4":0.01039,"6.2-6.4":0.03117,"7.2-7.4":0.03117,"8.2":0,"9.2":0.02078,"10.1":0.02078,"11.1-11.2":0.09351,"12.0":0.05195,"13.0":0.11429,"14.0":1.278},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.0128,"4.4":0,"4.4.3-4.4.4":0.51838},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.04409,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.31775},Q:{"10.4":0.12004},O:{"0":2.90913},H:{"0":0.76208},L:{"0":69.78496},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MN.js b/node_modules/caniuse-lite/data/regions/MN.js new file mode 100644 index 00000000..fa352f6d --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MN.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.00389,"5":0.00389,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00389,"16":0,"17":0.00777,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00777,"36":0.00389,"37":0,"38":0.00389,"39":0,"40":0,"41":0,"42":0.00389,"43":0.00389,"44":0,"45":0,"46":0,"47":0.00389,"48":0,"49":0,"50":0,"51":0,"52":0.01554,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00389,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01166,"79":0.00389,"80":0,"81":0.00389,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0.00389,"88":0.01554,"89":0.03497,"90":0.28361,"91":0.40016,"92":0.01554,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00389,"24":0.00777,"25":0.00389,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00777,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00389,"49":0.04274,"50":0,"51":0,"52":0,"53":0.00389,"54":0,"55":0,"56":0,"57":0,"58":0.00389,"59":0,"60":0,"61":0,"62":0,"63":0.00777,"64":0,"65":0.00389,"66":0.00389,"67":0.00389,"68":0.00389,"69":0.00777,"70":0.00777,"71":0.00389,"72":0.01166,"73":0.00777,"74":0.01943,"75":0.00389,"76":0.00389,"77":0.00389,"78":0.00389,"79":0.02331,"80":0.01554,"81":0.01554,"83":0.01166,"84":0.01166,"85":0.00777,"86":0.02331,"87":0.29915,"88":0.02331,"89":0.03885,"90":0.1049,"91":0.37685,"92":10.16316,"93":0.01166,"94":0.00389,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00389,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00389,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00389,"57":0,"58":0.00777,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00389,"74":0,"75":0,"76":0,"77":0.24087,"78":0.19037,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01042,"6.0-6.1":0.01042,"7.0-7.1":0.03647,"8.1-8.4":0.00521,"9.0-9.2":0,"9.3":0.28918,"10.0-10.2":0.02605,"10.3":0.10942,"11.0-11.2":0.06774,"11.3-11.4":0.099,"12.0-12.1":0.06253,"12.2-12.4":0.46113,"13.0-13.1":0.13026,"13.2":0.04429,"13.3":0.27095,"13.4-13.7":0.92486,"14.0-14.4":4.85097,"14.5-14.7":16.96799},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00389,"12":0,"13":0.02331,"14":0.15152,"15":0.00777,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00777,"11.1":0.00777,"12.1":0.02331,"13.1":0.05439,"14.1":0.41181},B:{"12":0.00389,"13":0,"14":0,"15":0,"16":0.00389,"17":0,"18":0.01554,"79":0,"80":0,"81":0,"83":0,"84":0.00777,"85":0.00389,"86":0,"87":0,"88":0.00777,"89":0.01166,"90":0.00777,"91":0.01943,"92":0.75369,"93":0},P:{"4":0.51559,"5.0-5.4":0.07077,"6.2-6.4":0.02022,"7.2-7.4":0.17186,"8.2":0.02022,"9.2":0.17186,"10.1":0.03033,"11.1-11.2":0.18197,"12.0":0.1011,"13.0":0.44482,"14.0":3.89218},I:{"0":0,"3":0,"4":0.0038,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00697,"4.2-4.3":0.00887,"4.4":0,"4.4.3-4.4.4":0.11532},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00777,"9":0,"10":0,"11":0.08547,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.18345},Q:{"10.4":0.07338},O:{"0":0.15288},H:{"0":0.17947},L:{"0":52.28973},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MO.js b/node_modules/caniuse-lite/data/regions/MO.js new file mode 100644 index 00000000..4fd6ff00 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MO.js @@ -0,0 +1 @@ +module.exports={C:{"11":0.06882,"17":0.0043,"34":0.06452,"43":0.0086,"52":0.0043,"56":0.08602,"75":0.0086,"77":0.03011,"78":0.0086,"81":0.0086,"88":0.02151,"89":0.07742,"90":0.4301,"91":0.67096,_:"2 3 4 5 6 7 8 9 10 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 79 80 82 83 84 85 86 87 92 93 3.5 3.6"},D:{"22":0.02581,"24":0.0043,"26":0.05591,"30":0.0172,"34":0.06021,"38":0.18064,"43":0.0043,"45":0.0086,"49":0.17204,"53":0.12903,"55":0.02581,"57":0.0172,"58":0.02581,"59":0.0043,"61":0.07312,"62":0.0172,"63":0.0086,"64":0.0086,"65":0.0043,"66":0.04731,"67":0.03011,"68":0.02581,"69":0.03441,"70":0.0129,"71":0.04731,"72":0.04731,"73":0.03871,"74":0.02581,"75":0.05591,"76":0.03011,"77":0.02581,"78":0.02581,"79":0.35268,"80":0.09462,"81":0.10753,"83":0.02151,"84":0.0172,"85":0.0129,"86":0.18064,"87":0.16774,"88":0.13763,"89":0.16344,"90":0.59784,"91":1.86233,"92":20.1975,"93":0.04301,"94":0.03011,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 27 28 29 31 32 33 35 36 37 39 40 41 42 44 46 47 48 50 51 52 54 56 60 95 96"},F:{"25":0.0043,"36":0.03871,"46":0.04301,"72":0.0129,"77":0.09032,"78":0.06882,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00672,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.09072,"7.0-7.1":0.07056,"8.1-8.4":0.12768,"9.0-9.2":0.04032,"9.3":0.30912,"10.0-10.2":0.10752,"10.3":0.33264,"11.0-11.2":0.25872,"11.3-11.4":0.2856,"12.0-12.1":0.30576,"12.2-12.4":0.58463,"13.0-13.1":0.13104,"13.2":0.07392,"13.3":0.40992,"13.4-13.7":1.18943,"14.0-14.4":4.23355,"14.5-14.7":23.72134},E:{"4":0,"8":0.0043,"10":0.0172,"11":0.02151,"12":0.03011,"13":0.26666,"14":1.77631,"15":0.0172,_:"0 5 6 7 9 3.1 3.2 5.1 6.1 7.1","9.1":0.0086,"10.1":0.04301,"11.1":0.06452,"12.1":0.12043,"13.1":0.73117,"14.1":7.80201},B:{"16":0.0043,"17":0.0129,"18":0.08172,"89":0.0129,"91":0.05161,"92":2.46017,_:"12 13 14 15 79 80 81 83 84 85 86 87 88 90 93"},P:{"4":0.75589,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":0.12228,"8.2":0.03044,"9.2":0.05399,"10.1":0.09171,"11.1-11.2":0.0108,"12.0":0.01019,"13.0":0.14038,"14.0":1.81414},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00065,"4.2-4.3":0.00065,"4.4":0,"4.4.3-4.4.4":0.0215},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.8688,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.18234},Q:{"10.4":0.36467},O:{"0":0.76923},H:{"0":0.04855},L:{"0":21.28099},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MP.js b/node_modules/caniuse-lite/data/regions/MP.js new file mode 100644 index 00000000..a1e7de66 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MP.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.02677,"36":0.02141,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.07494,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.01071,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00535,"78":0.00535,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.10171,"89":0.01071,"90":0.32118,"91":0.40148,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01071,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03212,"50":0,"51":0,"52":0,"53":0.02677,"54":0,"55":0.00535,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.02677,"66":0,"67":0.01071,"68":0,"69":0.00535,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.02141,"77":0,"78":0,"79":0.12312,"80":0.00535,"81":0.03212,"83":0.00535,"84":0.01071,"85":0.00535,"86":0.00535,"87":0.24089,"88":0.00535,"89":0.02141,"90":0.06424,"91":0.92072,"92":15.56652,"93":0.02677,"94":0.01071,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00535,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.01071,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.34795,"78":0.87789,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.16669,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.16416,"10.0-10.2":0,"10.3":0.22983,"11.0-11.2":1.06328,"11.3-11.4":0.00505,"12.0-12.1":0.0101,"12.2-12.4":0.53038,"13.0-13.1":0.06314,"13.2":0.00505,"13.3":0.05051,"13.4-13.7":0.29297,"14.0-14.4":3.24034,"14.5-14.7":17.51754},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.06959,"14":0.7066,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.04282,"10.1":0.01071,"11.1":0.05888,"12.1":0,"13.1":0.72266,"14.1":1.84143},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.06959,"79":0,"80":0.00535,"81":0,"83":0,"84":0,"85":0.00535,"86":0,"87":0,"88":0,"89":0.00535,"90":0,"91":0.03747,"92":2.69791,"93":0},P:{"4":0.27563,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.0106,"8.2":0.0106,"9.2":0.14842,"10.1":0.07421,"11.1-11.2":0.15902,"12.0":0.0318,"13.0":0.16962,"14.0":4.98257},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.15937,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.44269},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":1.00101,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.12082},Q:{"10.4":0},O:{"0":0.079},H:{"0":0.05719},L:{"0":39.42035},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MQ.js b/node_modules/caniuse-lite/data/regions/MQ.js new file mode 100644 index 00000000..92a49739 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MQ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00826,"36":0.00826,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00413,"51":0,"52":0.01239,"53":0,"54":0,"55":0,"56":0.00413,"57":0,"58":0,"59":0,"60":0.00413,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00413,"69":0,"70":0,"71":0,"72":0.00413,"73":0,"74":0,"75":0,"76":0,"77":0.0537,"78":0.02066,"79":0,"80":0,"81":0,"82":0.07436,"83":0,"84":0.00826,"85":0.00413,"86":0.00413,"87":0.00413,"88":0.02066,"89":0.0661,"90":0.78489,"91":1.09472,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.14045,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00413,"59":0,"60":0,"61":0,"62":0,"63":0.00413,"64":0,"65":0.00826,"66":0,"67":0.00826,"68":0.00413,"69":0,"70":0.02066,"71":0,"72":0,"73":0,"74":0,"75":0.00826,"76":0.00826,"77":0,"78":0.00413,"79":0.00826,"80":0.00413,"81":0.00826,"83":0.00413,"84":0.01239,"85":0.00413,"86":0.00413,"87":0.02066,"88":0.02066,"89":0.02066,"90":0.06197,"91":0.35527,"92":7.46059,"93":0.00413,"94":0.02066,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00413,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.02066,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.23134,"78":0.30156,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.01439,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0024,"6.0-6.1":0,"7.0-7.1":0.0048,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.1319,"10.0-10.2":0,"10.3":0.23023,"11.0-11.2":0.06475,"11.3-11.4":0.37652,"12.0-12.1":0.06235,"12.2-12.4":0.15349,"13.0-13.1":0.06715,"13.2":0.02158,"13.3":0.17747,"13.4-13.7":0.56598,"14.0-14.4":3.42708,"14.5-14.7":18.26499},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00826,"13":0.03718,"14":0.36353,"15":0.00413,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00826,"11.1":0.01652,"12.1":0.12806,"13.1":0.21068,"14.1":1.16907},B:{"12":0.00413,"13":0,"14":0.01652,"15":0,"16":0.00413,"17":0.00826,"18":0.07436,"79":0,"80":0,"81":0,"83":0,"84":0.00413,"85":0.00413,"86":0.00413,"87":0.00413,"88":0,"89":0.02892,"90":0.00413,"91":0.03305,"92":2.3051,"93":0},P:{"4":0.03158,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.05264,"8.2":0,"9.2":0.13686,"10.1":0.02106,"11.1-11.2":0.28424,"12.0":0.08422,"13.0":0.1895,"14.0":4.07415},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00454,"4.4":0,"4.4.3-4.4.4":0.09982},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.73119,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.4167},Q:{"10.4":0},O:{"0":0.06456},H:{"0":0.17225},L:{"0":52.0764},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MR.js b/node_modules/caniuse-lite/data/regions/MR.js new file mode 100644 index 00000000..074bde22 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00142,"35":0.00142,"36":0.00142,"37":0,"38":0,"39":0.00142,"40":0,"41":0,"42":0,"43":0.00142,"44":0,"45":0,"46":0,"47":0.00142,"48":0,"49":0.00996,"50":0,"51":0,"52":0.00427,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00142,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00142,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00142,"85":0,"86":0,"87":0,"88":0.01281,"89":0.01565,"90":0.08396,"91":0.12807,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00142,"29":0,"30":0,"31":0,"32":0,"33":0.00285,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00142,"41":0,"42":0,"43":0.00569,"44":0,"45":0,"46":0,"47":0,"48":0.00427,"49":0.00142,"50":0.00142,"51":0.00142,"52":0,"53":0.00142,"54":0,"55":0,"56":0,"57":0.02135,"58":0.00142,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00142,"67":0.00285,"68":0.00142,"69":0.00427,"70":0,"71":0,"72":0,"73":0.00285,"74":0.00142,"75":0.00142,"76":0.00427,"77":0,"78":0,"79":0.00712,"80":0.00569,"81":0.00285,"83":0.00285,"84":0.00569,"85":0.00142,"86":0.01281,"87":0.04696,"88":0.00712,"89":0.00427,"90":0.00712,"91":0.05977,"92":0.95199,"93":0,"94":0.02135,"95":0.00142,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00142,"52":0,"53":0,"54":0.00142,"55":0,"56":0,"57":0,"58":0.00285,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00712,"74":0,"75":0,"76":0,"77":0.01992,"78":0.01138,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00142},G:{"8":0.01112,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.01779,"8.1-8.4":0.02557,"9.0-9.2":0.06114,"9.3":0.03224,"10.0-10.2":0.01779,"10.3":0.1156,"11.0-11.2":0.2879,"11.3-11.4":0.26678,"12.0-12.1":0.12561,"12.2-12.4":0.37349,"13.0-13.1":0.07781,"13.2":0.05113,"13.3":0.27789,"13.4-13.7":0.4424,"14.0-14.4":2.82672,"14.5-14.7":5.00205},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00285,"12":0,"13":0.00142,"14":0.01423,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00285,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00142,"12.1":0,"13.1":0.00569,"14.1":0.03415},B:{"12":0.00142,"13":0,"14":0,"15":0,"16":0,"17":0.00142,"18":0.00569,"79":0,"80":0,"81":0,"83":0.00142,"84":0.00142,"85":0,"86":0,"87":0,"88":0,"89":0.00142,"90":0.00142,"91":0.00854,"92":0.11953,"93":0},P:{"4":0.77419,"5.0-5.4":0.09049,"6.2-6.4":0.13071,"7.2-7.4":1.16631,"8.2":0.01005,"9.2":0.15082,"10.1":0.09049,"11.1-11.2":0.85462,"12.0":0.20109,"13.0":0.51277,"14.0":2.27229},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00156,"4.2-4.3":0.00726,"4.4":0,"4.4.3-4.4.4":0.12395},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.11526,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.21443},Q:{"10.4":0.01715},O:{"0":0.30877},H:{"0":0.60089},L:{"0":79.43932},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MS.js b/node_modules/caniuse-lite/data/regions/MS.js new file mode 100644 index 00000000..78c32740 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MS.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.15152,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0.32468,"91":0.19481,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.04329,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":3.25397,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0.4329,"83":0,"84":0.32468,"85":0,"86":0.02165,"87":6.07503,"88":0,"89":0,"90":0,"91":0.15152,"92":13.37661,"93":0,"94":0.06494,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.15152,"78":0.04329,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.32169,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":11.13357,"14.0-14.4":0.04972,"14.5-14.7":3.09266},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":3.57864,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.02165,"11.1":0,"12.1":0,"13.1":0.10823,"14.1":1.37807},B:{"12":0,"13":0.02165,"14":0.21645,"15":0,"16":0,"17":0,"18":0.02165,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.02165,"86":0,"87":0,"88":0,"89":0,"90":0.17316,"91":0,"92":5.772,"93":0},P:{"4":6.77085,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0,"12.0":0,"13.0":0,"14.0":1.2583},I:{"0":0,"3":0,"4":0.5102,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.20408},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":6.99855,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":28.79461},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MT.js b/node_modules/caniuse-lite/data/regions/MT.js new file mode 100644 index 00000000..b04d31c7 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MT.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01756,"36":0.01171,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.01171,"49":0,"50":0,"51":0,"52":0.02341,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00585,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00585,"77":0,"78":0.02927,"79":0,"80":0,"81":0,"82":0.00585,"83":0,"84":0,"85":0.00585,"86":0,"87":0.00585,"88":0.00585,"89":0.05268,"90":0.42727,"91":0.63798,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00585,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00585,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.12291,"50":0,"51":0,"52":0,"53":0.00585,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00585,"64":0,"65":0.01171,"66":0,"67":0.01171,"68":0,"69":0.31606,"70":0.00585,"71":0,"72":0,"73":0,"74":0.05268,"75":0.00585,"76":0.01171,"77":0.01756,"78":0.00585,"79":0.05268,"80":0.04097,"81":0.04682,"83":0.00585,"84":0.02927,"85":0.01756,"86":0.01756,"87":0.05853,"88":0.15218,"89":0.05268,"90":0.2868,"91":0.86039,"92":22.40528,"93":0.01756,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00585,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02341,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00585,"69":0,"70":0,"71":0,"72":0.00585,"73":0,"74":0,"75":0,"76":0.00585,"77":0.38045,"78":0.32192,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00395,"6.0-6.1":0.02367,"7.0-7.1":0.0217,"8.1-8.4":0.03748,"9.0-9.2":0,"9.3":0.20121,"10.0-10.2":0.01973,"10.3":0.69832,"11.0-11.2":0.06904,"11.3-11.4":0.13809,"12.0-12.1":0.06312,"12.2-12.4":0.17557,"13.0-13.1":0.02367,"13.2":0.00592,"13.3":0.10061,"13.4-13.7":0.32943,"14.0-14.4":2.13244,"14.5-14.7":14.95863},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00585,"12":0.00585,"13":0.02927,"14":0.38045,"15":0.02341,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00585,"10.1":0.02341,"11.1":0.08194,"12.1":0.03512,"13.1":0.199,"14.1":1.72664},B:{"12":0,"13":0,"14":0.00585,"15":0,"16":0,"17":0.00585,"18":0.19315,"79":0,"80":0,"81":0.00585,"83":0,"84":0,"85":0.01756,"86":0.00585,"87":0,"88":0.00585,"89":0.00585,"90":0.00585,"91":0.05853,"92":3.03185,"93":0.00585},P:{"4":0.12539,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01045,"8.2":0,"9.2":0.0209,"10.1":0,"11.1-11.2":0.11494,"12.0":0.03135,"13.0":0.10449,"14.0":2.62265},I:{"0":0,"3":0,"4":0.00735,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01102,"4.2-4.3":0.0147,"4.4":0,"4.4.3-4.4.4":0.37473},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.23997,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.19906},Q:{"10.4":0},O:{"0":0.25711},H:{"0":0.10993},L:{"0":41.54395},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MU.js b/node_modules/caniuse-lite/data/regions/MU.js new file mode 100644 index 00000000..f2455c6c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MU.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.01043,"43":0.01565,"48":0.01043,"52":0.06258,"69":0.01043,"75":0.01043,"78":0.04694,"83":0.01043,"84":0.00522,"87":0.00522,"88":0.01043,"89":0.04694,"90":0.67795,"91":0.9387,"92":0.01043,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 72 73 74 76 77 79 80 81 82 85 86 93 3.5 3.6"},D:{"23":0.01565,"29":0.01565,"34":0.03129,"35":0.01043,"38":0.09909,"39":0.01565,"49":0.08344,"51":0.01043,"53":0.03651,"55":0.02608,"56":0.01043,"62":0.01043,"65":0.01043,"67":0.00522,"69":0.00522,"71":0.01043,"72":0.09387,"74":0.01043,"75":0.04694,"76":0.08344,"77":0.02608,"78":0.02608,"79":0.16688,"80":0.16167,"81":0.04172,"83":0.03651,"84":0.02608,"85":0.04694,"86":0.02086,"87":0.15124,"88":0.03651,"89":0.1043,"90":0.1043,"91":1.29854,"92":35.81662,"93":0.02086,"94":0.01565,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 26 27 28 30 31 32 33 36 37 40 41 42 43 44 45 46 47 48 50 52 54 57 58 59 60 61 63 64 66 68 70 73 95 96"},F:{"28":0.00522,"74":0.00522,"77":0.37027,"78":0.25032,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02063,"6.0-6.1":0.00324,"7.0-7.1":0.04409,"8.1-8.4":0.01294,"9.0-9.2":0.00162,"9.3":0.06552,"10.0-10.2":0.00324,"10.3":0.04935,"11.0-11.2":0.01173,"11.3-11.4":0.01011,"12.0-12.1":0.02791,"12.2-12.4":0.14237,"13.0-13.1":0.01294,"13.2":0.00283,"13.3":0.02912,"13.4-13.7":0.09424,"14.0-14.4":0.37657,"14.5-14.7":2.89563},E:{"4":0,"12":0.01043,"13":0.03651,"14":0.30769,_:"0 5 6 7 8 9 10 11 15 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.01043,"11.1":0.02608,"12.1":0.03651,"13.1":0.20339,"14.1":1.09515},B:{"14":0.02608,"17":0.01043,"18":0.03651,"84":0.00522,"87":0.01043,"89":0.01043,"91":0.07301,"92":5.51747,_:"12 13 15 16 79 80 81 83 85 86 88 90 93"},P:{"4":0.18475,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":0.23607,"8.2":0.01026,"9.2":0.06158,"10.1":0.04105,"11.1-11.2":0.25659,"12.0":0.15396,"13.0":0.28738,"14.0":4.13629},I:{"0":0,"3":0,"4":0.00015,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00061,"4.2-4.3":0.00227,"4.4":0,"4.4.3-4.4.4":0.0209},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":2.3624,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.21533},Q:{"10.4":0},O:{"0":0.62205},H:{"0":0.46207},L:{"0":37.896},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MV.js b/node_modules/caniuse-lite/data/regions/MV.js new file mode 100644 index 00000000..1c32b6ba --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MV.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.00244,"55":0.00244,"68":0.01465,"72":0.01465,"78":0.01221,"80":0.00488,"82":0.00732,"84":0.00244,"85":0.00732,"88":0.00488,"89":0.03662,"90":0.3515,"91":0.54923,"92":0.01953,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 79 81 83 86 87 93 3.5 3.6"},D:{"23":0.00976,"25":0.00488,"47":0.00244,"49":0.09032,"69":0.00976,"70":0.01221,"71":0.00244,"73":0.01709,"74":0.03662,"75":0.01953,"76":0.01953,"77":0.01221,"78":0.01465,"79":0.03173,"80":0.00976,"81":0.03417,"83":0.08788,"84":0.02197,"85":0.00732,"86":0.01465,"87":0.05126,"88":0.05614,"89":0.03417,"90":0.10985,"91":0.79821,"92":17.6167,"93":0.02441,"94":0.00732,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 72 95 96"},F:{"28":0.00488,"77":0.10985,"78":0.15378,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.03988,"10.0-10.2":0,"10.3":0.0095,"11.0-11.2":0.01139,"11.3-11.4":0.03418,"12.0-12.1":0.04178,"12.2-12.4":0.09495,"13.0-13.1":0.06837,"13.2":0.01329,"13.3":0.16902,"13.4-13.7":0.4045,"14.0-14.4":2.71567,"14.5-14.7":15.00263},E:{"4":0,"12":0.00488,"13":0.02685,"14":0.21725,"15":0.03173,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00244,"11.1":0.00488,"12.1":0.04638,"13.1":0.10496,"14.1":0.95931},B:{"15":0.00488,"16":0.00488,"17":0.09032,"18":0.02441,"84":0.00976,"87":0.00488,"88":0.00488,"89":0.02197,"90":0.03662,"91":0.05126,"92":1.23759,_:"12 13 14 79 80 81 83 85 86 93"},P:{"4":0.0513,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":0.06156,"8.2":0.03044,"9.2":0.01026,"10.1":0.02052,"11.1-11.2":0.11286,"12.0":0.04104,"13.0":0.11286,"14.0":1.96992},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.01589,"4.4":0,"4.4.3-4.4.4":0.21847},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.11961,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.37044},Q:{"10.4":0},O:{"0":1.1718},H:{"0":0.35787},L:{"0":53.00041},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MW.js b/node_modules/caniuse-lite/data/regions/MW.js new file mode 100644 index 00000000..eb32465e --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MW.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.00689,"28":0.00345,"29":0.01034,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00345,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00345,"44":0,"45":0,"46":0,"47":0.00345,"48":0.00345,"49":0,"50":0,"51":0.00345,"52":0.01724,"53":0,"54":0,"55":0,"56":0.00345,"57":0.00345,"58":0,"59":0.00345,"60":0,"61":0.00689,"62":0.00345,"63":0.01724,"64":0.00345,"65":0.00345,"66":0.00345,"67":0,"68":0.01034,"69":0.01034,"70":0,"71":0,"72":0.00345,"73":0,"74":0,"75":0,"76":0,"77":0.00345,"78":0.03792,"79":0.00345,"80":0.00345,"81":0.01724,"82":0,"83":0.00345,"84":0,"85":0.00689,"86":0.00345,"87":0.00345,"88":0.02068,"89":0.06549,"90":0.53773,"91":0.66527,"92":0.05171,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00345,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00345,"25":0.00345,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.01724,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00689,"47":0,"48":0,"49":0.00345,"50":0.00689,"51":0,"52":0,"53":0,"54":0,"55":0.01379,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.01034,"62":0,"63":0.00689,"64":0.02413,"65":0.00345,"66":0,"67":0.00345,"68":0.01034,"69":0.00345,"70":0.00689,"71":0.00345,"72":0.01034,"73":0.01379,"74":0.00689,"75":0.00345,"76":0.01034,"77":0.00689,"78":0.00345,"79":0.01724,"80":0.01724,"81":0.02758,"83":0.01379,"84":0.00689,"85":0.00689,"86":0.03102,"87":0.04826,"88":0.02758,"89":0.03102,"90":0.06894,"91":0.293,"92":4.96368,"93":0.00689,"94":0.00345,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0.00345,"20":0,"21":0,"22":0,"23":0,"24":0.00345,"25":0,"26":0.0586,"27":0.00345,"28":0.01724,"29":0.00345,"30":0.02068,"31":0.00345,"32":0.03447,"33":0.07583,"34":0.00345,"35":0.02068,"36":0.00345,"37":0,"38":0.02758,"39":0,"40":0.00345,"41":0,"42":0.02068,"43":0,"44":0.02413,"45":0.01379,"46":0.02413,"47":0.00689,"48":0.00345,"49":0,"50":0.02068,"51":0.03447,"52":0,"53":0,"54":0.03447,"55":0.0586,"56":0.04481,"57":0.1172,"58":0.59288,"60":0,"62":0,"63":0,"64":0.08273,"65":0.03447,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00689,"76":0.00345,"77":0.24818,"78":0.14133,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.04826},G:{"8":0.00042,"3.2":0,"4.0-4.1":0.00084,"4.2-4.3":0.01179,"5.0-5.1":0.00168,"6.0-6.1":0.00421,"7.0-7.1":0.00674,"8.1-8.4":0.00295,"9.0-9.2":0.00463,"9.3":0.10194,"10.0-10.2":0.00379,"10.3":0.02991,"11.0-11.2":0.01264,"11.3-11.4":0.01474,"12.0-12.1":0.02233,"12.2-12.4":0.16344,"13.0-13.1":0.01306,"13.2":0.00885,"13.3":0.0695,"13.4-13.7":0.07287,"14.0-14.4":1.41452,"14.5-14.7":1.94992},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00345,"12":0.01034,"13":0.00345,"14":0.03102,"15":0.00345,_:"0","3.1":0,"3.2":0,"5.1":0.02758,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00345,"12.1":0.00689,"13.1":0.01379,"14.1":0.06549},B:{"12":0.02413,"13":0.01034,"14":0.01724,"15":0.01379,"16":0.01724,"17":0.01379,"18":0.12754,"79":0,"80":0.00345,"81":0,"83":0,"84":0.01034,"85":0.02413,"86":0.01034,"87":0.02068,"88":0,"89":0.02758,"90":0.03447,"91":0.09307,"92":1.00308,"93":0},P:{"4":0.61638,"5.0-5.4":0.04042,"6.2-6.4":0.0101,"7.2-7.4":0.17178,"8.2":0.0101,"9.2":0.04042,"10.1":0.0101,"11.1-11.2":0.09094,"12.0":0.07073,"13.0":0.19199,"14.0":1.37423},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0.00227,"4.1":0.00378,"4.2-4.3":0.01587,"4.4":0,"4.4.3-4.4.4":0.17153},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00862,"9":0,"10":0,"11":0.1982,"5.5":0},J:{"7":0,"10":0.28833},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.17693},Q:{"10.4":0.26867},O:{"0":6.90031},H:{"0":11.6076},L:{"0":55.15033},S:{"2.5":0.04587}}; diff --git a/node_modules/caniuse-lite/data/regions/MX.js b/node_modules/caniuse-lite/data/regions/MX.js new file mode 100644 index 00000000..4283e880 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MX.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.36329,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00438,"36":0.00438,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00438,"49":0,"50":0,"51":0,"52":0.01313,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.01313,"67":0,"68":0.00438,"69":0,"70":0,"71":0,"72":0.00438,"73":0.00438,"74":0,"75":0,"76":0.00438,"77":0,"78":0.03064,"79":0,"80":0,"81":0.00438,"82":0.00438,"83":0,"84":0.00438,"85":0.00438,"86":0.00438,"87":0.00438,"88":0.01313,"89":0.02189,"90":0.3239,"91":0.48585,"92":0.00438,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00438,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00875,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.06566,"50":0,"51":0,"52":0.00875,"53":0.00438,"54":0,"55":0,"56":0,"57":0,"58":0.00438,"59":0,"60":0,"61":0.01751,"62":0,"63":0.00438,"64":0,"65":0.00875,"66":0.00875,"67":0.00875,"68":0.00438,"69":0.00438,"70":0.00438,"71":0.00438,"72":0.00438,"73":0.00438,"74":0.00438,"75":0.00875,"76":0.01751,"77":0.00875,"78":0.00875,"79":0.02626,"80":0.01313,"81":0.01751,"83":0.01313,"84":0.01313,"85":0.01313,"86":0.02189,"87":0.09192,"88":0.06566,"89":0.04815,"90":0.07441,"91":0.45521,"92":12.33001,"93":0.00875,"94":0.00438,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00438,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.27137,"78":0.27137,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00318,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00955,"6.0-6.1":0.00796,"7.0-7.1":0.0175,"8.1-8.4":0.01273,"9.0-9.2":0.02227,"9.3":0.1782,"10.0-10.2":0.00477,"10.3":0.13524,"11.0-11.2":0.02705,"11.3-11.4":0.07478,"12.0-12.1":0.03341,"12.2-12.4":0.15592,"13.0-13.1":0.03182,"13.2":0.01273,"13.3":0.10342,"13.4-13.7":0.33412,"14.0-14.4":1.57674,"14.5-14.7":12.23046},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00438,"13":0.01751,"14":0.1707,"15":0.00438,_:"0","3.1":0,"3.2":0,"5.1":0.03502,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00438,"11.1":0.01313,"12.1":0.02189,"13.1":0.10943,"14.1":0.67844},B:{"12":0.00438,"13":0,"14":0.00438,"15":0.00438,"16":0.00438,"17":0.00438,"18":0.06566,"79":0,"80":0,"81":0,"83":0,"84":0.00438,"85":0.00438,"86":0,"87":0.00438,"88":0,"89":0.00875,"90":0.00438,"91":0.03502,"92":1.37438,"93":0.00438},P:{"4":0.14352,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.07176,"8.2":0,"9.2":0.01025,"10.1":0.01025,"11.1-11.2":0.07176,"12.0":0.03075,"13.0":0.08201,"14.0":1.02515},I:{"0":0,"3":0,"4":0.00328,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00984,"4.2-4.3":0.01804,"4.4":0,"4.4.3-4.4.4":0.14762},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00465,"9":0.00465,"10":0.00465,"11":0.13487,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.17994},Q:{"10.4":0},O:{"0":0.06185},H:{"0":0.17568},L:{"0":63.73894},S:{"2.5":0.00562}}; diff --git a/node_modules/caniuse-lite/data/regions/MY.js b/node_modules/caniuse-lite/data/regions/MY.js new file mode 100644 index 00000000..837cce41 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MY.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00819,"35":0.00409,"36":0.00409,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00819,"53":0.00819,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00819,"61":0,"62":0,"63":0.00409,"64":0,"65":0,"66":0,"67":0,"68":0.00409,"69":0,"70":0,"71":0,"72":0.00409,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01228,"79":0,"80":0.00409,"81":0.00409,"82":0.00409,"83":0,"84":0.00819,"85":0.00409,"86":0.00409,"87":0.00409,"88":0.01228,"89":0.01638,"90":0.2743,"91":0.37255,"92":0.00819,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00409,"23":0,"24":0,"25":0.01638,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00819,"35":0,"36":0,"37":0,"38":0.04913,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00819,"48":0,"49":0.04094,"50":0.00409,"51":0,"52":0,"53":0.04503,"54":0,"55":0.04503,"56":0.01228,"57":0.00409,"58":0.00409,"59":0.01638,"60":0.00409,"61":0,"62":0.00819,"63":0.00409,"64":0.00409,"65":0.00819,"66":0.00409,"67":0.00819,"68":0.00819,"69":0.00819,"70":0.01228,"71":0.01228,"72":0.00819,"73":0.01638,"74":0.00819,"75":0.02047,"76":0.00819,"77":0.00819,"78":0.01638,"79":0.1392,"80":0.01638,"81":0.03685,"83":0.02456,"84":0.01638,"85":0.02047,"86":0.02866,"87":0.10644,"88":0.1351,"89":0.03685,"90":0.08188,"91":0.42168,"92":10.9187,"93":0.01228,"94":0.00819,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00409,"29":0.00409,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.02456,"37":0.02047,"38":0,"39":0,"40":0.00409,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.02047,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00409,"55":0.00409,"56":0.00409,"57":0.00409,"58":0.0696,"60":0.00409,"62":0,"63":0,"64":0,"65":0.00409,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.07779,"78":0.0655,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.01017,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00407,"5.0-5.1":0.02441,"6.0-6.1":0.02644,"7.0-7.1":0.05898,"8.1-8.4":0.08542,"9.0-9.2":0.03661,"9.3":0.51458,"10.0-10.2":0.04271,"10.3":0.36814,"11.0-11.2":0.06102,"11.3-11.4":0.08339,"12.0-12.1":0.12407,"12.2-12.4":0.33153,"13.0-13.1":0.09356,"13.2":0.04068,"13.3":0.21763,"13.4-13.7":0.63865,"14.0-14.4":2.93699,"14.5-14.7":13.4422},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00409,"9":0,"10":0,"11":0,"12":0.00409,"13":0.03275,"14":0.22108,"15":0.00409,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00409,"11.1":0.01228,"12.1":0.01638,"13.1":0.09826,"14.1":1.12176},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00819,"79":0,"80":0,"81":0,"83":0,"84":0.00409,"85":0,"86":0,"87":0,"88":0,"89":0.00409,"90":0,"91":0.01228,"92":0.62638,"93":0},P:{"4":0.933,"5.0-5.4":0,"6.2-6.4":0.01048,"7.2-7.4":0.0629,"8.2":0,"9.2":0.05242,"10.1":0.02097,"11.1-11.2":0.11531,"12.0":0.05242,"13.0":0.11531,"14.0":1.49909},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00764,"4.2-4.3":0.01338,"4.4":0,"4.4.3-4.4.4":0.09173},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00614,"8":0,"9":0,"10":0,"11":0.06755,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.14174},Q:{"10.4":0.03544},O:{"0":1.21073},H:{"0":0.73248},L:{"0":57.75209},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/MZ.js b/node_modules/caniuse-lite/data/regions/MZ.js new file mode 100644 index 00000000..3462caad --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/MZ.js @@ -0,0 +1 @@ +module.exports={C:{"30":0.0083,"41":0.00415,"47":0.00415,"52":0.05809,"66":0.00415,"68":0.01245,"72":0.00415,"78":0.02489,"81":0.0083,"84":0.02489,"87":0.03734,"88":0.02904,"89":0.14107,"90":0.58086,"91":0.96257,"92":0.01245,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 69 70 71 73 74 75 76 77 79 80 82 83 85 86 93 3.5 3.6"},D:{"30":0.0083,"33":0.0166,"38":0.00415,"40":0.02904,"42":0.0083,"43":0.08298,"49":0.04149,"55":0.03734,"56":0.09128,"60":0.06638,"61":0.0083,"63":0.05394,"65":0.00415,"69":0.0083,"70":0.0083,"71":0.0083,"72":0.01245,"73":0.00415,"74":0.04979,"77":0.01245,"78":0.00415,"79":0.07883,"80":0.0166,"81":0.55182,"83":0.02075,"84":0.01245,"85":0.04149,"86":0.04149,"87":0.26554,"88":0.07053,"89":0.07053,"90":0.11617,"91":0.97916,"92":16.62919,"93":0.04564,"94":0.01245,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 34 35 36 37 39 41 44 45 46 47 48 50 51 52 53 54 57 58 59 62 64 66 67 68 75 76 95 96"},F:{"53":0.02075,"64":0.0166,"65":0.0083,"75":0.00415,"76":0.01245,"77":1.61396,"78":0.90033,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 62 63 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00064,"6.0-6.1":0.00257,"7.0-7.1":0.03019,"8.1-8.4":0.00128,"9.0-9.2":0.00128,"9.3":0.03854,"10.0-10.2":0.01285,"10.3":0.25567,"11.0-11.2":0.1015,"11.3-11.4":0.0546,"12.0-12.1":0.05396,"12.2-12.4":0.26145,"13.0-13.1":0.01927,"13.2":0.01734,"13.3":0.15674,"13.4-13.7":0.34175,"14.0-14.4":1.18649,"14.5-14.7":2.72886},E:{"4":0,"13":0.01245,"14":0.05394,_:"0 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 9.1 10.1","5.1":0.0083,"7.1":0.03319,"11.1":0.0083,"12.1":0.02075,"13.1":0.12032,"14.1":0.29043},B:{"12":0.02904,"13":0.0166,"14":0.0166,"15":0.02075,"16":0.02904,"17":0.01245,"18":0.13692,"84":0.02075,"85":0.01245,"87":0.00415,"88":0.00415,"89":0.07053,"90":0.02904,"91":0.07053,"92":2.22386,_:"79 80 81 83 86 93"},P:{"4":2.0253,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":0.26461,"8.2":0.07124,"9.2":0.07124,"10.1":0.04071,"11.1-11.2":0.14248,"12.0":0.19337,"13.0":0.10177,"14.0":0.78366},I:{"0":0,"3":0,"4":0.00027,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00231,"4.2-4.3":0.00667,"4.4":0,"4.4.3-4.4.4":0.03755},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.56841,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.0468},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.06435},Q:{"10.4":0.01755},O:{"0":0.54405},H:{"0":6.09224},L:{"0":55.39489},S:{"2.5":0.1287}}; diff --git a/node_modules/caniuse-lite/data/regions/NA.js b/node_modules/caniuse-lite/data/regions/NA.js new file mode 100644 index 00000000..a553d6f3 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NA.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.01072,"47":0.01072,"52":0.03929,"56":0.01072,"60":0.00714,"61":0.01429,"68":0.00714,"78":0.04286,"80":0.00714,"81":0.00714,"82":0.01072,"83":0.01072,"84":0.00714,"85":0.00357,"86":0.01429,"87":0.01072,"88":0.02858,"89":0.13931,"90":1.08232,"91":1.15376,"92":0.02858,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 57 58 59 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 93 3.5 3.6"},D:{"38":0.00357,"39":0.00714,"40":0.00357,"43":0.00714,"47":0.00714,"48":0.00357,"49":0.26076,"55":0.00714,"56":0.00357,"58":0.00714,"63":0.025,"64":0.00714,"65":0.00714,"66":0.01072,"67":0.00357,"69":0.03572,"70":0.02143,"71":0.00714,"72":0.00714,"73":0.00357,"74":0.01786,"75":0.025,"76":0.01072,"77":0.00714,"78":0.00714,"79":0.03929,"80":0.02143,"81":0.03572,"83":0.025,"84":0.02143,"85":0.02858,"86":0.07858,"87":0.21432,"88":0.04644,"89":0.09287,"90":0.25004,"91":0.85371,"92":19.07091,"93":0.01786,"94":0.01072,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 41 42 44 45 46 50 51 52 53 54 57 59 60 61 62 68 95 96"},F:{"74":0.01429,"75":0.01429,"76":0.00357,"77":0.56438,"78":0.45364,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00058,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00989,"6.0-6.1":0.00407,"7.0-7.1":0.0064,"8.1-8.4":0.00698,"9.0-9.2":0,"9.3":0.16925,"10.0-10.2":0.01396,"10.3":0.21345,"11.0-11.2":0.01861,"11.3-11.4":0.01803,"12.0-12.1":0.01745,"12.2-12.4":0.06514,"13.0-13.1":0.00698,"13.2":0.01687,"13.3":0.0855,"13.4-13.7":0.15122,"14.0-14.4":1.09108,"14.5-14.7":3.39481},E:{"4":0,"12":0.00357,"13":0.01072,"14":0.20003,"15":0.02858,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.00714,"10.1":0.00714,"11.1":0.01429,"12.1":0.01786,"13.1":0.13216,"14.1":0.96801},B:{"12":0.01786,"13":0.08216,"14":0.01786,"15":0.02143,"16":0.025,"17":0.04644,"18":0.1536,"80":0.00714,"84":0.02858,"85":0.01429,"86":0.00714,"87":0.00357,"88":0.00714,"89":0.06072,"90":0.025,"91":0.13931,"92":3.73631,_:"79 81 83 93"},P:{"4":0.50534,"5.0-5.4":0.06114,"6.2-6.4":0.02038,"7.2-7.4":1.94049,"8.2":0.07124,"9.2":0.14149,"10.1":0.07075,"11.1-11.2":0.92982,"12.0":0.18192,"13.0":0.73779,"14.0":3.71927},I:{"0":0,"3":0,"4":0.00052,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00121,"4.2-4.3":0.0071,"4.4":0,"4.4.3-4.4.4":0.04259},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00814,"10":0.00407,"11":0.71648,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.33426},Q:{"10.4":0},O:{"0":0.74565},H:{"0":1.57009},L:{"0":51.72708},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/NC.js b/node_modules/caniuse-lite/data/regions/NC.js new file mode 100644 index 00000000..7ba7293d --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NC.js @@ -0,0 +1 @@ +module.exports={C:{"41":0.00525,"42":0.0105,"43":0.00525,"45":0.01575,"52":0.20479,"60":0.01575,"68":0.19429,"78":0.48834,"79":0.0105,"80":0.01575,"81":0.04201,"82":0.00525,"83":0.01575,"84":0.021,"85":0.0105,"86":0.01575,"87":0.0105,"88":0.05776,"89":0.15228,"90":3.80698,"91":4.63138,"92":0.01575,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 44 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 93 3.5 3.6"},D:{"38":0.02626,"49":0.11027,"53":0.0105,"55":0.01575,"56":0.00525,"65":0.05251,"67":0.02626,"70":0.0105,"72":0.00525,"73":0.01575,"77":0.05776,"78":0.03676,"79":0.08927,"80":0.04726,"81":0.021,"83":0.03151,"85":0.04726,"86":0.09452,"87":1.70658,"88":0.13128,"89":0.10502,"90":0.2678,"91":1.46503,"92":23.99182,"93":0.0105,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 57 58 59 60 61 62 63 64 66 68 69 71 74 75 76 84 94 95 96"},F:{"29":0.03151,"73":0.021,"77":0.2573,"78":0.24155,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00743,"8.1-8.4":0.00495,"9.0-9.2":0,"9.3":0.15348,"10.0-10.2":0.01733,"10.3":0.29087,"11.0-11.2":0.03466,"11.3-11.4":0.28839,"12.0-12.1":0.05075,"12.2-12.4":0.22279,"13.0-13.1":0.02599,"13.2":0.00743,"13.3":0.18566,"13.4-13.7":0.2723,"14.0-14.4":1.21547,"14.5-14.7":8.6011},E:{"4":0,"12":0.05251,"13":0.09452,"14":1.20773,_:"0 5 6 7 8 9 10 11 15 3.1 3.2 5.1 7.1 9.1","6.1":0.0105,"10.1":0.06301,"11.1":0.05251,"12.1":0.2678,"13.1":0.45684,"14.1":3.85423},B:{"14":0.00525,"15":0.00525,"16":0.02626,"17":0.01575,"18":0.10502,"86":0.021,"89":0.01575,"90":0.0105,"91":0.16278,"92":4.93069,_:"12 13 79 80 81 83 84 85 87 88 93"},P:{"4":0.07478,"5.0-5.4":0.06114,"6.2-6.4":0.02137,"7.2-7.4":0.91878,"8.2":0.07124,"9.2":0.13888,"10.1":0.04273,"11.1-11.2":0.63032,"12.0":0.1282,"13.0":0.39529,"14.0":4.49772},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00165,"4.2-4.3":0.00099,"4.4":0,"4.4.3-4.4.4":0.04485},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.2678,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.30394},Q:{"10.4":0},O:{"0":0.09023},H:{"0":0.04496},L:{"0":29.79845},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/NE.js b/node_modules/caniuse-lite/data/regions/NE.js new file mode 100644 index 00000000..8e0b8b92 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00217,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00217,"34":0,"35":0.00217,"36":0,"37":0.00435,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00217,"44":0,"45":0,"46":0,"47":0.00435,"48":0.00217,"49":0,"50":0,"51":0,"52":0.00217,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00217,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00652,"69":0,"70":0,"71":0,"72":0.00217,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00217,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00217,"85":0,"86":0,"87":0.00435,"88":0.00652,"89":0.03478,"90":0.12392,"91":0.20218,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00217,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00217,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00652,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00435,"56":0,"57":0.00217,"58":0.00435,"59":0.00435,"60":0,"61":0,"62":0,"63":0,"64":0.00435,"65":0.01957,"66":0,"67":0,"68":0,"69":0.00217,"70":0.00217,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0.01087,"80":0.00217,"81":0.00217,"83":0.00217,"84":0.01304,"85":0,"86":0.00652,"87":0.00435,"88":0.05,"89":0.01087,"90":0.01739,"91":0.11522,"92":1.18918,"93":0,"94":0.00217,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00652,"25":0,"26":0.02609,"27":0.00435,"28":0.01087,"29":0,"30":0.01522,"31":0.0087,"32":0.00217,"33":0.00435,"34":0,"35":0.00217,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00435,"43":0,"44":0,"45":0.00217,"46":0.00435,"47":0,"48":0,"49":0,"50":0.00652,"51":0.00435,"52":0,"53":0,"54":0.02391,"55":0.01957,"56":0.00217,"57":0.06305,"58":0.28045,"60":0,"62":0,"63":0,"64":0,"65":0.00217,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.03261,"78":0.02609,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00652},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00527,"6.0-6.1":0,"7.0-7.1":0.01582,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.05591,"10.0-10.2":0.00791,"10.3":0.08017,"11.0-11.2":0.08122,"11.3-11.4":0.01741,"12.0-12.1":0.05854,"12.2-12.4":0.23998,"13.0-13.1":0.09916,"13.2":0.01002,"13.3":0.14188,"13.4-13.7":0.21888,"14.0-14.4":1.38503,"14.5-14.7":2.33757},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00217,"14":0.00652,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.0087,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00217,"11.1":0,"12.1":0.00217,"13.1":0,"14.1":0.11087},B:{"12":0.00217,"13":0.00652,"14":0.00217,"15":0,"16":0.00217,"17":0.00652,"18":0.0087,"79":0,"80":0,"81":0,"83":0,"84":0.00217,"85":0.00217,"86":0,"87":0,"88":0,"89":0.0087,"90":0,"91":0.02391,"92":0.47393,"93":0},P:{"4":0.10996,"5.0-5.4":0.01,"6.2-6.4":0.04998,"7.2-7.4":0.05998,"8.2":0,"9.2":0.17994,"10.1":0,"11.1-11.2":0.03999,"12.0":0.02999,"13.0":0.08997,"14.0":0.78974},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00187,"4.2-4.3":0.00467,"4.4":0,"4.4.3-4.4.4":0.43563},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":1.27614,"5.5":0},J:{"7":0,"10":0.02348},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.10956},Q:{"10.4":0.40695},O:{"0":2.5591},H:{"0":4.13431},L:{"0":79.72769},S:{"2.5":0.21913}}; diff --git a/node_modules/caniuse-lite/data/regions/NF.js b/node_modules/caniuse-lite/data/regions/NF.js new file mode 100644 index 00000000..6b9c7d53 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NF.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.57892,"85":0,"86":0,"87":0,"88":0,"89":0.32476,"90":1.74382,"91":1.93444,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.57892,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":1.74382,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":25.59956,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.06354,"78":0.06354,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.52697,"10.0-10.2":0,"10.3":0.35131,"11.0-11.2":0.87549,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0.17566,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":7.01509,"14.5-14.7":13.85452},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":3.02874,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.06354,"12.1":0.06354,"13.1":2.77458,"14.1":5.28794},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":2.5769,"93":0},P:{"4":0.09261,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.09261,"12.0":0,"13.0":0,"14.0":2.71656},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.84014,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":24.65326},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/NG.js b/node_modules/caniuse-lite/data/regions/NG.js new file mode 100644 index 00000000..1fae19be --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NG.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00165,"36":0.00165,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.0066,"44":0,"45":0,"46":0,"47":0.0033,"48":0.00165,"49":0,"50":0,"51":0,"52":0.0033,"53":0,"54":0,"55":0,"56":0.00165,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00165,"66":0.00165,"67":0,"68":0.00825,"69":0,"70":0,"71":0,"72":0.00165,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00495,"79":0.00165,"80":0.00165,"81":0.00165,"82":0.00165,"83":0.00165,"84":0.0033,"85":0.00165,"86":0.0033,"87":0.00165,"88":0.00495,"89":0.01485,"90":0.0891,"91":0.14025,"92":0.00825,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.0033,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.0033,"48":0,"49":0.0033,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00165,"56":0,"57":0.00165,"58":0.0033,"59":0,"60":0,"61":0,"62":0.00165,"63":0.00165,"64":0.0033,"65":0.00165,"66":0.00165,"67":0,"68":0,"69":0,"70":0.00495,"71":0.00165,"72":0.00165,"73":0.00165,"74":0.00165,"75":0.00165,"76":0.00165,"77":0.0033,"78":0.00165,"79":0.0066,"80":0.00825,"81":0.0165,"83":0.00495,"84":0.0033,"85":0.0033,"86":0.0099,"87":0.0198,"88":0.00825,"89":0.0099,"90":0.0165,"91":0.08415,"92":1.1517,"93":0.0033,"94":0.00165,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0.00165,"20":0.00165,"21":0,"22":0,"23":0.00495,"24":0.16005,"25":0.0066,"26":0.09075,"27":0.23925,"28":0.0957,"29":0.0165,"30":0.1056,"31":0.04125,"32":0.0957,"33":0.0396,"34":0.00165,"35":0.0066,"36":0.0099,"37":0.0066,"38":0.0495,"39":0.00495,"40":0,"41":0.0033,"42":0.0726,"43":0.00495,"44":0.0066,"45":0.03135,"46":0.1023,"47":0.0825,"48":0.00165,"49":0,"50":0.16335,"51":0.17985,"52":0,"53":0.0033,"54":0.297,"55":0.3828,"56":0.1353,"57":0.47685,"58":1.2408,"60":0.00165,"62":0.00495,"63":0.01155,"64":0.01155,"65":0.00825,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.0429,"78":0.0264,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.07425},G:{"8":0.00204,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00204,"5.0-5.1":0.00204,"6.0-6.1":0.00204,"7.0-7.1":0.00681,"8.1-8.4":0,"9.0-9.2":0.00204,"9.3":0.03066,"10.0-10.2":0.00477,"10.3":0.04428,"11.0-11.2":0.17985,"11.3-11.4":0.04224,"12.0-12.1":0.07153,"12.2-12.4":0.28885,"13.0-13.1":0.08584,"13.2":0.03883,"13.3":0.22822,"13.4-13.7":0.53546,"14.0-14.4":2.24676,"14.5-14.7":2.40344},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00165,"14":0.01155,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00165,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00165,"13.1":0.0066,"14.1":0.0264},B:{"12":0.0033,"13":0.00165,"14":0.0033,"15":0.00165,"16":0.00165,"17":0.00165,"18":0.00825,"79":0,"80":0,"81":0,"83":0,"84":0.00165,"85":0.00165,"86":0,"87":0,"88":0.0033,"89":0.00165,"90":0.00165,"91":0.0099,"92":0.14025,"93":0},P:{"4":0.05219,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.04175,"8.2":0,"9.2":0.03131,"10.1":0.01044,"11.1-11.2":0.06263,"12.0":0.04175,"13.0":0.0835,"14.0":0.54275},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.001,"4.2-4.3":0.003,"4.4":0,"4.4.3-4.4.4":0.06755},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00275,"9":0,"10":0,"11":0.01375,"5.5":0},J:{"7":0,"10":0.0167},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.2672},Q:{"10.4":0.00835},O:{"0":1.37775},H:{"0":37.80286},L:{"0":42.02585},S:{"2.5":0.02505}}; diff --git a/node_modules/caniuse-lite/data/regions/NI.js b/node_modules/caniuse-lite/data/regions/NI.js new file mode 100644 index 00000000..a12e730c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NI.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00433,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00865,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00433,"69":0,"70":0,"71":0,"72":0.00433,"73":0,"74":0,"75":0.00865,"76":0,"77":0,"78":0.01298,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00433,"85":0.00865,"86":0.00433,"87":0.00865,"88":0.01298,"89":0.03893,"90":0.33735,"91":0.519,"92":0.00433,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00433,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00433,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00433,"39":0,"40":0.00865,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03028,"50":0,"51":0,"52":0,"53":0.00433,"54":0,"55":0,"56":0.00433,"57":0,"58":0.00433,"59":0,"60":0.00433,"61":0,"62":0,"63":0.00433,"64":0.00433,"65":0.00433,"66":0.00433,"67":0,"68":0.00433,"69":0.00433,"70":0.02163,"71":0.00433,"72":0.00433,"73":0.00433,"74":0.00433,"75":0.0173,"76":0.01298,"77":0.01298,"78":0.04758,"79":0.02163,"80":0.02163,"81":0.03028,"83":0.00865,"84":0.00865,"85":0.01298,"86":0.0173,"87":0.0865,"88":0.03028,"89":1.27155,"90":0.09083,"91":0.35465,"92":11.67318,"93":0.00433,"94":0.00433,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00865,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00433,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.04758,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00865,"77":0.2768,"78":0.26815,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0167,"6.0-6.1":0.00218,"7.0-7.1":0.04502,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.08568,"10.0-10.2":0.0029,"10.3":0.04357,"11.0-11.2":0.02905,"11.3-11.4":0.01234,"12.0-12.1":0.01452,"12.2-12.4":0.114,"13.0-13.1":0.01307,"13.2":0.00799,"13.3":0.10456,"13.4-13.7":0.19751,"14.0-14.4":0.85394,"14.5-14.7":5.27976},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.0173,"14":0.05623,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.16868,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00865,"12.1":0.00865,"13.1":0.0346,"14.1":0.30275},B:{"12":0.00433,"13":0,"14":0,"15":0.00433,"16":0.00433,"17":0.00433,"18":0.04325,"79":0,"80":0,"81":0,"83":0.00433,"84":0.00433,"85":0.00433,"86":0,"87":0,"88":0.00433,"89":0.01298,"90":0.0173,"91":0.04325,"92":1.00773,"93":0.00433},P:{"4":0.42859,"5.0-5.4":0.02041,"6.2-6.4":0.06123,"7.2-7.4":0.34696,"8.2":0.0102,"9.2":0.13266,"10.1":0.04082,"11.1-11.2":0.4388,"12.0":0.09184,"13.0":0.36737,"14.0":2.42869},I:{"0":0,"3":0,"4":0.00381,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00572,"4.2-4.3":0.02667,"4.4":0,"4.4.3-4.4.4":0.27815},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.06055,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.14188},Q:{"10.4":0},O:{"0":0.2043},H:{"0":0.33848},L:{"0":68.06015},S:{"2.5":0.01703}}; diff --git a/node_modules/caniuse-lite/data/regions/NL.js b/node_modules/caniuse-lite/data/regions/NL.js new file mode 100644 index 00000000..8b5644ac --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NL.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.02,"36":0.01,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.01,"49":0,"50":0,"51":0,"52":0.02,"53":0,"54":0,"55":0,"56":0.005,"57":0,"58":0,"59":0,"60":0.005,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.01,"75":0,"76":0,"77":0.005,"78":0.09002,"79":0.005,"80":0.01,"81":0.01,"82":0.005,"83":0.005,"84":0.015,"85":0.005,"86":0.005,"87":0.01,"88":0.04001,"89":0.06501,"90":0.74015,"91":1.09022,"92":0.005,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.005,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.01,"48":0.01,"49":0.27005,"50":0,"51":0,"52":0.07502,"53":0,"54":0,"55":0,"56":0.005,"57":0,"58":0,"59":0.005,"60":0,"61":0.10002,"62":0,"63":0.005,"64":0.03501,"65":0.005,"66":0.01,"67":0.01,"68":0.005,"69":0.015,"70":0.05501,"71":0.01,"72":0.04501,"73":0.005,"74":0.01,"75":0.015,"76":0.05501,"77":0.01,"78":0.01,"79":0.11502,"80":0.06501,"81":0.015,"83":0.06001,"84":0.08002,"85":0.07502,"86":0.10002,"87":0.21504,"88":0.06001,"89":0.07502,"90":0.14003,"91":0.87017,"92":11.40728,"93":0.01,"94":0.005,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.005,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02501,"60":0,"62":0,"63":0,"64":0,"65":0.005,"66":0,"67":0.01,"68":0.005,"69":0.005,"70":0,"71":0,"72":0.005,"73":0,"74":0.005,"75":0,"76":0,"77":0.19004,"78":0.15503,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01421,"6.0-6.1":0.00284,"7.0-7.1":0.00568,"8.1-8.4":0.01136,"9.0-9.2":0.14205,"9.3":0.23581,"10.0-10.2":0.01136,"10.3":0.27274,"11.0-11.2":0.03125,"11.3-11.4":0.07671,"12.0-12.1":0.04262,"12.2-12.4":0.22729,"13.0-13.1":0.0625,"13.2":0.02557,"13.3":0.18467,"13.4-13.7":0.65913,"14.0-14.4":2.71607,"14.5-14.7":22.31666},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005,"12":0.005,"13":0.04501,"14":0.37508,"15":0.01,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01,"11.1":0.03001,"12.1":0.04501,"13.1":0.24005,"14.1":2.41548},B:{"12":0,"13":0,"14":0,"15":0.005,"16":0,"17":0.005,"18":0.03001,"79":0,"80":0,"81":0,"83":0.005,"84":0.01,"85":0.005,"86":0.01,"87":0.005,"88":0.005,"89":0.015,"90":0.01,"91":0.10002,"92":2.84057,"93":0},P:{"4":0.07304,"5.0-5.4":0.01043,"6.2-6.4":0,"7.2-7.4":0.02087,"8.2":0.01043,"9.2":0.02087,"10.1":0.02087,"11.1-11.2":0.05217,"12.0":0.04174,"13.0":0.14608,"14.0":4.82067},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01046,"4.2-4.3":0.02788,"4.4":0,"4.4.3-4.4.4":0.19168},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01559,"7":0,"8":0.04677,"9":0.04677,"10":0.01559,"11":0.67043,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.4899},Q:{"10.4":0.01},O:{"0":0.41992},H:{"0":0.36915},L:{"0":38.3874},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/NO.js b/node_modules/caniuse-lite/data/regions/NO.js new file mode 100644 index 00000000..1204d3e5 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NO.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.02117,"36":0.01411,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00706,"49":0,"50":0,"51":0,"52":0.01411,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.01411,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00706,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.05644,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.01411,"85":0,"86":0,"87":0.01411,"88":0.04939,"89":0.04233,"90":0.57851,"91":0.81133,"92":0.00706,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00706,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03528,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00706,"64":0.00706,"65":0.00706,"66":0.07055,"67":0.01411,"68":0,"69":0.09172,"70":0.00706,"71":0,"72":0.00706,"73":0.00706,"74":0.00706,"75":0.01411,"76":0.00706,"77":0.00706,"78":0.00706,"79":0.03528,"80":0.02117,"81":0.01411,"83":0.01411,"84":0.01411,"85":2.61035,"86":0.02117,"87":0.15521,"88":0.0635,"89":0.0635,"90":0.25398,"91":0.99476,"92":34.88698,"93":0.01411,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00706,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.35981,"78":0.27515,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00581,"6.0-6.1":0,"7.0-7.1":0.02907,"8.1-8.4":0.02035,"9.0-9.2":0.01163,"9.3":0.18606,"10.0-10.2":0.00581,"10.3":0.2413,"11.0-11.2":0.03779,"11.3-11.4":0.13083,"12.0-12.1":0.06105,"12.2-12.4":0.19769,"13.0-13.1":0.0407,"13.2":0.02326,"13.3":0.15699,"13.4-13.7":0.40702,"14.0-14.4":2.78515,"14.5-14.7":23.8482},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00706,"13":0.05644,"14":0.55029,"15":0.01411,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01411,"11.1":0.04233,"12.1":0.0635,"13.1":0.28926,"14.1":2.65974},B:{"12":0,"13":0,"14":0,"15":0.00706,"16":0,"17":0.00706,"18":0.02117,"79":0,"80":0,"81":0,"83":0.00706,"84":0.00706,"85":0.01411,"86":0.00706,"87":0.00706,"88":0.00706,"89":0.01411,"90":0.01411,"91":0.10583,"92":2.72323,"93":0},P:{"4":0.05163,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.01033,"10.1":0,"11.1-11.2":0.02065,"12.0":0.01033,"13.0":0.06196,"14.0":2.12725},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00303,"4.2-4.3":0.00758,"4.4":0,"4.4.3-4.4.4":0.03939},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.21165,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.18848},Q:{"10.4":0.00295},O:{"0":0.02945},H:{"0":0.15892},L:{"0":18.14445},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/NP.js b/node_modules/caniuse-lite/data/regions/NP.js new file mode 100644 index 00000000..896547a1 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NP.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00683,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00228,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.00228,"72":0.00228,"73":0,"74":0,"75":0,"76":0.00228,"77":0,"78":0.00683,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0.02958,"87":0.04095,"88":0.00455,"89":0.01593,"90":0.1183,"91":0.15243,"92":0.01365,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00228,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00455,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00228,"59":0,"60":0,"61":0,"62":0,"63":0.00228,"64":0,"65":0.00228,"66":0,"67":0,"68":0,"69":0.00228,"70":0.00228,"71":0.00228,"72":0,"73":0,"74":0,"75":0.00228,"76":0.00228,"77":0,"78":0.00228,"79":0.01138,"80":0.00228,"81":0.01365,"83":0.00455,"84":0.00683,"85":0.00455,"86":0.00455,"87":0.0182,"88":0.00683,"89":0.11375,"90":0.01138,"91":0.07735,"92":3.73783,"93":0.01138,"94":0.00683,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00228,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00228,"55":0.00228,"56":0,"57":0.00228,"58":0.08418,"60":0,"62":0,"63":0,"64":0,"65":0.00228,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00228,"76":0,"77":0.07053,"78":0.05005,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00228},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0006,"5.0-5.1":0.00362,"6.0-6.1":0.00181,"7.0-7.1":0.03863,"8.1-8.4":0.00423,"9.0-9.2":0.00905,"9.3":0.07666,"10.0-10.2":0.01509,"10.3":0.10805,"11.0-11.2":0.04829,"11.3-11.4":0.02777,"12.0-12.1":0.02475,"12.2-12.4":0.12555,"13.0-13.1":0.01087,"13.2":0.00543,"13.3":0.04889,"13.4-13.7":0.1672,"14.0-14.4":0.62052,"14.5-14.7":3.967},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00228,"14":0.01138,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00228,"11.1":0.00228,"12.1":0.00228,"13.1":0.00683,"14.1":0.05005},B:{"12":0.00228,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00228,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.03868,"90":0,"91":0.00455,"92":0.26163,"93":0},P:{"4":0.23044,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.07332,"8.2":0,"9.2":0.01047,"10.1":0.02095,"11.1-11.2":0.06285,"12.0":0.03142,"13.0":0.11522,"14.0":0.67037},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00608,"4.2-4.3":0.01976,"4.4":0,"4.4.3-4.4.4":0.23108},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00455,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.1854},Q:{"10.4":0},O:{"0":1.2978},H:{"0":0.93613},L:{"0":84.5607},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/NR.js b/node_modules/caniuse-lite/data/regions/NR.js new file mode 100644 index 00000000..0d1d92ad --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0.0143,"91":0.03218,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.15734,"78":0.00358,"79":0,"80":0,"81":0.13589,"83":0,"84":0.00715,"85":0,"86":0,"87":0,"88":0,"89":0.38263,"90":0.00358,"91":0.34687,"92":3.21482,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":1.00843,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02503,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.07481,"11.0-11.2":0,"11.3-11.4":0.01519,"12.0-12.1":0,"12.2-12.4":0.045,"13.0-13.1":0,"13.2":0,"13.3":0.02981,"13.4-13.7":0.76329,"14.0-14.4":2.67741,"14.5-14.7":1.88487},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.13231,"14":5.49631,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00358,"12.1":0,"13.1":0,"14.1":0.61865},B:{"12":0,"13":0,"14":0.01073,"15":0,"16":0.01073,"17":0,"18":0.00715,"79":0,"80":0,"81":0,"83":0,"84":0.00358,"85":0,"86":0,"87":0,"88":0,"89":0.00358,"90":0,"91":0.09298,"92":0.31826,"93":0},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.16856,"8.2":0,"9.2":0.01053,"10.1":0,"11.1-11.2":0.16856,"12.0":0.10535,"13.0":0.06321,"14.0":3.25523},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.03913,"4.4":0,"4.4.3-4.4.4":0.0559},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02503,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":2.58887},H:{"0":3.08957},L:{"0":69.64678},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/NU.js b/node_modules/caniuse-lite/data/regions/NU.js new file mode 100644 index 00000000..0f38b757 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NU.js @@ -0,0 +1 @@ +module.exports={C:{"89":0.20966,"90":0.83328,"91":6.68237,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 92 93 3.5 3.6"},D:{"80":0.31181,"81":2.08589,"85":0.10214,"88":0.10214,"90":0.10214,"91":0.10214,"92":27.45523,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 83 84 86 87 89 93 94 95 96"},F:{"78":0.31181,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.0535,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0.10689,"12.2-12.4":0.0535,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0.16039,"14.0-14.4":0.0535,"14.5-14.7":0.42767},E:{"4":0,"13":0.52147,_:"0 5 6 7 8 9 10 11 12 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1","14.1":0.20966},B:{"16":0.10214,"17":0.41933,"83":0.41933,"88":1.35475,"89":1.15046,"91":0.31181,"92":5.32224,_:"12 13 14 15 18 79 80 81 84 85 86 87 90 93"},P:{"4":0.07478,"5.0-5.4":0.06114,"6.2-6.4":0.02137,"7.2-7.4":0.91878,"8.2":0.07124,"9.2":0.11047,"10.1":0.04273,"11.1-11.2":0.63032,"12.0":0.1282,"13.0":0.11047,"14.0":0.4218},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":2.08589,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":44.63547},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/NZ.js b/node_modules/caniuse-lite/data/regions/NZ.js new file mode 100644 index 00000000..6755d362 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/NZ.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01757,"35":0.01171,"36":0.01171,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.02342,"53":0,"54":0,"55":0,"56":0.00586,"57":0,"58":0.00586,"59":0,"60":0.00586,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.03513,"69":0,"70":0,"71":0,"72":0.00586,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.08197,"79":0,"80":0,"81":0.00586,"82":0,"83":0,"84":0.00586,"85":0.01171,"86":0.01171,"87":0.01171,"88":0.02342,"89":0.04099,"90":0.67918,"91":1.03634,"92":0.00586,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00586,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00586,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.02342,"35":0,"36":0,"37":0,"38":0.08197,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.09954,"50":0,"51":0,"52":0,"53":0.04684,"54":0,"55":0,"56":0.00586,"57":0.01171,"58":0.00586,"59":0,"60":0,"61":0.01171,"62":0.00586,"63":0.01171,"64":0,"65":0.02928,"66":0.00586,"67":0.02342,"68":0.01171,"69":0.04099,"70":0.02342,"71":0.01171,"72":0.01171,"73":0.01757,"74":0.02928,"75":0.01757,"76":0.03513,"77":0.02342,"78":0.01757,"79":0.21664,"80":0.02928,"81":0.02928,"83":0.02928,"84":0.01757,"85":0.01171,"86":0.04099,"87":0.12296,"88":0.07612,"89":0.09954,"90":0.43913,"91":1.56329,"92":18.05682,"93":0.02928,"94":0.01171,"95":0.00586,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00586,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00586,"37":0.00586,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0527,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00586,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00586,"76":0.00586,"77":0.1171,"78":0.1171,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00304,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01216,"6.0-6.1":0.0821,"7.0-7.1":0.04865,"8.1-8.4":0.07297,"9.0-9.2":0.02737,"9.3":0.50474,"10.0-10.2":0.05777,"10.3":0.60508,"11.0-11.2":0.24325,"11.3-11.4":0.16115,"12.0-12.1":0.12771,"12.2-12.4":0.46217,"13.0-13.1":0.04865,"13.2":0.02737,"13.3":0.2098,"13.4-13.7":0.93651,"14.0-14.4":2.67271,"14.5-14.7":22.30602},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01757,"12":0.01171,"13":0.10539,"14":0.64991,"15":0.01171,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.03513,"11.1":0.05855,"12.1":0.10539,"13.1":0.43327,"14.1":3.37834},B:{"12":0,"13":0,"14":0,"15":0.00586,"16":0.00586,"17":0.00586,"18":0.09368,"79":0,"80":0,"81":0,"83":0.00586,"84":0.00586,"85":0.00586,"86":0.00586,"87":0,"88":0,"89":0.01171,"90":0.01171,"91":0.0527,"92":2.71087,"93":0},P:{"4":0.58419,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01062,"8.2":0,"9.2":0.01062,"10.1":0.01062,"11.1-11.2":0.05311,"12.0":0.03186,"13.0":0.1487,"14.0":2.24115},I:{"0":0,"3":0,"4":0.00317,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00793,"4.2-4.3":0.01111,"4.4":0,"4.4.3-4.4.4":0.10949},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.69089,"5.5":0},J:{"7":0,"10":0.00415},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.39378},Q:{"10.4":0.05803},O:{"0":0.25699},H:{"0":0.2276},L:{"0":32.09469},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/OM.js b/node_modules/caniuse-lite/data/regions/OM.js new file mode 100644 index 00000000..d9d7dfb7 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/OM.js @@ -0,0 +1 @@ +module.exports={C:{"78":0.02041,"84":0.01701,"86":0.0034,"88":0.01021,"89":0.02722,"90":0.25855,"91":0.44906,"92":0.01361,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 87 93 3.5 3.6"},D:{"11":0.0068,"22":0.01021,"33":0.0068,"34":0.01021,"38":0.01021,"49":0.05103,"50":0.0034,"53":0.0034,"56":0.0034,"62":0.03062,"63":0.0068,"64":0.0068,"65":0.0068,"67":0.0068,"69":0.0068,"70":0.0068,"71":0.0034,"72":0.0034,"73":0.0034,"75":0.0068,"76":0.01021,"77":0.0034,"78":0.01021,"79":0.10546,"80":0.01361,"81":0.01701,"83":0.03062,"84":0.01361,"85":0.02381,"86":0.02041,"87":0.24494,"88":0.14969,"89":0.05783,"90":0.08165,"91":0.90833,"92":21.86806,"93":0.11227,"94":0.02381,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 35 36 37 39 40 41 42 43 44 45 46 47 48 51 52 54 55 57 58 59 60 61 66 68 74 95 96"},F:{"28":0.0034,"36":0.0068,"46":0.0068,"65":0.0034,"77":0.3368,"78":0.30278,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02465,"6.0-6.1":0,"7.0-7.1":0.04794,"8.1-8.4":0.00822,"9.0-9.2":0.01233,"9.3":0.06164,"10.0-10.2":0.00411,"10.3":0.06164,"11.0-11.2":0.08629,"11.3-11.4":0.03287,"12.0-12.1":0.05068,"12.2-12.4":0.14793,"13.0-13.1":0.02739,"13.2":0.02055,"13.3":0.12875,"13.4-13.7":0.4027,"14.0-14.4":1.68887,"14.5-14.7":10.30168},E:{"4":0,"12":0.0068,"13":0.02722,"14":0.50009,"15":0.0068,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.02722,"10.1":0.0068,"11.1":0.01361,"12.1":0.04082,"13.1":0.19051,"14.1":1.28936},B:{"12":0.0034,"15":0.02381,"16":0.0068,"17":0.0068,"18":0.09185,"84":0.0068,"85":0.0034,"89":0.02381,"90":0.01021,"91":0.06804,"92":2.30656,_:"13 14 79 80 81 83 86 87 88 93"},P:{"4":0.32605,"5.0-5.4":0.06114,"6.2-6.4":0.02137,"7.2-7.4":0.19359,"8.2":0.10189,"9.2":0.08151,"10.1":0.03057,"11.1-11.2":0.23435,"12.0":0.10189,"13.0":0.37699,"14.0":3.20954},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00208,"4.2-4.3":0.01454,"4.4":0,"4.4.3-4.4.4":0.11532},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00697,"11":2.53432,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.09896},Q:{"10.4":0.0066},O:{"0":1.16107},H:{"0":0.76196},L:{"0":46.87564},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PA.js b/node_modules/caniuse-lite/data/regions/PA.js new file mode 100644 index 00000000..6fae2655 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PA.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00412,"35":0.00824,"36":0.00412,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00412,"53":0,"54":0,"55":0,"56":0,"57":0.00412,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.03295,"67":0,"68":0.00412,"69":0,"70":0,"71":0,"72":0,"73":0.02471,"74":0,"75":0,"76":0,"77":0,"78":0.04119,"79":0,"80":0,"81":0.01236,"82":0,"83":0,"84":0,"85":0,"86":0.00412,"87":0.00412,"88":0.00824,"89":0.01236,"90":0.28833,"91":0.37895,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00412,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.09886,"50":0.01236,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00412,"59":0,"60":0,"61":0,"62":0.00412,"63":0.03707,"64":0.00412,"65":0.00412,"66":0,"67":0.00824,"68":0,"69":0.00412,"70":0.00412,"71":0.00412,"72":0.00412,"73":0.02883,"74":0.00412,"75":0.01648,"76":0.01236,"77":0.00824,"78":0.01648,"79":0.0659,"80":0.01236,"81":0.04119,"83":0.01236,"84":0.02471,"85":0.01236,"86":0.03707,"87":0.13181,"88":0.03295,"89":0.02471,"90":0.07826,"91":0.5849,"92":10.63526,"93":0.00824,"94":0.00412,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0206,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.27185,"78":0.44897,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0.00888,"4.2-4.3":0,"5.0-5.1":0.00254,"6.0-6.1":0.01777,"7.0-7.1":0.05584,"8.1-8.4":0.02284,"9.0-9.2":0.00381,"9.3":0.19924,"10.0-10.2":0.00635,"10.3":0.09772,"11.0-11.2":0.02792,"11.3-11.4":0.02538,"12.0-12.1":0.01904,"12.2-12.4":0.07868,"13.0-13.1":0.02157,"13.2":0.00888,"13.3":0.09518,"13.4-13.7":0.26397,"14.0-14.4":1.30333,"14.5-14.7":9.9558},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00412,"13":0.00824,"14":0.14417,"15":0.00412,_:"0","3.1":0,"3.2":0,"5.1":0.0659,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00412,"11.1":0.00824,"12.1":0.02471,"13.1":0.09474,"14.1":0.74142},B:{"12":0,"13":0,"14":0,"15":0.00412,"16":0.00412,"17":0.00412,"18":0.01648,"79":0,"80":0,"81":0,"83":0,"84":0.00412,"85":0,"86":0,"87":0,"88":0,"89":0.00824,"90":0.00412,"91":0.03295,"92":1.37987,"93":0},P:{"4":0.24637,"5.0-5.4":0,"6.2-6.4":0.02053,"7.2-7.4":0.48247,"8.2":0.01027,"9.2":0.08212,"10.1":0.05133,"11.1-11.2":0.41061,"12.0":0.10265,"13.0":0.30796,"14.0":3.28487},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01123,"4.2-4.3":0.01872,"4.4":0,"4.4.3-4.4.4":0.20597},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.13181,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.27053},Q:{"10.4":0},O:{"0":0.13526},H:{"0":0.27282},L:{"0":62.8681},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PE.js b/node_modules/caniuse-lite/data/regions/PE.js new file mode 100644 index 00000000..d41497e4 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00574,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.01147,"67":0,"68":0.00574,"69":0,"70":0,"71":0,"72":0.00574,"73":0.00574,"74":0,"75":0,"76":0.01147,"77":0,"78":0.01147,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.01147,"85":0,"86":0,"87":0,"88":0.01147,"89":0.01721,"90":0.2868,"91":0.4302,"92":0.00574,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00574,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.02294,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00574,"48":0,"49":0.05736,"50":0,"51":0,"52":0,"53":0.00574,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00574,"64":0,"65":0.00574,"66":0.00574,"67":0.00574,"68":0.00574,"69":0.00574,"70":0.01147,"71":0.00574,"72":0.00574,"73":0.00574,"74":0.02868,"75":0.01721,"76":0.00574,"77":0.01147,"78":0.01147,"79":0.0631,"80":0.04015,"81":0.10325,"83":0.02294,"84":0.02294,"85":0.01721,"86":0.02868,"87":0.13193,"88":0.05162,"89":0.05162,"90":0.12046,"91":0.82598,"92":25.82921,"93":0.01721,"94":0.00574,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00574,"55":0,"56":0,"57":0,"58":0.01721,"60":0,"62":0,"63":0,"64":0.00574,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.63096,"78":0.60802,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00485,"6.0-6.1":0.00873,"7.0-7.1":0.00436,"8.1-8.4":0.00194,"9.0-9.2":0.01503,"9.3":0.0543,"10.0-10.2":0.00582,"10.3":0.032,"11.0-11.2":0.01067,"11.3-11.4":0.01164,"12.0-12.1":0.01939,"12.2-12.4":0.06012,"13.0-13.1":0.01551,"13.2":0.00727,"13.3":0.05575,"13.4-13.7":0.14593,"14.0-14.4":0.63122,"14.5-14.7":3.46057},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01147,"14":0.08604,"15":0.00574,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00574,"12.1":0.01147,"13.1":0.04589,"14.1":0.33269},B:{"12":0,"13":0,"14":0,"15":0.00574,"16":0.00574,"17":0.00574,"18":0.01721,"79":0,"80":0,"81":0,"83":0,"84":0.00574,"85":0,"86":0,"87":0,"88":0,"89":0.01147,"90":0.00574,"91":0.02868,"92":1.52578,"93":0},P:{"4":0.16246,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.08123,"8.2":0,"9.2":0.04062,"10.1":0.01015,"11.1-11.2":0.15231,"12.0":0.03046,"13.0":0.10154,"14.0":0.80215},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00366,"4.2-4.3":0.01219,"4.4":0,"4.4.3-4.4.4":0.14137},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.15487,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.09381},Q:{"10.4":0},O:{"0":0.03838},H:{"0":0.14936},L:{"0":60.49158},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PF.js b/node_modules/caniuse-lite/data/regions/PF.js new file mode 100644 index 00000000..5f1c25b4 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PF.js @@ -0,0 +1 @@ +module.exports={C:{"12":0.031,"48":0.04428,"50":0.00443,"52":0.13727,"54":0.01328,"59":0.00886,"60":0.0797,"68":0.08856,"77":0.00886,"78":0.60664,"83":0.01771,"84":0.02214,"86":0.00443,"87":0.00443,"88":0.02657,"89":0.18155,"90":1.89076,"91":4.13575,"92":0.00886,_:"2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 51 53 55 56 57 58 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 79 80 81 82 85 93 3.5 3.6"},D:{"49":0.1107,"63":0.00443,"65":0.03542,"66":0.00886,"67":0.031,"68":0.00443,"71":0.01771,"79":0.04428,"80":0.00886,"81":0.00443,"83":0.05314,"84":0.031,"85":0.00886,"86":0.00443,"87":0.12398,"88":0.031,"89":0.05756,"90":0.09299,"91":1.06715,"92":18.53118,"93":0.0797,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 64 69 70 72 73 74 75 76 77 78 94 95 96"},F:{"77":0.47822,"78":0.28339,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00683,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.00228,"9.0-9.2":0.00228,"9.3":0.20274,"10.0-10.2":0.13668,"10.3":0.15718,"11.0-11.2":0.19818,"11.3-11.4":0.05695,"12.0-12.1":0.37358,"12.2-12.4":0.2369,"13.0-13.1":0.01367,"13.2":0.04784,"13.3":0.36447,"13.4-13.7":0.35763,"14.0-14.4":2.67657,"14.5-14.7":16.33047},E:{"4":0,"11":0.00443,"12":0.02657,"13":0.14612,"14":1.43024,"15":0.03985,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01328,"11.1":0.0797,"12.1":0.24797,"13.1":1.32397,"14.1":4.63169},B:{"14":0.00443,"15":0.00443,"17":0.00886,"18":0.02214,"80":0.00443,"85":0.00443,"89":0.02657,"90":0.01771,"91":0.07528,"92":4.1269,_:"12 13 16 79 81 83 84 86 87 88 93"},P:{"4":0.03147,"5.0-5.4":0.02135,"6.2-6.4":0.07272,"7.2-7.4":0.07342,"8.2":0.01026,"9.2":0.04196,"10.1":0.03147,"11.1-11.2":0.34613,"12.0":0.05244,"13.0":0.41955,"14.0":3.33545},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00127,"4.4":0,"4.4.3-4.4.4":0.01545},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.86346,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.70752},Q:{"10.4":0},O:{"0":0.24512},H:{"0":0.03692},L:{"0":31.11192},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PG.js b/node_modules/caniuse-lite/data/regions/PG.js new file mode 100644 index 00000000..97d698a1 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PG.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.0037,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.0037,"36":0.0037,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.01109,"45":0,"46":0,"47":0.0037,"48":0,"49":0,"50":0,"51":0.0037,"52":0,"53":0,"54":0,"55":0,"56":0.0037,"57":0,"58":0.0037,"59":0,"60":0,"61":0.0037,"62":0,"63":0,"64":0,"65":0,"66":0.01478,"67":0,"68":0.00739,"69":0,"70":0,"71":0,"72":0.0037,"73":0,"74":0,"75":0,"76":0,"77":0.00739,"78":0.0037,"79":0,"80":0,"81":0.00739,"82":0.02218,"83":0.0037,"84":0.04435,"85":0.02587,"86":0.01109,"87":0.01848,"88":0.07392,"89":0.05914,"90":0.31786,"91":0.49526,"92":0.01478,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0037,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.0037,"32":0,"33":0.0037,"34":0,"35":0,"36":0,"37":0.0037,"38":0.0037,"39":0,"40":0.02218,"41":0,"42":0.0037,"43":0.0037,"44":0,"45":0,"46":0.0037,"47":0,"48":0,"49":0.0037,"50":0,"51":0,"52":0.0037,"53":0.00739,"54":0,"55":0.02218,"56":0.0037,"57":0,"58":0.0037,"59":0.0037,"60":0,"61":0,"62":0.00739,"63":0.01109,"64":0.0037,"65":0.01109,"66":0,"67":0.00739,"68":0.01109,"69":0.05544,"70":0.07392,"71":0.0037,"72":0.0037,"73":0.0037,"74":0.00739,"75":0.0037,"76":0.0037,"77":0.0037,"78":0.01478,"79":0.01478,"80":0.01478,"81":0.02587,"83":0.01109,"84":0.01109,"85":0.01109,"86":0.02587,"87":0.05174,"88":0.04435,"89":0.05544,"90":0.08131,"91":0.28459,"92":6.46061,"93":0.0037,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.0037,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.0037,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.0037,"36":0,"37":0.02218,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.0037,"48":0,"49":0,"50":0,"51":0.0037,"52":0,"53":0,"54":0.01109,"55":0.02957,"56":0.01478,"57":0.02218,"58":0.24024,"60":0,"62":0,"63":0,"64":0.0037,"65":0.01478,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.0037,"72":0,"73":0,"74":0,"75":0.00739,"76":0.0037,"77":0.1885,"78":0.12566,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.0037},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00058,"5.0-5.1":0,"6.0-6.1":0.01948,"7.0-7.1":0.0032,"8.1-8.4":0.00174,"9.0-9.2":0.01687,"9.3":0.11806,"10.0-10.2":0.00582,"10.3":0.01948,"11.0-11.2":0.02036,"11.3-11.4":0.0157,"12.0-12.1":0.05147,"12.2-12.4":0.32889,"13.0-13.1":0.01948,"13.2":0.02763,"13.3":0.08549,"13.4-13.7":0.17418,"14.0-14.4":0.622,"14.5-14.7":1.18759},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.02957,"14":0.02587,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.0037,"11.1":0.0037,"12.1":0.00739,"13.1":0.02587,"14.1":0.08131},B:{"12":0.01848,"13":0.02218,"14":0.01478,"15":0.01848,"16":0.03326,"17":0.05174,"18":0.15893,"79":0,"80":0.29198,"81":0,"83":0,"84":0.01848,"85":0.04066,"86":0.0037,"87":0.0037,"88":0.00739,"89":0.03326,"90":0.01478,"91":0.12566,"92":1.13467,"93":0},P:{"4":0.3579,"5.0-5.4":0.03068,"6.2-6.4":0.0409,"7.2-7.4":1.24754,"8.2":0,"9.2":0.11248,"10.1":0.22497,"11.1-11.2":0.42948,"12.0":0.11248,"13.0":0.42948,"14.0":2.73027},I:{"0":0,"3":0,"4":0.00674,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02021,"4.2-4.3":0.07858,"4.4":0,"4.4.3-4.4.4":0.54557},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00426,"10":0.00852,"11":0.18311,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.17021},Q:{"10.4":0.37824},O:{"0":1.77773},H:{"0":2.1963},L:{"0":70.5885},S:{"2.5":0.22064}}; diff --git a/node_modules/caniuse-lite/data/regions/PH.js b/node_modules/caniuse-lite/data/regions/PH.js new file mode 100644 index 00000000..b473299c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PH.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00508,"53":0,"54":0,"55":0,"56":0.04066,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00508,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01017,"79":0,"80":0,"81":0.00508,"82":0,"83":0,"84":0.00508,"85":0.00508,"86":0.00508,"87":0.00508,"88":0.02033,"89":0.02033,"90":0.21857,"91":0.2999,"92":0.00508,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00508,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00508,"48":0,"49":0.0305,"50":0,"51":0,"52":0,"53":0.00508,"54":0,"55":0.00508,"56":0.00508,"57":0,"58":0.00508,"59":0,"60":0,"61":0.00508,"62":0,"63":0.00508,"64":0.00508,"65":0.00508,"66":0.01525,"67":0.00508,"68":0.00508,"69":0.00508,"70":0.00508,"71":0.01017,"72":0.01017,"73":0.01017,"74":0.02033,"75":0.02033,"76":0.0305,"77":0.02033,"78":0.0305,"79":0.05083,"80":0.02542,"81":0.0305,"83":0.0305,"84":0.0305,"85":0.03558,"86":0.05591,"87":0.22365,"88":0.10674,"89":0.09658,"90":0.13724,"91":0.59979,"92":18.75627,"93":0.0305,"94":0.01525,"95":0.00508,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00508,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.01017,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00508,"47":0,"48":0,"49":0,"50":0.00508,"51":0,"52":0,"53":0,"54":0.00508,"55":0.00508,"56":0.00508,"57":0.00508,"58":0.12199,"60":0.01017,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00508,"76":0.00508,"77":0.27957,"78":0.2389,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00168,"3.2":0,"4.0-4.1":0.00084,"4.2-4.3":0,"5.0-5.1":0.02604,"6.0-6.1":0.00756,"7.0-7.1":0.04621,"8.1-8.4":0.00504,"9.0-9.2":0.01512,"9.3":0.16383,"10.0-10.2":0.02268,"10.3":0.11174,"11.0-11.2":0.05797,"11.3-11.4":0.07057,"12.0-12.1":0.05881,"12.2-12.4":0.22096,"13.0-13.1":0.04117,"13.2":0.0252,"13.3":0.10334,"13.4-13.7":0.30077,"14.0-14.4":1.0821,"14.5-14.7":5.25004},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01525,"14":0.12199,"15":0.00508,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00508,"11.1":0.01017,"12.1":0.01017,"13.1":0.05591,"14.1":0.46764},B:{"12":0,"13":0,"14":0,"15":0,"16":0.00508,"17":0.00508,"18":0.01525,"79":0,"80":0,"81":0,"83":0,"84":0.00508,"85":0,"86":0,"87":0,"88":0,"89":0.01017,"90":0.00508,"91":0.02542,"92":1.45882,"93":0},P:{"4":0.28005,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02074,"8.2":0,"9.2":0.02074,"10.1":0.01037,"11.1-11.2":0.07261,"12.0":0.03112,"13.0":0.09335,"14.0":0.84016},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00293,"4.2-4.3":0.01319,"4.4":0,"4.4.3-4.4.4":0.12455},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.7472,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.10817},Q:{"10.4":0.00983},O:{"0":1.28825},H:{"0":0.92636},L:{"0":61.08472},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PK.js b/node_modules/caniuse-lite/data/regions/PK.js new file mode 100644 index 00000000..07ece0f6 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PK.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00191,"48":0,"49":0,"50":0,"51":0,"52":0.00574,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00191,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00191,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00382,"85":0,"86":0,"87":0,"88":0.00382,"89":0.00574,"90":0.05354,"91":0.07839,"92":0.00382,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00191,"41":0,"42":0.00191,"43":0.00574,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00765,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00382,"57":0,"58":0.00191,"59":0,"60":0,"61":0.00382,"62":0,"63":0.00191,"64":0.00191,"65":0.00191,"66":0,"67":0,"68":0.00191,"69":0.00191,"70":0.00191,"71":0.00191,"72":0.00191,"73":0.00191,"74":0.00191,"75":0.00191,"76":0.00191,"77":0.00191,"78":0.00191,"79":0.00382,"80":0.00382,"81":0.01147,"83":0.00574,"84":0.02677,"85":0.00574,"86":0.01147,"87":0.04015,"88":0.00765,"89":0.0153,"90":0.01721,"91":0.08795,"92":2.5009,"93":0.00574,"94":0.00574,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.00191,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00574,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00191,"52":0,"53":0,"54":0.00382,"55":0.00382,"56":0.00191,"57":0.00382,"58":0.09942,"60":0,"62":0,"63":0,"64":0,"65":0.00191,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.05545,"78":0.05545,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00095,"5.0-5.1":0.0052,"6.0-6.1":0.00236,"7.0-7.1":0.03405,"8.1-8.4":0.0104,"9.0-9.2":0.00378,"9.3":0.10451,"10.0-10.2":0.01135,"10.3":0.07803,"11.0-11.2":0.02554,"11.3-11.4":0.03452,"12.0-12.1":0.0227,"12.2-12.4":0.11538,"13.0-13.1":0.01466,"13.2":0.00757,"13.3":0.05485,"13.4-13.7":0.16078,"14.0-14.4":0.66299,"14.5-14.7":2.90684},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00191,"14":0.00956,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00382,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0.00382,"14.1":0.02677},B:{"12":0.00191,"13":0,"14":0,"15":0.00191,"16":0.00191,"17":0,"18":0.00382,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.00191,"90":0.00382,"91":0.00382,"92":0.11472,"93":0},P:{"4":0.24143,"5.0-5.4":0.02012,"6.2-6.4":0.02012,"7.2-7.4":0.06036,"8.2":0.01006,"9.2":0.03018,"10.1":0.02012,"11.1-11.2":0.07042,"12.0":0.0503,"13.0":0.14083,"14.0":0.90535},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00363,"4.2-4.3":0.01332,"4.4":0,"4.4.3-4.4.4":0.23129},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00212,"9":0,"10":0,"11":0.017,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.04853},Q:{"10.4":0},O:{"0":3.7771},H:{"0":1.60801},L:{"0":83.12831},S:{"2.5":0.17794}}; diff --git a/node_modules/caniuse-lite/data/regions/PL.js b/node_modules/caniuse-lite/data/regions/PL.js new file mode 100644 index 00000000..33cc4106 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PL.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.0041,"36":0.0041,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.0041,"45":0,"46":0,"47":0,"48":0.0041,"49":0,"50":0,"51":0.0041,"52":0.1148,"53":0,"54":0,"55":0,"56":0.0041,"57":0,"58":0,"59":0,"60":0.0041,"61":0,"62":0,"63":0,"64":0,"65":0.0041,"66":0.0041,"67":0,"68":0.0164,"69":0,"70":0,"71":0.0041,"72":0.0082,"73":0,"74":0,"75":0,"76":0,"77":0.0041,"78":0.1968,"79":0.0041,"80":0.0041,"81":0.0082,"82":0.0123,"83":0.0082,"84":0.0164,"85":0.0164,"86":0.0164,"87":0.0123,"88":0.0492,"89":0.1066,"90":1.2136,"91":1.8286,"92":0.0082,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0041,"35":0,"36":0,"37":0,"38":0.0041,"39":0,"40":0.0041,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0041,"47":0,"48":0,"49":0.1025,"50":0.0041,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0041,"59":0.0041,"60":0,"61":0.0082,"62":0,"63":0.0082,"64":0.0041,"65":0,"66":0.0041,"67":0.0041,"68":0.0041,"69":0.0041,"70":0.0082,"71":0.0082,"72":0.0041,"73":0.0041,"74":0.0041,"75":0.0082,"76":0.0164,"77":0.0041,"78":0.0082,"79":0.0943,"80":0.0123,"81":0.041,"83":0.0246,"84":0.0205,"85":0.0082,"86":0.0164,"87":0.0574,"88":0.0451,"89":0.0451,"90":0.0779,"91":0.4305,"92":7.7818,"93":0.0082,"94":0.0041,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.0082,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0041,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.0041,"58":0.082,"60":0,"62":0,"63":0.0041,"64":0,"65":0.0082,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.0041,"74":0.0041,"75":0.0041,"76":0.0082,"77":0.9922,"78":0.7462,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00397,"6.0-6.1":0.00198,"7.0-7.1":0.00496,"8.1-8.4":0.00198,"9.0-9.2":0.00347,"9.3":0.06448,"10.0-10.2":0.00546,"10.3":0.04613,"11.0-11.2":0.01984,"11.3-11.4":0.01934,"12.0-12.1":0.01736,"12.2-12.4":0.06894,"13.0-13.1":0.01587,"13.2":0.00744,"13.3":0.05704,"13.4-13.7":0.13292,"14.0-14.4":0.60211,"14.5-14.7":3.67512},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.0082,"14":0.0656,"15":0.0041,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.0082,"12.1":0.0082,"13.1":0.0451,"14.1":0.2911},B:{"12":0.0041,"13":0,"14":0.0041,"15":0.0123,"16":0.0041,"17":0.0082,"18":0.0164,"79":0,"80":0,"81":0,"83":0.0041,"84":0.0041,"85":0.0041,"86":0.0041,"87":0.0041,"88":0.0041,"89":0.0123,"90":0.0123,"91":0.0656,"92":1.4965,"93":0},P:{"4":0.24334,"5.0-5.4":0.01014,"6.2-6.4":0.01014,"7.2-7.4":0.04056,"8.2":0.01014,"9.2":0.08111,"10.1":0.03042,"11.1-11.2":0.26362,"12.0":0.09125,"13.0":0.2839,"14.0":2.87955},I:{"0":0,"3":0,"4":0.00355,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02982,"4.2-4.3":0.02627,"4.4":0,"4.4.3-4.4.4":0.08805},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0779,"5.5":0},J:{"7":0,"10":0.0177},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.5841},Q:{"10.4":0},O:{"0":0.0354},H:{"0":1.41878},L:{"0":69.7084},S:{"2.5":0.0059}}; diff --git a/node_modules/caniuse-lite/data/regions/PM.js b/node_modules/caniuse-lite/data/regions/PM.js new file mode 100644 index 00000000..2dd0ea3c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PM.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01163,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01745,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.01163,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.02327,"78":0.04654,"79":0,"80":0.0349,"81":0.00582,"82":0,"83":0,"84":0,"85":0.00582,"86":0,"87":0,"88":0.00582,"89":0.0698,"90":1.13432,"91":1.83236,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.08144,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00582,"64":0,"65":0.00582,"66":0,"67":0.34902,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.01745,"76":0.00582,"77":0,"78":0.02327,"79":0.01745,"80":0,"81":0.17451,"83":0,"84":0,"85":0,"86":0,"87":0.00582,"88":0.04072,"89":0.01163,"90":0,"91":0.31994,"92":15.62446,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.32575,"78":0.09889,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.08733,"10.0-10.2":0,"10.3":0.10604,"11.0-11.2":0.05614,"11.3-11.4":0.01871,"12.0-12.1":0,"12.2-12.4":0.83586,"13.0-13.1":0.06861,"13.2":0,"13.3":0,"13.4-13.7":0.67991,"14.0-14.4":5.75118,"14.5-14.7":32.82915},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.04072,"14":0.83183,"15":0.37229,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01745,"10.1":0.01745,"11.1":0.08144,"12.1":0,"13.1":0.27922,"14.1":2.54785},B:{"12":0,"13":0,"14":0,"15":0,"16":0.01745,"17":0,"18":0,"79":0,"80":0,"81":0.00582,"83":0,"84":0,"85":0,"86":0,"87":0.05235,"88":0,"89":0.00582,"90":0,"91":0.01745,"92":2.21046,"93":0},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.01243,"10.1":0,"11.1-11.2":0,"12.0":0.01243,"13.0":0,"14.0":2.11347},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00555,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.03608},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00582,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.1966},Q:{"10.4":0},O:{"0":0},H:{"0":0.01188},L:{"0":28.88083},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PN.js b/node_modules/caniuse-lite/data/regions/PN.js new file mode 100644 index 00000000..80418a9c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PN.js @@ -0,0 +1 @@ +module.exports={C:{_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 3.5 3.6"},D:{"81":100,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 83 84 85 86 87 88 89 90 91 92 93 94 95 96"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0,"14.5-14.7":0},E:{"4":0,_:"0 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1"},B:{_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93"},P:{"4":0.08244,"5.0-5.4":0.06114,"6.2-6.4":0.02137,"7.2-7.4":0.10304,"8.2":0.10189,"9.2":0.05152,"10.1":0.04122,"11.1-11.2":0.14426,"12.0":0.09274,"13.0":0.21639,"14.0":1.80327},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":0},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PR.js b/node_modules/caniuse-lite/data/regions/PR.js new file mode 100644 index 00000000..7fc66d8a --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00782,"36":0.00782,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.00391,"46":0.00391,"47":0.00391,"48":0.00391,"49":0.00391,"50":0.00391,"51":0.00391,"52":0.02738,"53":0.00391,"54":0.00391,"55":0.00391,"56":0.00391,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.04303,"67":0,"68":0.00391,"69":0,"70":0,"71":0,"72":0,"73":0.01956,"74":0,"75":0,"76":0,"77":0.00391,"78":0.01565,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0.00391,"86":0.00391,"87":0.00391,"88":0.00782,"89":0.01174,"90":0.34817,"91":0.4225,"92":0.00782,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.00391,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00782,"38":0,"39":0,"40":0,"41":0.0313,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.04694,"50":0,"51":0,"52":0,"53":0,"54":0.01174,"55":0,"56":0,"57":0,"58":0.00782,"59":0.00391,"60":0,"61":0,"62":0,"63":0.00391,"64":0,"65":0.00391,"66":0,"67":0.00391,"68":0.00782,"69":0,"70":0,"71":0,"72":0.00391,"73":0,"74":0.03912,"75":0.00391,"76":0.01174,"77":0.00391,"78":0.00391,"79":0.01565,"80":0.00782,"81":0.01565,"83":0.28949,"84":0.01174,"85":0.00782,"86":0.01565,"87":0.22298,"88":0.01956,"89":0.03521,"90":0.0665,"91":0.4225,"92":7.4015,"93":0.00782,"94":0.00391,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00391,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.00782,"75":0,"76":0,"77":0.13301,"78":0.11345,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.00358,"9.3":0.12889,"10.0-10.2":0.02864,"10.3":0.11099,"11.0-11.2":0.10741,"11.3-11.4":0.07518,"12.0-12.1":0.05728,"12.2-12.4":0.20765,"13.0-13.1":0.12531,"13.2":0.06802,"13.3":0.31864,"13.4-13.7":0.86999,"14.0-14.4":4.33921,"14.5-14.7":28.82067},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00391,"12":0.00782,"13":0.03521,"14":0.34426,"15":0.01565,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01174,"11.1":0.0313,"12.1":0.02738,"13.1":0.13692,"14.1":1.40832},B:{"12":0.00391,"13":0,"14":0,"15":0.00391,"16":0.00391,"17":0.01174,"18":0.04303,"79":0,"80":0.00391,"81":0,"83":0,"84":0.00391,"85":0.00391,"86":0.00391,"87":0.00391,"88":0.00391,"89":0.01174,"90":0.01565,"91":0.06259,"92":2.13204,"93":0},P:{"4":0.10323,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.07226,"8.2":0,"9.2":0.10323,"10.1":0.01032,"11.1-11.2":0.18582,"12.0":0.06194,"13.0":0.34066,"14.0":3.22082},I:{"0":0,"3":0,"4":0.01848,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.01848,"4.4":0,"4.4.3-4.4.4":0.24949},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.12518,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.32266},Q:{"10.4":0},O:{"0":0.0487},H:{"0":0.26513},L:{"0":42.86385},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PS.js b/node_modules/caniuse-lite/data/regions/PS.js new file mode 100644 index 00000000..99fe04f4 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PS.js @@ -0,0 +1 @@ +module.exports={C:{"5":0.00288,"17":0.00288,"45":0.00575,"49":0.00288,"52":0.01439,"58":0.00288,"72":0.00575,"78":0.00863,"82":0.00288,"84":0.01151,"88":0.01726,"89":0.0374,"90":0.89762,"91":0.58979,"92":0.00575,_:"2 3 4 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 50 51 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 83 85 86 87 93 3.5 3.6"},D:{"38":0.02877,"43":0.00288,"49":0.04316,"53":0.00288,"58":0.01151,"60":0.00575,"63":0.01439,"65":0.00288,"69":0.00863,"71":0.00863,"72":0.00575,"73":0.00288,"74":0.01151,"75":0.00288,"76":0.00863,"77":0.16974,"78":0.03452,"79":0.26756,"80":0.03452,"81":0.01726,"83":0.03165,"84":0.02302,"85":0.02589,"86":0.03452,"87":0.06905,"88":0.02589,"89":0.06617,"90":0.14673,"91":0.65308,"92":20.84962,"93":0.01439,"94":0.01439,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 51 52 54 55 56 57 59 61 62 64 66 67 68 70 95 96"},F:{"69":0.00288,"76":0.00288,"77":0.40853,"78":0.39127,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00383,"6.0-6.1":0.00077,"7.0-7.1":0.03676,"8.1-8.4":0.00153,"9.0-9.2":0.00077,"9.3":0.03523,"10.0-10.2":0.00689,"10.3":0.02374,"11.0-11.2":0.01838,"11.3-11.4":0.03293,"12.0-12.1":0.02681,"12.2-12.4":0.09727,"13.0-13.1":0.01532,"13.2":0.0046,"13.3":0.04978,"13.4-13.7":0.229,"14.0-14.4":0.98188,"14.5-14.7":5.67147},E:{"4":0,"12":0.00288,"13":0.01726,"14":0.12083,"15":0.00575,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00288,"11.1":0.01439,"12.1":0.00863,"13.1":0.05754,"14.1":0.51786},B:{"12":0.00288,"14":0.00288,"15":0.00575,"16":0.00575,"17":0.00575,"18":0.03452,"84":0.00575,"85":0.00575,"86":0.00288,"89":0.01151,"90":0.00288,"91":0.0374,"92":1.48741,"93":0.00575,_:"13 79 80 81 83 87 88"},P:{"4":0.08244,"5.0-5.4":0.06114,"6.2-6.4":0.02137,"7.2-7.4":0.10304,"8.2":0.10189,"9.2":0.05152,"10.1":0.04122,"11.1-11.2":0.14426,"12.0":0.09274,"13.0":0.21639,"14.0":1.80327},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00354,"4.2-4.3":0.01592,"4.4":0,"4.4.3-4.4.4":0.24409},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00888,"9":0.00296,"11":0.18954,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.06411},Q:{"10.4":0},O:{"0":0.0926},H:{"0":0.35741},L:{"0":61.16542},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PT.js b/node_modules/caniuse-lite/data/regions/PT.js new file mode 100644 index 00000000..8173cc73 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PT.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0.01121,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01121,"36":0.00561,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00561,"49":0,"50":0,"51":0,"52":0.03364,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00561,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01121,"69":0,"70":0,"71":0,"72":0.00561,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.06167,"79":0,"80":0,"81":0,"82":0,"83":0.00561,"84":0.00561,"85":0.00561,"86":0.00561,"87":0.01121,"88":0.01682,"89":0.05045,"90":0.78484,"91":1.09878,"92":0.02242,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.02242,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01121,"39":0,"40":0,"41":0,"42":0,"43":0.4653,"44":0,"45":0,"46":0,"47":0.00561,"48":0,"49":0.16257,"50":0,"51":0,"52":0,"53":0.01121,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.06167,"62":0.01121,"63":0.01682,"64":0,"65":0.01121,"66":0,"67":0.01121,"68":0.00561,"69":0.00561,"70":0.00561,"71":0.01121,"72":0.00561,"73":0.00561,"74":0.01121,"75":0.03364,"76":0.01121,"77":0.00561,"78":0.00561,"79":0.06727,"80":0.02242,"81":0.02803,"83":0.01682,"84":0.02242,"85":0.03364,"86":0.03364,"87":0.11212,"88":0.05045,"89":0.08409,"90":0.12894,"91":0.7456,"92":19.06601,"93":0.02242,"94":0.00561,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00561,"37":0,"38":0,"39":0,"40":0.00561,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01121,"60":0,"62":0,"63":0,"64":0,"65":0.00561,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.66711,"78":0.53818,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00171,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00514,"6.0-6.1":0.00343,"7.0-7.1":0.00857,"8.1-8.4":0.18681,"9.0-9.2":0.00514,"9.3":0.17138,"10.0-10.2":0.00514,"10.3":0.19366,"11.0-11.2":0.06684,"11.3-11.4":0.0497,"12.0-12.1":0.03428,"12.2-12.4":0.13196,"13.0-13.1":0.0497,"13.2":0.01028,"13.3":0.11825,"13.4-13.7":0.37361,"14.0-14.4":1.66755,"14.5-14.7":13.18962},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00561,"13":0.03364,"14":0.27469,"15":0.01682,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01682,"11.1":0.03924,"12.1":0.03924,"13.1":0.17379,"14.1":1.24453},B:{"12":0,"13":0,"14":0.00561,"15":0.00561,"16":0,"17":0.00561,"18":0.02803,"79":0,"80":0,"81":0,"83":0,"84":0.00561,"85":0.00561,"86":0.00561,"87":0.00561,"88":0.00561,"89":0.01682,"90":0.01682,"91":0.08409,"92":2.77497,"93":0.00561},P:{"4":0.14684,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01049,"8.2":0,"9.2":0.01049,"10.1":0,"11.1-11.2":0.05244,"12.0":0.02098,"13.0":0.10489,"14.0":1.82507},I:{"0":0,"3":0,"4":0.00496,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00992,"4.2-4.3":0.02479,"4.4":0,"4.4.3-4.4.4":0.20079},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00624,"9":0.00624,"10":0,"11":0.37434,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.25485},Q:{"10.4":0},O:{"0":0.26364},H:{"0":0.22464},L:{"0":48.50948},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PW.js b/node_modules/caniuse-lite/data/regions/PW.js new file mode 100644 index 00000000..e6c5b330 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PW.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0.01353,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0.18946,"88":0,"89":0.0406,"90":0.05864,"91":0.15337,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00451,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.09022,"69":0,"70":0,"71":0.00902,"72":0,"73":0.00902,"74":0,"75":0,"76":0.00902,"77":0.00902,"78":0.00451,"79":0.01353,"80":0.00902,"81":0.03609,"83":0,"84":0.01804,"85":0.00451,"86":0,"87":0.02707,"88":0.00451,"89":0.01804,"90":0.07218,"91":0.39246,"92":13.11348,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02707,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00902,"78":0.00451,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.00453,"10.0-10.2":0.17215,"10.3":0,"11.0-11.2":0.54363,"11.3-11.4":1.00344,"12.0-12.1":0.38733,"12.2-12.4":0.05663,"13.0-13.1":0.00453,"13.2":0,"13.3":0.08381,"13.4-13.7":0.88566,"14.0-14.4":2.63659,"14.5-14.7":16.71653},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00451,"12":0.03609,"13":0.01353,"14":0.13082,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00451,"12.1":0.04511,"13.1":0.06767,"14.1":0.73078},B:{"12":0,"13":0,"14":0,"15":0,"16":0.0406,"17":0.11729,"18":0,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.0406,"90":0,"91":0.09924,"92":2.51714,"93":0},P:{"4":0,"5.0-5.4":0.01045,"6.2-6.4":0,"7.2-7.4":0.11491,"8.2":0,"9.2":0.05223,"10.1":0,"11.1-11.2":0.12535,"12.0":0.14625,"13.0":0.05223,"14.0":7.05113},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.62899},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.12631,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.02196},Q:{"10.4":0.00549},O:{"0":0.52146},H:{"0":0.1507},L:{"0":45.76146},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/PY.js b/node_modules/caniuse-lite/data/regions/PY.js new file mode 100644 index 00000000..d94d1c5e --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/PY.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00222,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00888,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00222,"69":0,"70":0,"71":0,"72":0,"73":0.0111,"74":0,"75":0,"76":0,"77":0,"78":0.00666,"79":0,"80":0,"81":0,"82":0,"83":0.00222,"84":0.00222,"85":0,"86":0,"87":0,"88":0.00888,"89":0.00888,"90":0.10878,"91":0.1554,"92":0.00222,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00222,"48":0,"49":0.01998,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00222,"64":0,"65":0.00222,"66":0,"67":0,"68":0,"69":0.00222,"70":0.00222,"71":0,"72":0.00222,"73":0.00222,"74":0.00444,"75":0.00222,"76":0.00222,"77":0.00222,"78":0.00222,"79":0.01998,"80":0.00666,"81":0.01332,"83":0.00444,"84":0.00666,"85":0.00666,"86":0.04218,"87":0.0222,"88":0.04218,"89":0.00666,"90":0.0222,"91":0.11766,"92":3.4521,"93":0.00222,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00222,"57":0,"58":0.00888,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.09102,"78":0.0888,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0.00184,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00184,"6.0-6.1":0.00184,"7.0-7.1":0.00859,"8.1-8.4":0,"9.0-9.2":0.00123,"9.3":0.03374,"10.0-10.2":0.00429,"10.3":0.04294,"11.0-11.2":0.01534,"11.3-11.4":0.02209,"12.0-12.1":0.01534,"12.2-12.4":0.08098,"13.0-13.1":0.00859,"13.2":0.00307,"13.3":0.02638,"13.4-13.7":0.12208,"14.0-14.4":0.56563,"14.5-14.7":4.78213},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00222,"14":0.00888,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.01998,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00222,"13.1":0.00888,"14.1":0.08436},B:{"12":0.00222,"13":0,"14":0.00222,"15":0,"16":0,"17":0,"18":0.00666,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.00222,"90":0.00222,"91":0.00666,"92":0.31968,"93":0},P:{"4":0.59403,"5.0-5.4":0.0302,"6.2-6.4":0.04027,"7.2-7.4":0.69471,"8.2":0.0302,"9.2":0.12082,"10.1":0.11075,"11.1-11.2":0.43293,"12.0":0.18123,"13.0":0.49334,"14.0":2.9802},I:{"0":0,"3":0,"4":0.00627,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00627,"4.2-4.3":0.01255,"4.4":0,"4.4.3-4.4.4":0.18819},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01776,"5.5":0},J:{"7":0,"10":0.00778},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.06224},Q:{"10.4":0},O:{"0":0.10114},H:{"0":0.20624},L:{"0":81.56766},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/QA.js b/node_modules/caniuse-lite/data/regions/QA.js new file mode 100644 index 00000000..51d00663 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/QA.js @@ -0,0 +1 @@ +module.exports={C:{"38":0.06254,"52":0.01191,"78":0.03574,"81":0.00298,"82":0.00298,"84":0.00596,"88":0.00298,"89":0.04169,"90":0.2978,"91":0.46159,"92":0.00893,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 83 85 86 87 93 3.5 3.6"},D:{"34":0.00893,"38":0.03871,"49":0.05658,"53":0.00596,"55":0.00298,"56":0.00893,"61":0.00298,"62":0.00596,"63":0.00298,"65":0.00298,"66":0.00298,"67":0.00596,"68":0.00893,"69":0.00893,"70":0.00893,"71":0.00596,"73":0.00596,"74":0.01191,"75":0.00893,"76":0.00893,"77":0.00596,"78":0.01191,"79":0.08934,"80":0.01787,"81":0.01489,"83":0.02085,"84":0.02085,"85":0.02382,"86":0.06254,"87":0.14592,"88":0.08041,"89":0.08041,"90":0.0953,"91":0.74152,"92":20.21169,"93":0.01489,"94":0.00893,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 57 58 59 60 64 72 95 96"},F:{"28":0.00893,"46":0.00893,"77":0.24122,"78":0.22335,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00897,"6.0-6.1":0,"7.0-7.1":0.02306,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.07047,"10.0-10.2":0.00256,"10.3":0.06022,"11.0-11.2":0.03716,"11.3-11.4":0.01922,"12.0-12.1":0.01153,"12.2-12.4":0.03972,"13.0-13.1":0.01666,"13.2":0.00897,"13.3":0.0961,"13.4-13.7":0.32674,"14.0-14.4":1.4825,"14.5-14.7":10.22505},E:{"4":0,"12":0.00298,"13":0.06254,"14":0.38416,"15":0.01787,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00298,"11.1":0.01191,"12.1":0.03574,"13.1":0.14294,"14.1":1.3669},B:{"13":0.00298,"14":0.00298,"16":0.00596,"17":0.01191,"18":0.0536,"84":0.01787,"85":0.00596,"87":0.03276,"88":0.00596,"89":0.01191,"90":0.00596,"91":0.07743,"92":2.36155,_:"12 15 79 80 81 83 86 93"},P:{"4":0.09295,"5.0-5.4":0.06114,"6.2-6.4":0.02137,"7.2-7.4":0.04131,"8.2":0.10189,"9.2":0.02066,"10.1":0.04122,"11.1-11.2":0.13426,"12.0":0.04131,"13.0":0.14459,"14.0":2.39607},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00443,"4.4":0,"4.4.3-4.4.4":0.02365},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.35438,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.08426},Q:{"10.4":0},O:{"0":6.17936},H:{"0":1.21658},L:{"0":48.3754},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/RE.js b/node_modules/caniuse-lite/data/regions/RE.js new file mode 100644 index 00000000..466b8b9b --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/RE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00984,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00492,"33":0,"34":0,"35":0.00492,"36":0.00492,"37":0,"38":0,"39":0,"40":0,"41":0.00492,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00492,"49":0.01476,"50":0,"51":0,"52":0.02461,"53":0,"54":0.00492,"55":0.00984,"56":0.01476,"57":0.01476,"58":0,"59":0,"60":0.00984,"61":0.02953,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00492,"68":0.01476,"69":0,"70":0,"71":0,"72":0.03445,"73":0,"74":0.00492,"75":0,"76":0,"77":0.01968,"78":0.33955,"79":0,"80":0,"81":0.00984,"82":0.00492,"83":0,"84":0.00492,"85":0.01476,"86":0.00984,"87":0.01476,"88":0.04429,"89":0.14763,"90":1.32867,"91":1.72727,"92":0.00492,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.04429,"48":0.02953,"49":0.08858,"50":0,"51":0,"52":0,"53":0,"54":0.00984,"55":0,"56":0.12303,"57":0,"58":0.00492,"59":0,"60":0,"61":0.00984,"62":0.00492,"63":0.00984,"64":0,"65":0.02461,"66":0,"67":0.00984,"68":0,"69":0,"70":0.01476,"71":0.01476,"72":0.00492,"73":0,"74":0,"75":0.00492,"76":0.00492,"77":0.00492,"78":0.00492,"79":0.08366,"80":0.00492,"81":0.01476,"83":0.00984,"84":0.00492,"85":0.00984,"86":0.00492,"87":0.0935,"88":0.01968,"89":0.05905,"90":0.05905,"91":0.54131,"92":11.21496,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.3986,"78":0.44781,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.02611,"8.1-8.4":0,"9.0-9.2":0.00475,"9.3":0.16615,"10.0-10.2":0.02374,"10.3":0.15903,"11.0-11.2":0.10443,"11.3-11.4":0.03323,"12.0-12.1":0.12342,"12.2-12.4":0.2065,"13.0-13.1":0.05222,"13.2":0.02374,"13.3":0.16377,"13.4-13.7":0.57202,"14.0-14.4":2.58951,"14.5-14.7":18.76507},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00492,"12":0.00492,"13":0.06397,"14":0.41336,"15":0.01968,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00984,"10.1":0.01968,"11.1":0.04429,"12.1":0.06889,"13.1":0.41336,"14.1":1.81093},B:{"12":0,"13":0,"14":0,"15":0.00492,"16":0.01476,"17":0.01968,"18":0.04429,"79":0,"80":0.00492,"81":0,"83":0,"84":0.00492,"85":0.00492,"86":0.00492,"87":0.00492,"88":0,"89":0.00984,"90":0.00492,"91":0.08366,"92":2.54416,"93":0},P:{"4":0.08282,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.16564,"8.2":0,"9.2":0.05176,"10.1":0.02071,"11.1-11.2":0.24847,"12.0":0.05176,"13.0":0.20706,"14.0":2.55713},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00992,"4.2-4.3":0.00496,"4.4":0,"4.4.3-4.4.4":0.08433},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.14763,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.37585},Q:{"10.4":0},O:{"0":0.386},H:{"0":0.15868},L:{"0":47.16176},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/RO.js b/node_modules/caniuse-lite/data/regions/RO.js new file mode 100644 index 00000000..abe422a7 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/RO.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00412,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00412,"36":0.00412,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00412,"49":0,"50":0,"51":0,"52":0.07002,"53":0,"54":0,"55":0,"56":0.0206,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00412,"66":0.00412,"67":0,"68":0.00412,"69":0,"70":0,"71":0,"72":0.00412,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.04531,"79":0.00412,"80":0.00412,"81":0.00412,"82":0,"83":0.00412,"84":0.00824,"85":0.00412,"86":0.00412,"87":0.00412,"88":0.02471,"89":0.04531,"90":0.60549,"91":0.87323,"92":0.00824,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00412,"39":0.00412,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00412,"48":0,"49":0.12769,"50":0.00412,"51":0.00412,"52":0,"53":0.00412,"54":0,"55":0.00412,"56":0,"57":0,"58":0.00412,"59":0,"60":0.17712,"61":0.07414,"62":0,"63":0,"64":0.00412,"65":0.00412,"66":0.00412,"67":0.03707,"68":0.00412,"69":0.04943,"70":0.00824,"71":0.00824,"72":0.00412,"73":0.00412,"74":0.00824,"75":0.00824,"76":0.01236,"77":0.00824,"78":0.00824,"79":0.03295,"80":0.01648,"81":0.02883,"83":0.01648,"84":0.0206,"85":0.01236,"86":0.02471,"87":0.07826,"88":0.03295,"89":0.03707,"90":0.05767,"91":0.35423,"92":10.83709,"93":0.00824,"94":0.00824,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00412,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01236,"60":0,"62":0,"63":0,"64":0,"65":0.00412,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00412,"77":0.50252,"78":0.41602,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0.03494,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.13367,"6.0-6.1":0.00456,"7.0-7.1":0.0076,"8.1-8.4":0.01975,"9.0-9.2":0.00304,"9.3":0.05924,"10.0-10.2":0.0076,"10.3":0.07595,"11.0-11.2":0.03798,"11.3-11.4":0.10785,"12.0-12.1":0.03949,"12.2-12.4":0.13519,"13.0-13.1":0.04101,"13.2":0.02279,"13.3":0.12,"13.4-13.7":0.43748,"14.0-14.4":1.81675,"14.5-14.7":11.62963},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01648,"14":0.07414,"15":0.00412,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00824,"12.1":0.00824,"13.1":0.04119,"14.1":0.26774},B:{"12":0,"13":0,"14":0,"15":0.00824,"16":0,"17":0.00412,"18":0.01648,"79":0,"80":0,"81":0,"83":0,"84":0.00412,"85":0.00412,"86":0.00412,"87":0,"88":0,"89":0.00824,"90":0.00824,"91":0.02883,"92":0.89382,"93":0.0206},P:{"4":0.21276,"5.0-5.4":0.01013,"6.2-6.4":0.01013,"7.2-7.4":0.03039,"8.2":0.01013,"9.2":0.08105,"10.1":0.02026,"11.1-11.2":0.27355,"12.0":0.13171,"13.0":0.28369,"14.0":3.86015},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00603,"4.2-4.3":0.03619,"4.4":0,"4.4.3-4.4.4":0.22014},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00449,"9":0.00449,"10":0,"11":0.19286,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.28229},Q:{"10.4":0},O:{"0":0.07057},H:{"0":0.42872},L:{"0":59.993},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/RS.js b/node_modules/caniuse-lite/data/regions/RS.js new file mode 100644 index 00000000..6907003f --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/RS.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00378,"36":0.00378,"37":0,"38":0,"39":0,"40":0.00378,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00378,"49":0.00378,"50":0.06428,"51":0,"52":0.06806,"53":0,"54":0,"55":0,"56":0.01134,"57":0,"58":0,"59":0,"60":0.00378,"61":0,"62":0,"63":0.00378,"64":0,"65":0,"66":0.00378,"67":0,"68":0.00756,"69":0.00378,"70":0,"71":0,"72":0.00378,"73":0,"74":0,"75":0,"76":0.00378,"77":0,"78":0.02269,"79":0,"80":0,"81":0.00378,"82":0.00378,"83":0.00378,"84":0.01134,"85":0.00378,"86":0.00378,"87":0.00378,"88":0.03403,"89":0.05293,"90":0.59362,"91":1.15699,"92":0.01134,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00378,"35":0,"36":0,"37":0,"38":0.00756,"39":0,"40":0,"41":0,"42":0,"43":0.00378,"44":0,"45":0,"46":0,"47":0.00378,"48":0.00378,"49":0.10587,"50":0,"51":0,"52":0.00378,"53":0.00756,"54":0,"55":0,"56":0,"57":0,"58":0.00378,"59":0,"60":0,"61":0.04159,"62":0.00378,"63":0.00378,"64":0,"65":0.00378,"66":0.00378,"67":0.00378,"68":0.00756,"69":0.00378,"70":0.00756,"71":0.00756,"72":0.00378,"73":0.00378,"74":0.00378,"75":0.01134,"76":0.00378,"77":0.00756,"78":0.00378,"79":0.03781,"80":0.01134,"81":0.02269,"83":0.01512,"84":0.01512,"85":0.02269,"86":0.02647,"87":0.0794,"88":0.03025,"89":0.03403,"90":0.05672,"91":0.3592,"92":8.78704,"93":0.00756,"94":0.00378,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00378,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00756,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00378,"58":0.01512,"60":0,"62":0,"63":0,"64":0,"65":0.00378,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00378,"77":0.43103,"78":0.3781,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01097,"6.0-6.1":0.00439,"7.0-7.1":0.03948,"8.1-8.4":0.01316,"9.0-9.2":0.00439,"9.3":0.08553,"10.0-10.2":0.01535,"10.3":0.13378,"11.0-11.2":0.08553,"11.3-11.4":0.12939,"12.0-12.1":0.05263,"12.2-12.4":0.27194,"13.0-13.1":0.05702,"13.2":0.02851,"13.3":0.21054,"13.4-13.7":0.70617,"14.0-14.4":2.75013,"14.5-14.7":16.20471},E:{"4":0.00378,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00378,"13":0.00378,"14":0.04159,"15":0.00378,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00378,"11.1":0.00756,"12.1":0.00756,"13.1":0.03025,"14.1":0.21174},B:{"12":0,"13":0.00378,"14":0.00378,"15":0.00756,"16":0,"17":0.00378,"18":0.01134,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.00756,"90":0.00378,"91":0.01891,"92":0.54068,"93":0},P:{"4":0.11226,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02041,"8.2":0,"9.2":0.04082,"10.1":0.02041,"11.1-11.2":0.19391,"12.0":0.06123,"13.0":0.14288,"14.0":2.45953},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01581,"4.2-4.3":0.01581,"4.4":0,"4.4.3-4.4.4":0.0724},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01668,"9":0.00417,"10":0.00417,"11":0.13757,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.19279},Q:{"10.4":0.00622},O:{"0":0.03731},H:{"0":0.34149},L:{"0":59.86622},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/RU.js b/node_modules/caniuse-lite/data/regions/RU.js new file mode 100644 index 00000000..9f8ebef3 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/RU.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.01364,"5":0.00682,"6":0,"7":0,"8":0.00682,"9":0,"10":0,"11":0,"12":0.00682,"13":0,"14":0.00682,"15":0.00682,"16":0,"17":0.01364,"18":0.00682,"19":0,"20":0,"21":0.01364,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00682,"30":0,"31":0.00682,"32":0.00682,"33":0.00682,"34":0.00682,"35":0.00682,"36":0.00682,"37":0,"38":0.00682,"39":0.00682,"40":0.00682,"41":0.00682,"42":0.00682,"43":0.00682,"44":0.02046,"45":0.0341,"46":0.00682,"47":0,"48":0.00682,"49":0,"50":0.01364,"51":0.01364,"52":0.15684,"53":0.02046,"54":0.01364,"55":0.04091,"56":0.02728,"57":0.00682,"58":0.00682,"59":0.00682,"60":0.00682,"61":0.00682,"62":0.00682,"63":0.00682,"64":0,"65":0.00682,"66":0.00682,"67":0.00682,"68":0.02046,"69":0.00682,"70":0.02046,"71":0.00682,"72":0.01364,"73":0.00682,"74":0.00682,"75":0.00682,"76":0.00682,"77":0.01364,"78":0.07501,"79":0.01364,"80":0.01364,"81":0.02046,"82":0.01364,"83":0.01364,"84":0.02728,"85":0.01364,"86":0.01364,"87":0.01364,"88":0.12956,"89":0.1091,"90":0.58643,"91":0.81146,"92":0.00682,"93":0,"3.5":0,"3.6":0.00682},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00682,"22":0.00682,"23":0.00682,"24":0.02046,"25":0.00682,"26":0,"27":0.00682,"28":0.00682,"29":0,"30":0.00682,"31":0.00682,"32":0.00682,"33":0,"34":0.00682,"35":0,"36":0.00682,"37":0.01364,"38":0.02046,"39":0.01364,"40":0.00682,"41":0.01364,"42":0.00682,"43":0.02046,"44":0.01364,"45":0.01364,"46":0.01364,"47":0.02728,"48":0.0341,"49":0.23867,"50":0.02046,"51":0.06819,"52":0,"53":0.00682,"54":0.00682,"55":0.00682,"56":0.06137,"57":0.01364,"58":0.01364,"59":0.0341,"60":0.00682,"61":0.10229,"62":0.02728,"63":0.01364,"64":0.01364,"65":0.00682,"66":0.00682,"67":0.01364,"68":0.00682,"69":0.53188,"70":0.04091,"71":0.02046,"72":0.01364,"73":0.0341,"74":1.05013,"75":0.02728,"76":0.02728,"77":0.02046,"78":0.85238,"79":1.17287,"80":0.61371,"81":0.81146,"83":0.791,"84":1.01603,"85":7.26224,"86":0.2523,"87":0.52506,"88":0.31367,"89":0.20457,"90":0.49097,"91":0.99557,"92":12.47877,"93":0.01364,"94":0.01364,"95":0.00682,"96":0},F:{"9":0,"11":0,"12":0.00682,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00682,"23":0.00682,"24":0.00682,"25":0,"26":0.00682,"27":0.00682,"28":0.00682,"29":0.00682,"30":0.00682,"31":0.00682,"32":0.00682,"33":0,"34":0.02046,"35":0.02728,"36":0.0341,"37":0.00682,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00682,"44":0.00682,"45":0,"46":0,"47":0.00682,"48":0,"49":0.00682,"50":0,"51":0,"52":0,"53":0,"54":0.00682,"55":0.00682,"56":0.00682,"57":0,"58":0.02046,"60":0.00682,"62":0,"63":0,"64":0,"65":0.00682,"66":0.00682,"67":0,"68":0.00682,"69":0.00682,"70":0.00682,"71":0.01364,"72":0.00682,"73":0.00682,"74":0.00682,"75":0.00682,"76":0.06819,"77":1.44563,"78":1.24106,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02728},G:{"8":0.00098,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00098,"5.0-5.1":0.03635,"6.0-6.1":0.0226,"7.0-7.1":0.01277,"8.1-8.4":0.0167,"9.0-9.2":0.01179,"9.3":0.14638,"10.0-10.2":0.0334,"10.3":0.11691,"11.0-11.2":0.04912,"11.3-11.4":0.06386,"12.0-12.1":0.05698,"12.2-12.4":0.16701,"13.0-13.1":0.0501,"13.2":0.03144,"13.3":0.13558,"13.4-13.7":0.44406,"14.0-14.4":1.55618,"14.5-14.7":6.44185},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00682,"11":0.00682,"12":0.00682,"13":0.06819,"14":0.22503,"15":0.02046,_:"0","3.1":0,"3.2":0,"5.1":0.12956,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00682,"11.1":0.01364,"12.1":0.0341,"13.1":0.12956,"14.1":0.72281},B:{"12":0.00682,"13":0.00682,"14":0.01364,"15":0.01364,"16":0.01364,"17":0.01364,"18":0.05455,"79":0,"80":0.00682,"81":0.00682,"83":0.00682,"84":0.01364,"85":0.01364,"86":0.01364,"87":0.00682,"88":0,"89":0.02046,"90":0.01364,"91":0.04091,"92":0.94102,"93":0},P:{"4":0.08154,"5.0-5.4":0.02039,"6.2-6.4":0.02039,"7.2-7.4":0.2752,"8.2":0.04077,"9.2":0.09173,"10.1":0.03058,"11.1-11.2":0.33635,"12.0":0.09173,"13.0":0.24462,"14.0":1.99774},I:{"0":0,"3":0,"4":0.00277,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00555,"4.2-4.3":0.02357,"4.4":0,"4.4.3-4.4.4":0.18992},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03854,"9":0.00771,"10":0.01542,"11":0.29292,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.11452},Q:{"10.4":0.01272},O:{"0":0.23539},H:{"0":0.63845},L:{"0":32.58766},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/RW.js b/node_modules/caniuse-lite/data/regions/RW.js new file mode 100644 index 00000000..327152d9 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/RW.js @@ -0,0 +1 @@ +module.exports={C:{"37":0.01368,"40":0.00456,"45":0.01368,"47":0.02736,"48":0.0228,"49":0.00456,"50":0.01368,"52":0.03648,"59":0.0228,"60":0.00456,"72":0.00912,"78":0.07296,"84":0.00912,"85":0.00912,"86":0.00456,"87":0.01368,"88":0.05016,"89":0.27816,"90":1.19472,"91":2.01096,"92":0.11856,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 41 42 43 44 46 51 53 54 55 56 57 58 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 93 3.5 3.6"},D:{"38":0.03648,"39":0.00456,"41":0.00456,"43":0.00912,"49":0.04104,"50":0.00912,"58":0.01824,"60":0.01368,"63":0.03192,"65":0.01824,"66":0.00456,"67":0.01824,"69":0.00912,"70":0.01368,"71":0.0228,"72":0.00456,"73":0.01368,"74":0.05016,"75":0.01368,"76":0.00912,"77":0.03648,"78":0.01824,"79":0.08208,"80":0.05472,"81":0.03192,"83":0.0456,"84":0.0228,"85":0.01824,"86":0.07296,"87":0.11856,"88":0.06384,"89":0.12312,"90":0.20976,"91":1.12632,"92":28.6824,"93":0.08208,"94":0.0912,"95":0.01824,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 40 42 44 45 46 47 48 51 52 53 54 55 56 57 59 61 62 64 68 96"},F:{"28":0.00456,"76":0.00912,"77":0.80712,"78":0.4788,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00217,"6.0-6.1":0.00072,"7.0-7.1":0.00724,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.06298,"10.0-10.2":0.01013,"10.3":0.06732,"11.0-11.2":0.05429,"11.3-11.4":0.03402,"12.0-12.1":0.04561,"12.2-12.4":0.19256,"13.0-13.1":0.03692,"13.2":0.01303,"13.3":0.09121,"13.4-13.7":0.31925,"14.0-14.4":1.37907,"14.5-14.7":4.26463},E:{"4":0,"12":0.00456,"13":0.00912,"14":0.228,"15":0.00912,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.03648,"10.1":0.00456,"11.1":0.01368,"12.1":0.03192,"13.1":0.10488,"14.1":0.37392},B:{"12":0.05928,"13":0.04104,"14":0.0228,"15":0.01368,"16":0.03648,"17":0.0228,"18":0.1824,"80":0.00912,"84":0.02736,"85":0.01368,"87":0.00456,"88":0.00456,"89":0.05016,"90":0.01824,"91":0.16416,"92":3.28776,"93":0.04104,_:"79 81 83 86"},P:{"4":0.25927,"5.0-5.4":0.02074,"6.2-6.4":0.02137,"7.2-7.4":0.10371,"8.2":0.12445,"9.2":0.05185,"10.1":0.06223,"11.1-11.2":0.11408,"12.0":0.03111,"13.0":0.15556,"14.0":1.48305},I:{"0":0,"3":0,"4":0.00019,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00056,"4.2-4.3":0.00196,"4.4":0,"4.4.3-4.4.4":0.02992},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.33288,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.01632},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.21212},Q:{"10.4":0.03807},O:{"0":0.3481},H:{"0":7.41498},L:{"0":40.31532},S:{"2.5":0.06527}}; diff --git a/node_modules/caniuse-lite/data/regions/SA.js b/node_modules/caniuse-lite/data/regions/SA.js new file mode 100644 index 00000000..a9c4936a --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SA.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.0024,"33":0,"34":0,"35":0.0024,"36":0.0024,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.0024,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00719,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00959,"85":0,"86":0,"87":0,"88":0.0048,"89":0.00719,"90":0.07913,"91":0.1175,"92":0.0024,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0048,"35":0,"36":0,"37":0,"38":0.0024,"39":0,"40":0,"41":0,"42":0,"43":0.0024,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01439,"50":0.0024,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.0024,"57":0,"58":0,"59":0,"60":0,"61":0.0048,"62":0,"63":0.0024,"64":0.0024,"65":0,"66":0.0024,"67":0.0024,"68":0,"69":0.0048,"70":0.0024,"71":0.0024,"72":0.0024,"73":0,"74":0.0048,"75":0.0024,"76":0.0024,"77":0.0024,"78":0.0024,"79":0.00959,"80":0.0048,"81":0.01199,"83":0.01199,"84":0.0048,"85":0.00719,"86":0.00959,"87":0.06235,"88":0.03837,"89":0.01679,"90":0.02638,"91":0.16067,"92":3.64976,"93":0.0048,"94":0.0048,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0024,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0024,"71":0,"72":0.0024,"73":0.0048,"74":0,"75":0.0024,"76":0.0024,"77":0.01918,"78":0.00719,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.02167,"8.1-8.4":0.00433,"9.0-9.2":0,"9.3":0.15603,"10.0-10.2":0.00867,"10.3":0.09535,"11.0-11.2":0.05634,"11.3-11.4":0.07802,"12.0-12.1":0.16903,"12.2-12.4":0.42475,"13.0-13.1":0.25572,"13.2":0.16903,"13.3":0.65447,"13.4-13.7":1.94173,"14.0-14.4":10.2071,"14.5-14.7":27.99908},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01679,"14":0.1247,"15":0.0024,_:"0","3.1":0,"3.2":0,"5.1":0.0024,"6.1":0,"7.1":0,"9.1":0,"10.1":0.0024,"11.1":0.0048,"12.1":0.0048,"13.1":0.04077,"14.1":0.32373},B:{"12":0.0024,"13":0,"14":0.0024,"15":0,"16":0.0024,"17":0.0024,"18":0.00959,"79":0,"80":0,"81":0,"83":0,"84":0.0024,"85":0.0024,"86":0,"87":0.0024,"88":0.0024,"89":0.0048,"90":0.0024,"91":0.01918,"92":0.43164,"93":0},P:{"4":0.07146,"5.0-5.4":0.01021,"6.2-6.4":0,"7.2-7.4":0.11229,"8.2":0.01021,"9.2":0.05104,"10.1":0.02042,"11.1-11.2":0.21438,"12.0":0.05104,"13.0":0.20417,"14.0":2.02126},I:{"0":0,"3":0,"4":0.00189,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00189,"4.2-4.3":0.00473,"4.4":0,"4.4.3-4.4.4":0.05587},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.15347,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.10643},Q:{"10.4":0},O:{"0":1.80928},H:{"0":0.13674},L:{"0":45.85862},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SB.js b/node_modules/caniuse-lite/data/regions/SB.js new file mode 100644 index 00000000..959232ba --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SB.js @@ -0,0 +1 @@ +module.exports={C:{"33":0.27872,"49":0.00416,"56":0.15392,"57":0.0208,"72":0.00416,"74":0.00832,"77":0.00416,"78":0.01664,"79":0.01664,"84":0.03744,"88":0.01248,"89":0.1872,"90":0.67392,"91":0.75296,"92":0.00416,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 75 76 80 81 82 83 85 86 87 93 3.5 3.6"},D:{"11":0.00832,"29":0.00832,"33":0.00832,"43":0.01248,"49":0.05824,"52":0.00832,"53":0.43264,"60":0.01664,"63":0.02912,"66":0.01664,"69":0.03744,"70":0.01664,"71":0.00832,"74":0.01248,"75":0.00832,"77":0.00832,"78":0.00832,"80":0.01248,"81":0.03744,"83":0.01248,"84":0.0416,"86":0.04576,"87":0.07488,"88":0.02496,"89":0.01248,"90":0.0416,"91":0.40352,"92":13.63648,"93":0.03328,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 54 55 56 57 58 59 61 62 64 65 67 68 72 73 76 79 85 94 95 96"},F:{"27":0.00832,"53":0.00832,"65":0.00416,"75":0.00832,"77":0.1664,"78":0.03744,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 74 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00815,"8.1-8.4":0.00815,"9.0-9.2":0.2793,"9.3":0.01223,"10.0-10.2":0.01806,"10.3":0.00903,"11.0-11.2":0.00408,"11.3-11.4":0.00757,"12.0-12.1":0.07135,"12.2-12.4":0.11912,"13.0-13.1":0.22018,"13.2":0.00175,"13.3":0.07485,"13.4-13.7":0.97071,"14.0-14.4":0.49773,"14.5-14.7":0.33697},E:{"4":0,"8":0.00416,"11":0.00416,"13":0.0416,"14":0.03744,_:"0 5 6 7 9 10 12 15 3.1 3.2 5.1 6.1 7.1 9.1 13.1","10.1":0.24544,"11.1":0.00416,"12.1":0.0208,"14.1":3.11584},B:{"12":0.0208,"13":0.02912,"14":0.03744,"15":0.27456,"16":0.14976,"17":0.13312,"18":5.66176,"80":0.0416,"84":0.02496,"85":0.01248,"86":0.01248,"87":0.00416,"88":0.03328,"89":0.07488,"90":0.04992,"91":0.44096,"92":3.65664,"93":0.04992,_:"79 81 83"},P:{"4":0.27648,"5.0-5.4":0.02048,"6.2-6.4":0.13312,"7.2-7.4":0.39936,"8.2":0.12445,"9.2":0.21504,"10.1":0.02048,"11.1-11.2":0.49152,"12.0":0.02048,"13.0":0.22528,"14.0":0.94208},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00085,"4.2-4.3":0.0347,"4.4":0,"4.4.3-4.4.4":0.08124},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.28544,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.04671},Q:{"10.4":0.03503},O:{"0":3.2932},H:{"0":3.95251},L:{"0":53.2404},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SC.js b/node_modules/caniuse-lite/data/regions/SC.js new file mode 100644 index 00000000..70421752 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SC.js @@ -0,0 +1 @@ +module.exports={C:{"5":0.00877,"36":0.00438,"38":0.01315,"40":0.00877,"45":0.0263,"47":0.00438,"48":0.0263,"49":0.00438,"50":0.01754,"51":0.02192,"52":0.07891,"53":0.01315,"54":0.02192,"55":0.01754,"56":0.0263,"57":0.01315,"58":0.03069,"59":0.09206,"60":0.04822,"61":0.06138,"62":0.03507,"63":0.09645,"64":0.00438,"65":0.01754,"66":0.00877,"67":0.01754,"68":0.05261,"69":0.00438,"70":0.00877,"71":0.00877,"72":0.0263,"73":0.01754,"75":0.05261,"76":0.00877,"77":0.00877,"78":1.73606,"79":0.00877,"80":0.00877,"81":0.03507,"82":0.08768,"83":0.0263,"84":0.03069,"86":0.03946,"87":0.03069,"88":0.0833,"89":0.07891,"90":1.16614,"91":1.69661,"92":0.0833,_:"2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 39 41 42 43 44 46 74 85 93 3.5 3.6"},D:{"24":0.00438,"25":0.0263,"31":0.00438,"37":0.00438,"40":0.00438,"41":0.00438,"42":0.00877,"43":0.02192,"45":0.00438,"46":0.01315,"47":0.01315,"49":0.84173,"51":0.00877,"53":0.01315,"54":0.02192,"55":0.0263,"56":0.01315,"57":0.02192,"58":0.01754,"60":0.01754,"61":0.02192,"62":0.01315,"63":0.03069,"64":0.02192,"65":0.02192,"66":0.04822,"67":0.06138,"68":0.07453,"69":0.04822,"70":0.1359,"71":0.21043,"72":0.84173,"73":0.18851,"74":0.03069,"75":0.07014,"76":0.0263,"77":0.01315,"78":0.01315,"79":0.17536,"80":0.09206,"81":0.06576,"83":0.23235,"84":0.04384,"85":0.60938,"86":1.32835,"87":1.25821,"88":0.18851,"89":0.80227,"90":0.30688,"91":0.87242,"92":15.29578,"93":0.01754,"94":0.00877,"95":0.00877,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 26 27 28 29 30 32 33 34 35 36 38 39 44 48 50 52 59 96"},F:{"36":0.00438,"40":0.00438,"42":0.00877,"43":0.00877,"46":0.00438,"48":0.00438,"49":0.00877,"50":0.00438,"52":0.01754,"53":0.03946,"54":0.01754,"55":0.01754,"56":0.00877,"65":0.00877,"66":0.00438,"67":0.00877,"68":0.00877,"69":0.26304,"70":0.03507,"74":0.07453,"77":0.66637,"78":0.15344,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 44 45 47 51 57 58 60 62 63 64 71 72 73 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.01645,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00165,"5.0-5.1":0.00165,"6.0-6.1":0.00165,"7.0-7.1":0.02221,"8.1-8.4":0,"9.0-9.2":0.0074,"9.3":0.04607,"10.0-10.2":0.00329,"10.3":0.03785,"11.0-11.2":0.02468,"11.3-11.4":0.00905,"12.0-12.1":0.0181,"12.2-12.4":0.09132,"13.0-13.1":0.20733,"13.2":0.01481,"13.3":0.17359,"13.4-13.7":0.46813,"14.0-14.4":1.43564,"14.5-14.7":5.36577},E:{"4":0,"8":0.00877,"10":0.00438,"11":0.01754,"12":0.03069,"13":0.10522,"14":0.51731,"15":0.05261,_:"0 5 6 7 9 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.02192,"11.1":0.04384,"12.1":0.14029,"13.1":0.32003,"14.1":1.46864},B:{"12":0.05699,"13":0.03069,"14":0.03946,"15":0.03946,"16":0.06576,"17":0.03507,"18":0.20605,"79":0.01754,"80":0.01754,"81":0.02192,"83":0.04822,"84":0.35949,"85":0.03946,"86":0.03507,"87":0.02192,"88":0.0263,"89":0.03946,"90":0.01315,"91":0.09206,"92":3.38006,_:"93"},P:{"4":0.04063,"5.0-5.4":0.05078,"6.2-6.4":0.02137,"7.2-7.4":0.91407,"8.2":0.12445,"9.2":0.17266,"10.1":0.04063,"11.1-11.2":0.25391,"12.0":0.7922,"13.0":0.48751,"14.0":2.67113},I:{"0":0,"3":0,"4":0.00143,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00072,"4.2-4.3":0.00358,"4.4":0,"4.4.3-4.4.4":0.02796},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01059,"9":0.01059,"11":0.6408,_:"6 7 10 5.5"},J:{"7":0,"10":0.08986},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.8761},Q:{"10.4":0},O:{"0":3.86381},H:{"0":0.90918},L:{"0":40.12254},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SD.js b/node_modules/caniuse-lite/data/regions/SD.js new file mode 100644 index 00000000..9e4e3053 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SD.js @@ -0,0 +1 @@ +module.exports={C:{"3":0.00312,"21":0.00104,"23":0.00208,"28":0.00208,"29":0.00104,"30":0.00624,"31":0.00104,"32":0.00208,"33":0.00312,"34":0.0052,"35":0.0052,"36":0.00104,"37":0.00208,"38":0.0052,"39":0.00208,"40":0.00312,"41":0.00728,"42":0.00104,"43":0.00624,"44":0.01144,"45":0.0052,"47":0.01352,"48":0.00624,"49":0.00416,"50":0.00312,"51":0.00312,"52":0.026,"53":0.00104,"56":0.0052,"57":0.00208,"58":0.00208,"60":0.00104,"62":0.00104,"63":0.00104,"65":0.00312,"66":0.0052,"68":0.00416,"69":0.00104,"70":0.00104,"72":0.0156,"74":0.00104,"77":0.00208,"78":0.02912,"80":0.00208,"81":0.00312,"82":0.00208,"83":0.00208,"84":0.00312,"85":0.00728,"86":0.00728,"87":0.00728,"88":0.02704,"89":0.14248,"90":0.6604,"91":0.74464,"92":0.01352,_:"2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 24 25 26 27 46 54 55 59 61 64 67 71 73 75 76 79 93 3.5 3.6"},D:{"11":0.00208,"26":0.00312,"27":0.00104,"28":0.00208,"29":0.00624,"31":0.00208,"33":0.00832,"35":0.00104,"37":0.00416,"38":0.00312,"40":0.00624,"43":0.02392,"44":0.00104,"47":0.00312,"48":0.01768,"49":0.00416,"50":0.00312,"51":0.00312,"52":0.00208,"53":0.00208,"54":0.00208,"55":0.00936,"56":0.01976,"57":0.01144,"58":0.00832,"59":0.00208,"61":0.05512,"62":0.00104,"63":0.02184,"64":0.00624,"65":0.00208,"66":0.00208,"67":0.0052,"68":0.00936,"69":0.05616,"70":0.00624,"71":0.0052,"72":0.00312,"73":0.00104,"74":0.00728,"75":0.00936,"76":0.00416,"77":0.00416,"78":0.01768,"79":0.03536,"80":0.02496,"81":0.02288,"83":0.01976,"84":0.0104,"85":0.0416,"86":0.0676,"87":0.05096,"88":0.04056,"89":0.03848,"90":0.06968,"91":0.32344,"92":3.84072,"93":0.01664,"94":0.00416,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 30 32 34 36 39 41 42 45 46 60 95 96"},F:{"18":0.0052,"36":0.00104,"51":0.00104,"60":0.06656,"62":0.00104,"65":0.00208,"70":0.0104,"71":0.0052,"72":0.00312,"73":0.00104,"74":0.00208,"75":0.01976,"76":0.00416,"77":0.43368,"78":0.16328,_:"9 11 12 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 52 53 54 55 56 57 58 63 64 66 67 68 69 9.5-9.6 10.5 10.6 11.1 11.6 12.1","10.0-10.1":0,"11.5":0.00312},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00137,"5.0-5.1":0.00092,"6.0-6.1":0.00092,"7.0-7.1":0.00962,"8.1-8.4":0,"9.0-9.2":0.00458,"9.3":0.03023,"10.0-10.2":0.00733,"10.3":0.04718,"11.0-11.2":0.08291,"11.3-11.4":0.06138,"12.0-12.1":0.05863,"12.2-12.4":0.17452,"13.0-13.1":0.05909,"13.2":0.13467,"13.3":0.10123,"13.4-13.7":0.2194,"14.0-14.4":1.50194,"14.5-14.7":1.6705},E:{"4":0,"10":0.00312,"12":0.0052,"13":0.0052,"14":0.07592,_:"0 5 6 7 8 9 11 15 3.1 3.2 6.1 7.1","5.1":0.04368,"9.1":0.01456,"10.1":0.00104,"11.1":0.02392,"12.1":0.01664,"13.1":0.05616,"14.1":0.09984},B:{"12":0.0312,"13":0.00832,"14":0.0156,"15":0.0052,"16":0.01248,"17":0.01768,"18":0.07176,"81":0.00208,"83":0.00104,"84":0.0104,"85":0.00624,"86":0.01352,"87":0.00208,"88":0.00312,"89":0.02392,"90":0.02392,"91":0.06344,"92":0.598,_:"79 80 93"},P:{"4":1.39585,"5.0-5.4":0.06069,"6.2-6.4":0.12138,"7.2-7.4":0.43494,"8.2":0.01011,"9.2":0.18207,"10.1":0.05057,"11.1-11.2":0.4754,"12.0":0.12138,"13.0":0.40459,"14.0":1.28459},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00147,"4.2-4.3":0.01436,"4.4":0,"4.4.3-4.4.4":0.11857},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00596,"11":0.435,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.17024},Q:{"10.4":0.00896},O:{"0":1.568},H:{"0":7.26123},L:{"0":72.05544},S:{"2.5":0.03584}}; diff --git a/node_modules/caniuse-lite/data/regions/SE.js b/node_modules/caniuse-lite/data/regions/SE.js new file mode 100644 index 00000000..61598b8f --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01886,"36":0.01415,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00472,"49":0,"50":0,"51":0,"52":0.02358,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.00472,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00472,"69":0,"70":0,"71":0,"72":0.00472,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.05659,"79":0,"80":0.00472,"81":0,"82":0,"83":0.00472,"84":0.01415,"85":0.00472,"86":0.00472,"87":0.00943,"88":0.0283,"89":0.04716,"90":0.5612,"91":0.80644,"92":0.01415,"93":0.00472,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00943,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.04244,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00472,"59":0,"60":0,"61":0.01415,"62":0,"63":0.00472,"64":0,"65":0.00943,"66":0.02358,"67":0.00943,"68":0.00472,"69":0.11318,"70":0.00472,"71":0.00472,"72":0.00472,"73":0.00472,"74":0.00472,"75":0.03301,"76":0.01886,"77":0.00943,"78":0.00943,"79":0.03773,"80":0.01886,"81":0.01886,"83":0.01415,"84":0.01415,"85":0.36313,"86":0.03301,"87":0.13205,"88":0.12733,"89":0.08017,"90":0.38671,"91":1.0611,"92":10.33276,"93":0.01886,"94":0.00472,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00472,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00472,"60":0,"62":0,"63":0,"64":0.00472,"65":0.00472,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00472,"76":0.00472,"77":0.34898,"78":0.35842,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.01645,"8.1-8.4":0.02879,"9.0-9.2":0.01645,"9.3":0.20155,"10.0-10.2":0.01645,"10.3":0.31261,"11.0-11.2":0.0617,"11.3-11.4":0.11928,"12.0-12.1":0.10694,"12.2-12.4":0.33729,"13.0-13.1":0.08638,"13.2":0.04525,"13.3":0.28793,"13.4-13.7":0.85144,"14.0-14.4":3.91169,"14.5-14.7":33.14859},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00943,"13":0.05659,"14":0.49518,"15":0.00943,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01415,"11.1":0.04244,"12.1":0.07546,"13.1":0.27824,"14.1":2.17408},B:{"12":0,"13":0,"14":0.00472,"15":0.00472,"16":0.00472,"17":0.00472,"18":0.02358,"79":0,"80":0.00472,"81":0,"83":0.00472,"84":0.00943,"85":0.00943,"86":0.00943,"87":0.00943,"88":0.01415,"89":0.01886,"90":0.01886,"91":0.15091,"92":2.44289,"93":0.00472},P:{"4":0.10406,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.03122,"10.1":0.02081,"11.1-11.2":0.06244,"12.0":0.05203,"13.0":0.13528,"14.0":4.13137},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00604,"4.2-4.3":0.01208,"4.4":0,"4.4.3-4.4.4":0.08659},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.18864,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.428},Q:{"10.4":0},O:{"0":0.03699},H:{"0":0.45023},L:{"0":30.41306},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SG.js b/node_modules/caniuse-lite/data/regions/SG.js new file mode 100644 index 00000000..c5999cb1 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SG.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01317,"36":0.01317,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00329,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00329,"62":0,"63":0.00329,"64":0,"65":0,"66":0,"67":0,"68":0.00659,"69":0,"70":0.00988,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01647,"79":0,"80":0,"81":0,"82":0.00329,"83":0,"84":0.00329,"85":0,"86":0.00329,"87":0.00329,"88":0.00988,"89":0.01317,"90":0.22722,"91":0.30296,"92":0.00329,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00329,"23":0,"24":0,"25":0,"26":0.00329,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01647,"35":0,"36":0,"37":0,"38":0.0461,"39":0,"40":0,"41":0.00329,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00988,"48":0,"49":0.05269,"50":0,"51":0,"52":0,"53":0.01317,"54":0,"55":0.00329,"56":0.00329,"57":0.00329,"58":0.00329,"59":0,"60":0,"61":0.00988,"62":0.00329,"63":0,"64":0.01317,"65":0.00988,"66":0.00329,"67":0.00659,"68":0.00329,"69":0.00329,"70":0.01647,"71":0.00329,"72":0.01317,"73":0.00659,"74":0.00329,"75":0.00659,"76":0.00329,"77":0.00659,"78":0.00659,"79":0.12184,"80":0.02305,"81":0.02305,"83":0.01647,"84":0.01976,"85":0.01976,"86":0.02305,"87":0.0922,"88":0.03293,"89":0.02964,"90":0.06586,"91":0.43468,"92":5.94716,"93":0.00659,"94":0.00329,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00329,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00659,"37":0.00659,"38":0,"39":0,"40":0.00329,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00988,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0461,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.07903,"78":0.0494,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01122,"6.0-6.1":0.02468,"7.0-7.1":0.03591,"8.1-8.4":0.03591,"9.0-9.2":0.01795,"9.3":0.25134,"10.0-10.2":0.03591,"10.3":0.17055,"11.0-11.2":0.07854,"11.3-11.4":0.08303,"12.0-12.1":0.09649,"12.2-12.4":0.25358,"13.0-13.1":0.05835,"13.2":0.02917,"13.3":0.17504,"13.4-13.7":0.56999,"14.0-14.4":2.14308,"14.5-14.7":17.64061},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00329,"12":0.00329,"13":0.02634,"14":0.20417,"15":0.00659,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00329,"10.1":0.00659,"11.1":0.01317,"12.1":0.01647,"13.1":0.11526,"14.1":1.0834},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00329,"18":0.01317,"79":0,"80":0,"81":0,"83":0,"84":0.00329,"85":0,"86":0.00329,"87":0,"88":0,"89":0.00329,"90":0.00329,"91":0.01976,"92":0.69482,"93":0},P:{"4":0.57405,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.01044,"10.1":0.01044,"11.1-11.2":0.04175,"12.0":0.04175,"13.0":0.10437,"14.0":2.75545},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":4.66691,"4.4":0,"4.4.3-4.4.4":23.33456},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00545,"10":0,"11":0.15261,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.36218},Q:{"10.4":0.05366},O:{"0":0.6707},H:{"0":0.59688},L:{"0":27.89169},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SH.js b/node_modules/caniuse-lite/data/regions/SH.js new file mode 100644 index 00000000..0b880d37 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SH.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0.74609,"91":3.22073,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.25116,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.25116,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":2.97696,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":25.03454,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":11.15437,"78":3.71566,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.36342,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":2.54479,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0.36342,"14.0-14.4":0,"14.5-14.7":1.09068},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0.25116,"14.1":0},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":2.97696,"93":0},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0,"12.0":0,"13.0":0,"14.0":0.69767},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":1.97972,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":41.88659},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SI.js b/node_modules/caniuse-lite/data/regions/SI.js new file mode 100644 index 00000000..302f756b --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SI.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00569,"36":0.00569,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00569,"49":0,"50":0,"51":0,"52":0.12509,"53":0.00569,"54":0,"55":0,"56":0,"57":0.01137,"58":0,"59":0,"60":0.01137,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00569,"67":0.00569,"68":0.02843,"69":0,"70":0,"71":0.00569,"72":0.01137,"73":0,"74":0.00569,"75":0,"76":0.00569,"77":0,"78":0.27293,"79":0,"80":0,"81":0,"82":0.00569,"83":0.02274,"84":0.01706,"85":0.01706,"86":0.01137,"87":0.02843,"88":0.07392,"89":0.17627,"90":1.67737,"91":2.52458,"92":0.01137,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00569,"48":0,"49":0.14784,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00569,"57":0,"58":0.00569,"59":0,"60":0,"61":0,"62":0.01137,"63":0.00569,"64":0,"65":0,"66":0.00569,"67":0.01137,"68":0.00569,"69":0.00569,"70":0.01137,"71":0,"72":0,"73":0.00569,"74":0,"75":0.01706,"76":0.00569,"77":0.01137,"78":0.01137,"79":0.04549,"80":0.03412,"81":0.01706,"83":0.01706,"84":0.01706,"85":0.01706,"86":0.02843,"87":0.12509,"88":0.0398,"89":0.05117,"90":0.10235,"91":0.74487,"92":17.84835,"93":0.00569,"94":0.83016,"95":0.02843,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00569,"47":0,"48":0,"49":0,"50":0,"51":0.00569,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00569,"77":1.12014,"78":0.6482,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00293,"6.0-6.1":0.00293,"7.0-7.1":0.00731,"8.1-8.4":0.00731,"9.0-9.2":0,"9.3":0.13164,"10.0-10.2":0.01024,"10.3":0.09946,"11.0-11.2":0.04242,"11.3-11.4":0.04973,"12.0-12.1":0.1214,"12.2-12.4":0.09068,"13.0-13.1":0.03657,"13.2":0.02486,"13.3":0.11555,"13.4-13.7":0.45195,"14.0-14.4":1.81218,"14.5-14.7":11.27531},E:{"4":0.00569,"5":0.00569,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00569,"13":0.01706,"14":0.2047,"15":0.01137,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00569,"10.1":0.01137,"11.1":0.01706,"12.1":0.02274,"13.1":0.13078,"14.1":0.93819},B:{"12":0,"13":0,"14":0,"15":0.00569,"16":0.01137,"17":0.00569,"18":0.01706,"79":0,"80":0,"81":0,"83":0,"84":0.00569,"85":0.00569,"86":0.00569,"87":0.00569,"88":0.00569,"89":0.01137,"90":0.00569,"91":0.07392,"92":2.48478,"93":0.00569},P:{"4":0.11193,"5.0-5.4":0.01018,"6.2-6.4":0,"7.2-7.4":0.01018,"8.2":0,"9.2":0.02035,"10.1":0.01018,"11.1-11.2":0.11193,"12.0":0.0814,"13.0":0.2035,"14.0":3.16448},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02081,"4.2-4.3":0.00624,"4.4":0,"4.4.3-4.4.4":0.09157},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.49468,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.40983},Q:{"10.4":0},O:{"0":0.01294},H:{"0":0.2328},L:{"0":46.65675},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SK.js b/node_modules/caniuse-lite/data/regions/SK.js new file mode 100644 index 00000000..6699c01c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SK.js @@ -0,0 +1 @@ +module.exports={C:{"33":0.00969,"48":0.00969,"52":0.19376,"56":0.00969,"64":0.00484,"65":0.00969,"66":0.00969,"68":0.02906,"72":0.00969,"77":0.00969,"78":0.17923,"81":0.00969,"82":0.00484,"84":0.01453,"85":0.01938,"86":0.01938,"87":0.02422,"88":0.05813,"89":0.18407,"90":2.50919,"91":3.72019,"92":0.01938,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 59 60 61 62 63 67 69 70 71 73 74 75 76 79 80 83 93 3.5 3.6"},D:{"34":0.01453,"38":0.03875,"43":0.01453,"47":0.00969,"49":0.38268,"53":0.06297,"56":0.00484,"58":0.00484,"59":0.01453,"63":0.06297,"67":0.00969,"68":0.00969,"69":0.01938,"70":0.00969,"71":0.00969,"72":0.00969,"73":0.00484,"75":0.01938,"76":0.00484,"77":0.01453,"78":0.01938,"79":0.26158,"80":0.01938,"81":0.06782,"83":0.02422,"84":0.02906,"85":0.03391,"86":0.06297,"87":0.14532,"88":0.04844,"89":0.13079,"90":0.24704,"91":1.24975,"92":26.84545,"93":0.01938,"94":0.00484,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 44 45 46 48 50 51 52 54 55 57 60 61 62 64 65 66 74 95 96"},F:{"28":0.00484,"36":0.01453,"40":0.00484,"46":0.00969,"65":0.00969,"69":0.00969,"72":0.00484,"73":0.00969,"75":0.00484,"77":1.79712,"78":1.31272,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 70 71 74 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.02422},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01469,"6.0-6.1":0,"7.0-7.1":0.01049,"8.1-8.4":0,"9.0-9.2":0.0021,"9.3":0.08183,"10.0-10.2":0.01049,"10.3":0.09862,"11.0-11.2":0.01574,"11.3-11.4":0.04721,"12.0-12.1":0.02098,"12.2-12.4":0.0577,"13.0-13.1":0.01469,"13.2":0.02098,"13.3":0.07553,"13.4-13.7":0.21297,"14.0-14.4":1.03651,"14.5-14.7":8.43999},E:{"4":0.00484,"12":0.00484,"13":0.03391,"14":0.42143,"15":0.01453,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.01938,"12.1":0.0436,"13.1":0.18892,"14.1":1.7729},B:{"12":0.01453,"15":0.00969,"16":0.00484,"17":0.00969,"18":0.0775,"84":0.00969,"85":0.00969,"86":0.00969,"87":0.00484,"88":0.00484,"89":0.0436,"90":0.02906,"91":0.1211,"92":3.75894,_:"13 14 79 80 81 83 93"},P:{"4":0.40538,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.01039,"10.1":0.01044,"11.1-11.2":0.08315,"12.0":0.02079,"13.0":0.12473,"14.0":2.41146},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00355,"4.2-4.3":0.01065,"4.4":0,"4.4.3-4.4.4":0.08375},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.43596,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.3093},Q:{"10.4":0.00516},O:{"0":0.07217},H:{"0":0.58077},L:{"0":37.73012},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SL.js b/node_modules/caniuse-lite/data/regions/SL.js new file mode 100644 index 00000000..703e37dc --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SL.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.003,"16":0,"17":0.003,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.003,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.003,"34":0,"35":0.012,"36":0.003,"37":0,"38":0.003,"39":0,"40":0,"41":0,"42":0,"43":0.003,"44":0,"45":0.003,"46":0,"47":0.003,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.01801,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.003,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.006,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0.003,"88":0.009,"89":0.02101,"90":0.15305,"91":0.21307,"92":0.02101,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.003,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.003,"27":0,"28":0,"29":0.003,"30":0,"31":0,"32":0,"33":0.02401,"34":0,"35":0,"36":0,"37":0.003,"38":0.003,"39":0,"40":0.003,"41":0,"42":0.003,"43":0.003,"44":0,"45":0,"46":0,"47":0,"48":0.003,"49":0.009,"50":0,"51":0,"52":0,"53":0.003,"54":0,"55":0.003,"56":0,"57":0,"58":0.003,"59":0,"60":0.003,"61":0,"62":0,"63":0.006,"64":0.003,"65":0.003,"66":0,"67":0.003,"68":0.003,"69":0.003,"70":0.009,"71":0,"72":0.003,"73":0.003,"74":0,"75":0.03901,"76":0.009,"77":0.012,"78":0,"79":0.009,"80":0.012,"81":0.02401,"83":0.009,"84":0.006,"85":0.006,"86":0.006,"87":0.012,"88":0.012,"89":0.01801,"90":0.03901,"91":0.26409,"92":3.31911,"93":0.03301,"94":0.003,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.006,"17":0,"18":0,"19":0,"20":0.03001,"21":0,"22":0,"23":0.003,"24":0,"25":0,"26":0,"27":0,"28":0.003,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.003,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.006,"43":0.003,"44":0,"45":0,"46":0.003,"47":0,"48":0,"49":0,"50":0.05402,"51":0.003,"52":0,"53":0.003,"54":0.009,"55":0.12304,"56":0.009,"57":0.02101,"58":0.18006,"60":0.003,"62":0.006,"63":0.003,"64":0.006,"65":0.006,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.003,"75":0.003,"76":0.003,"77":0.23108,"78":0.28209,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.37212},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01255,"6.0-6.1":0,"7.0-7.1":0.08784,"8.1-8.4":0.00579,"9.0-9.2":0.00097,"9.3":0.12838,"10.0-10.2":0.00193,"10.3":0.10039,"11.0-11.2":0.01931,"11.3-11.4":0.05985,"12.0-12.1":0.05405,"12.2-12.4":0.35232,"13.0-13.1":0.07046,"13.2":0.05888,"13.3":0.20463,"13.4-13.7":0.51062,"14.0-14.4":3.6197,"14.5-14.7":3.77318},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.03301,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.02401,"6.1":0,"7.1":0,"9.1":0,"10.1":0.003,"11.1":0.012,"12.1":0.02401,"13.1":0.01801,"14.1":0.15005},B:{"12":0.01801,"13":0.01801,"14":0.012,"15":0.01801,"16":0.012,"17":0.003,"18":0.04802,"79":0,"80":0,"81":0,"83":0.003,"84":0.009,"85":0.006,"86":0,"87":0,"88":0,"89":0.01801,"90":0.006,"91":0.08703,"92":0.76526,"93":0.003},P:{"4":0.10531,"5.0-5.4":0.02106,"6.2-6.4":0.02106,"7.2-7.4":0.08425,"8.2":0,"9.2":0.02106,"10.1":0.02106,"11.1-11.2":0.11584,"12.0":0.01053,"13.0":0.10531,"14.0":0.61081},I:{"0":0,"3":0,"4":0.00259,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00259,"4.2-4.3":0.00778,"4.4":0,"4.4.3-4.4.4":0.11805},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.00794,"11":0.1271,"5.5":0},J:{"7":0,"10":0.021},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.15398},Q:{"10.4":0.007},O:{"0":2.44965},H:{"0":15.25351},L:{"0":58.20684},S:{"2.5":0.06999}}; diff --git a/node_modules/caniuse-lite/data/regions/SM.js b/node_modules/caniuse-lite/data/regions/SM.js new file mode 100644 index 00000000..81d93a46 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SM.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00655,"36":0.01311,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.02622,"53":0,"54":0,"55":0,"56":0.01966,"57":0,"58":0,"59":0,"60":0.00655,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.09831,"79":0,"80":0,"81":0,"82":0,"83":0.0852,"84":0.01311,"85":0,"86":0,"87":0.00655,"88":0.03277,"89":0.12453,"90":1.58607,"91":2.17593,"92":0.01311,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00655,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.0852,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00655,"65":0.02622,"66":0.00655,"67":0.01311,"68":0,"69":0,"70":0,"71":0,"72":0.00655,"73":0,"74":0,"75":0,"76":0.00655,"77":0.04588,"78":0,"79":0.01966,"80":0,"81":0.03277,"83":0,"84":0,"85":0.00655,"86":0.01966,"87":0.01311,"88":0.10486,"89":0.01311,"90":0.03932,"91":0.36702,"92":20.7303,"93":0.01311,"94":0.00655,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00655,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.11142,"78":0.0852,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.95193,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.32547,"10.0-10.2":0.0035,"10.3":0.34822,"11.0-11.2":0.01575,"11.3-11.4":0.15574,"12.0-12.1":0.021,"12.2-12.4":0.01225,"13.0-13.1":0.0385,"13.2":0,"13.3":0.15574,"13.4-13.7":0.22048,"14.0-14.4":1.66237,"14.5-14.7":11.69784},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00655,"13":0.03932,"14":1.17317,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01311,"10.1":0.01311,"11.1":0.23594,"12.1":0.20317,"13.1":0.45878,"14.1":7.79926},B:{"12":0.02622,"13":0,"14":0,"15":0,"16":0.00655,"17":0,"18":0.00655,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0.01966,"92":3.9324,"93":0},P:{"4":0.03155,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.04206,"12.0":0,"13.0":0.03155,"14.0":2.46069},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.0147,"4.4":0,"4.4.3-4.4.4":0.33801},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.01311,"10":0,"11":0.11142,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.05169},Q:{"10.4":0},O:{"0":0},H:{"0":0.06199},L:{"0":39.21104},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SN.js b/node_modules/caniuse-lite/data/regions/SN.js new file mode 100644 index 00000000..dada0d66 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SN.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00245,"33":0,"34":0,"35":0.0098,"36":0.00735,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00245,"43":0.00245,"44":0,"45":0.00245,"46":0,"47":0,"48":0.00245,"49":0,"50":0,"51":0,"52":0.0049,"53":0.00245,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00245,"65":0,"66":0,"67":0.00245,"68":0.00735,"69":0,"70":0.0098,"71":0,"72":0.00245,"73":0,"74":0,"75":0,"76":0.00245,"77":0,"78":0.02205,"79":0,"80":0.0147,"81":0.0049,"82":0,"83":0,"84":0.0049,"85":0.00735,"86":0.00245,"87":0,"88":0.01225,"89":0.0343,"90":0.2254,"91":0.2842,"92":0.00245,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00245,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00245,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00245,"41":0,"42":0.00245,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01715,"50":0.0049,"51":0,"52":0,"53":0,"54":0,"55":0.00245,"56":0,"57":0,"58":0,"59":0.00245,"60":0.00245,"61":0,"62":0,"63":0.00245,"64":0.00245,"65":0.0049,"66":0.05635,"67":0.00245,"68":0,"69":0.00735,"70":0.00245,"71":0,"72":0.00245,"73":0.00245,"74":0.0098,"75":0.0049,"76":0.0049,"77":0.00245,"78":0,"79":0.0098,"80":0.0049,"81":0.02205,"83":0.0049,"84":0.00245,"85":0.0098,"86":0.00735,"87":0.0245,"88":0.0147,"89":0.0147,"90":0.02205,"91":0.12005,"92":2.85425,"93":0.00245,"94":0.00245,"95":0.00245,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00245,"56":0,"57":0.00245,"58":0.0245,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00245,"77":0.0784,"78":0.0539,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.01403,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00351,"6.0-6.1":0,"7.0-7.1":0.07893,"8.1-8.4":0.00877,"9.0-9.2":0.00702,"9.3":0.15962,"10.0-10.2":0.00702,"10.3":0.36484,"11.0-11.2":0.18242,"11.3-11.4":0.13155,"12.0-12.1":0.107,"12.2-12.4":0.328,"13.0-13.1":0.08419,"13.2":0.05087,"13.3":0.28415,"13.4-13.7":0.64724,"14.0-14.4":3.48176,"14.5-14.7":10.56454},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00245,"11":0.00245,"12":0.00245,"13":0.00245,"14":0.0245,"15":0.00245,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00245,"10.1":0.0049,"11.1":0.00735,"12.1":0.00735,"13.1":0.0196,"14.1":0.08575},B:{"12":0.00735,"13":0.00245,"14":0.00245,"15":0.0049,"16":0.00245,"17":0.00245,"18":0.0196,"79":0,"80":0,"81":0,"83":0,"84":0.00245,"85":0.00245,"86":0.0049,"87":0,"88":0,"89":0.0049,"90":0.00245,"91":0.0196,"92":0.4361,"93":0},P:{"4":0.38512,"5.0-5.4":0.01013,"6.2-6.4":0.0304,"7.2-7.4":0.4358,"8.2":0.01013,"9.2":0.13175,"10.1":0.0304,"11.1-11.2":0.45607,"12.0":0.16216,"13.0":0.33445,"14.0":2.05738},I:{"0":0,"3":0,"4":0.00355,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01634,"4.2-4.3":0.0135,"4.4":0,"4.4.3-4.4.4":0.14355},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.07105,"5.5":0},J:{"7":0,"10":0.0151},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.1963},Q:{"10.4":0},O:{"0":0.1208},H:{"0":0.5075},L:{"0":72.1776},S:{"2.5":0.02265}}; diff --git a/node_modules/caniuse-lite/data/regions/SO.js b/node_modules/caniuse-lite/data/regions/SO.js new file mode 100644 index 00000000..a4dbd4f2 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SO.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00237,"36":0.00237,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00237,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00237,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0.00237,"88":0,"89":0.00946,"90":0.05915,"91":0.07808,"92":0.00473,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00473,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00237,"34":0,"35":0,"36":0,"37":0,"38":0.00237,"39":0,"40":0.0071,"41":0,"42":0,"43":0.00473,"44":0,"45":0.00237,"46":0,"47":0,"48":0,"49":0,"50":0.00237,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00473,"64":0.00237,"65":0,"66":0,"67":0.00237,"68":0.00473,"69":0.00237,"70":0.0142,"71":0,"72":0.00237,"73":0,"74":0.01893,"75":0,"76":0,"77":0,"78":0.00473,"79":0.00946,"80":0.0142,"81":0.04259,"83":0.00237,"84":0.00237,"85":0.00473,"86":0.00946,"87":0.02603,"88":0.01656,"89":0.01893,"90":0.05205,"91":0.30285,"92":3.89917,"93":0.02839,"94":0.00473,"95":0.00237,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00473,"51":0.00237,"52":0,"53":0,"54":0.00237,"55":0,"56":0,"57":0,"58":0.04732,"60":0,"62":0,"63":0.00237,"64":0.01893,"65":0.01656,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00237,"77":0.07335,"78":0.07098,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00237},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0025,"6.0-6.1":0.00334,"7.0-7.1":0.00751,"8.1-8.4":0.005,"9.0-9.2":0,"9.3":0.05505,"10.0-10.2":0.00334,"10.3":0.07173,"11.0-11.2":0.02419,"11.3-11.4":0.02252,"12.0-12.1":0.03003,"12.2-12.4":0.19351,"13.0-13.1":0.05755,"13.2":0.02002,"13.3":0.20519,"13.4-13.7":0.44458,"14.0-14.4":2.29048,"14.5-14.7":4.21979},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.03076,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00473,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00237,"12.1":0.00237,"13.1":0.20111,"14.1":0.05442},B:{"12":0.00473,"13":0.00237,"14":0.00237,"15":0,"16":0.00237,"17":0.00237,"18":0.03549,"79":0,"80":0,"81":0,"83":0,"84":0.00473,"85":0.00237,"86":0,"87":0,"88":0,"89":0.00946,"90":0.0071,"91":0.01656,"92":0.35963,"93":0},P:{"4":0.68778,"5.0-5.4":0.06069,"6.2-6.4":0.15172,"7.2-7.4":1.07212,"8.2":0,"9.2":0.11126,"10.1":0.04046,"11.1-11.2":0.65743,"12.0":0.16183,"13.0":0.65743,"14.0":1.96219},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00983,"4.2-4.3":0.02294,"4.4":0,"4.4.3-4.4.4":0.25562},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.03786,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.05344},Q:{"10.4":0},O:{"0":2.59556},H:{"0":5.73131},L:{"0":68.62759},S:{"2.5":0.00763}}; diff --git a/node_modules/caniuse-lite/data/regions/SR.js b/node_modules/caniuse-lite/data/regions/SR.js new file mode 100644 index 00000000..4ade3eaa --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00654,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00327,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0.00327,"87":0,"88":0.00654,"89":0.01961,"90":0.33671,"91":0.39882,"92":0.00327,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00327,"38":0.00654,"39":0.00327,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.07846,"50":0,"51":0,"52":0,"53":0.00654,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00327,"62":0,"63":0.00654,"64":0,"65":0.01308,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.00981,"75":0.00327,"76":0.01308,"77":0,"78":0.00654,"79":0.00981,"80":0.01961,"81":0.0523,"83":0.00981,"84":0.00327,"85":0.00327,"86":0.00327,"87":0.02615,"88":0.01308,"89":0.00981,"90":0.03923,"91":0.41843,"92":6.1686,"93":0.01961,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.00654,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01308,"60":0,"62":0,"63":0.00654,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00327,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.10134,"78":0.06538,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.06126,"6.0-6.1":0.00146,"7.0-7.1":0.03209,"8.1-8.4":0,"9.0-9.2":0.00146,"9.3":0.31653,"10.0-10.2":0,"10.3":0.35299,"11.0-11.2":0.08314,"11.3-11.4":0.03647,"12.0-12.1":0.04668,"12.2-12.4":0.15316,"13.0-13.1":0.82267,"13.2":0.00438,"13.3":0.13274,"13.4-13.7":0.26256,"14.0-14.4":1.86414,"14.5-14.7":9.08296},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00327,"14":0.07192,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00327,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.06211,"12.1":0.00981,"13.1":0.01961,"14.1":0.26479},B:{"12":0.0425,"13":0,"14":0,"15":0,"16":0.00327,"17":0.00981,"18":0.03269,"79":0,"80":0,"81":0,"83":0,"84":0.00327,"85":0,"86":0,"87":0,"88":0,"89":0.00327,"90":0.00327,"91":0.02288,"92":1.17684,"93":0},P:{"4":1.40496,"5.0-5.4":0.01041,"6.2-6.4":0.03122,"7.2-7.4":0.61402,"8.2":0.03122,"9.2":0.16651,"10.1":0.04163,"11.1-11.2":0.7389,"12.0":0.79094,"13.0":0.83257,"14.0":7.47228},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00465,"4.2-4.3":0.09991,"4.4":0,"4.4.3-4.4.4":0.39964},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.07519,"5.5":0},J:{"7":0,"10":0.00673},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.25578},Q:{"10.4":0.02019},O:{"0":0.68656},H:{"0":0.20392},L:{"0":58.41666},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/ST.js b/node_modules/caniuse-lite/data/regions/ST.js new file mode 100644 index 00000000..6c2fef77 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/ST.js @@ -0,0 +1 @@ +module.exports={C:{"43":0.01377,"85":0.02754,"86":0.00459,"88":0.01377,"89":0.0459,"90":0.14688,"91":0.62883,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 92 93 3.5 3.6"},D:{"12":0.00459,"35":0.01377,"40":0.02754,"42":0.00459,"43":0.28458,"55":0.01836,"57":0.01377,"63":0.00459,"64":0.06426,"65":0.03672,"67":0.01377,"69":0.02754,"72":0.03672,"77":0.00459,"79":0.15606,"81":0.16983,"83":0.07803,"86":0.00459,"87":0.00459,"88":0.14688,"89":0.01836,"90":0.2295,"91":1.37241,"92":26.54397,"93":0.02295,_:"4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 41 44 45 46 47 48 49 50 51 52 53 54 56 58 59 60 61 62 66 68 70 71 73 74 75 76 78 80 84 85 94 95 96"},F:{"77":0.70686,"78":0.35802,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.01483,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.08652,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":2.25192,"11.0-11.2":0.02966,"11.3-11.4":0.02966,"12.0-12.1":0.05933,"12.2-12.4":0.13101,"13.0-13.1":0,"13.2":0,"13.3":0.07169,"13.4-13.7":0.11865,"14.0-14.4":0.75888,"14.5-14.7":5.58161},E:{"4":0,"14":0.00459,_:"0 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 11.1 12.1 13.1","5.1":0.00459,"10.1":0.00459,"14.1":0.21573},B:{"12":0.02754,"14":0.05508,"15":0.01836,"18":0.09639,"83":0.05967,"85":0.00459,"87":0.00459,"89":0.07344,"90":0.07803,"91":0.11934,"92":4.27788,_:"13 16 17 79 80 81 84 86 88 93"},P:{"4":0.50851,"5.0-5.4":0.02079,"6.2-6.4":0.02137,"7.2-7.4":0.04151,"8.2":0.12445,"9.2":0.60579,"10.1":0.08315,"11.1-11.2":0.14529,"12.0":0.05189,"13.0":0.05189,"14.0":0.59154},I:{"0":0,"3":0,"4":0.00039,"2.1":0,"2.2":0,"2.3":0.00013,"4.1":0.00312,"4.2-4.3":0.00845,"4.4":0,"4.4.3-4.4.4":0.05825},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.08655,"11":0.92325,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.11904},Q:{"10.4":0},O:{"0":2.47824},H:{"0":0.53277},L:{"0":47.26449},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SV.js b/node_modules/caniuse-lite/data/regions/SV.js new file mode 100644 index 00000000..cc383995 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SV.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00442,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00883,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.26938,"67":0,"68":0.00883,"69":0,"70":0.01766,"71":0,"72":0.00442,"73":0.03091,"74":0.00442,"75":0,"76":0,"77":0,"78":0.01766,"79":0.00442,"80":0,"81":0,"82":0.00442,"83":0.00442,"84":0,"85":0.00442,"86":0.00442,"87":0.00883,"88":0.00883,"89":0.0265,"90":0.43718,"91":0.76397,"92":0.01766,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00442,"38":0.00442,"39":0,"40":0,"41":0,"42":0,"43":0.00442,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03974,"50":0,"51":0,"52":0,"53":0.00442,"54":0,"55":0.00883,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00442,"64":0,"65":0.00442,"66":0,"67":0.00883,"68":0.00442,"69":0.00442,"70":0.00883,"71":0.00442,"72":0.00442,"73":0.00442,"74":0.00442,"75":0.00883,"76":0.01325,"77":0.00442,"78":0.00883,"79":0.03974,"80":0.01766,"81":0.03533,"83":0.02208,"84":0.02208,"85":0.01766,"86":0.03974,"87":0.06624,"88":0.03533,"89":0.03974,"90":0.06624,"91":0.37094,"92":12.95654,"93":0.00883,"94":0.00442,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.00442,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00442,"56":0,"57":0.00442,"58":0.0265,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.37094,"78":0.36653,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00171,"3.2":0.00513,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00855,"6.0-6.1":0,"7.0-7.1":0.01368,"8.1-8.4":0.00171,"9.0-9.2":0.00342,"9.3":0.09403,"10.0-10.2":0.00171,"10.3":0.0436,"11.0-11.2":0.01026,"11.3-11.4":0.02223,"12.0-12.1":0.01624,"12.2-12.4":0.08035,"13.0-13.1":0.02393,"13.2":0.01368,"13.3":0.07522,"13.4-13.7":0.21114,"14.0-14.4":0.98988,"14.5-14.7":6.42652},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01325,"14":0.08832,"15":0.00442,_:"0","3.1":0,"3.2":0,"5.1":0.06182,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00442,"12.1":0.00883,"13.1":0.05299,"14.1":0.43277},B:{"12":0,"13":0,"14":0.00442,"15":0.00883,"16":0,"17":0.00442,"18":0.02208,"79":0,"80":0.00883,"81":0,"83":0,"84":0.00442,"85":0.00442,"86":0.00442,"87":0,"88":0,"89":0.00883,"90":0.00442,"91":0.01325,"92":1.07309,"93":0.00883},P:{"4":0.17445,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.18472,"8.2":0,"9.2":0.0821,"10.1":0.02052,"11.1-11.2":0.24629,"12.0":0.0821,"13.0":0.31812,"14.0":1.90873},I:{"0":0,"3":0,"4":0.0049,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0049,"4.2-4.3":0.03183,"4.4":0,"4.4.3-4.4.4":0.22527},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.07066,"5.5":0},J:{"7":0,"10":0.02792},N:{"10":0,"11":0},R:{_:"0"},M:{"0":1.12797},Q:{"10.4":0},O:{"0":0.15635},H:{"0":0.24318},L:{"0":67.03173},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SY.js b/node_modules/caniuse-lite/data/regions/SY.js new file mode 100644 index 00000000..9bc091ac --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SY.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00142,"31":0,"32":0,"33":0.00142,"34":0,"35":0.00142,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.0085,"53":0,"54":0,"55":0,"56":0.00283,"57":0,"58":0,"59":0,"60":0,"61":0.00142,"62":0,"63":0,"64":0,"65":0.00142,"66":0,"67":0,"68":0.01275,"69":0,"70":0,"71":0,"72":0.00142,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00283,"79":0,"80":0.00142,"81":0.00283,"82":0.00283,"83":0,"84":0.01275,"85":0.00142,"86":0.00283,"87":0.00142,"88":0.00709,"89":0.01417,"90":0.07794,"91":0.10628,"92":0.00425,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00142,"37":0,"38":0.00142,"39":0,"40":0.00425,"41":0,"42":0,"43":0.00142,"44":0.00142,"45":0,"46":0.00283,"47":0,"48":0,"49":0.01417,"50":0,"51":0,"52":0.00283,"53":0,"54":0,"55":0.00142,"56":0.00142,"57":0.00283,"58":0.00283,"59":0.00142,"60":0.00142,"61":0,"62":0.00142,"63":0.00283,"64":0.00142,"65":0.00142,"66":0.00142,"67":0,"68":0,"69":0.00142,"70":0.01842,"71":0.00142,"72":0.00142,"73":0.00142,"74":0.00142,"75":0.00142,"76":0.00283,"77":0,"78":0.00283,"79":0.01134,"80":0.00425,"81":0.04534,"83":0.00567,"84":0.00425,"85":0.00425,"86":0.00567,"87":0.03117,"88":0.01134,"89":0.00992,"90":0.02267,"91":0.07085,"92":1.11093,"93":0.00142,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00283,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00142,"47":0.00142,"48":0,"49":0,"50":0.00567,"51":0.00142,"52":0,"53":0,"54":0.00142,"55":0.00142,"56":0.00283,"57":0.00142,"58":0.02126,"60":0,"62":0,"63":0,"64":0.00142,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.00709,"75":0,"76":0,"77":0.03684,"78":0.02692,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00142},G:{"8":0.00038,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00305,"6.0-6.1":0.00687,"7.0-7.1":0.04005,"8.1-8.4":0.00305,"9.0-9.2":0.00343,"9.3":0.10184,"10.0-10.2":0.0206,"10.3":0.11328,"11.0-11.2":0.0309,"11.3-11.4":0.07476,"12.0-12.1":0.11214,"12.2-12.4":0.32765,"13.0-13.1":0.02899,"13.2":0.01602,"13.3":0.08277,"13.4-13.7":0.23801,"14.0-14.4":0.60113,"14.5-14.7":1.62641},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00142,"14":0.01275,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.03401,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00142,"12.1":0,"13.1":0.00283,"14.1":0.01275},B:{"12":0,"13":0,"14":0,"15":0.00142,"16":0.00142,"17":0.00142,"18":0.00283,"79":0,"80":0,"81":0,"83":0,"84":0.00142,"85":0.00142,"86":0,"87":0,"88":0,"89":0.00142,"90":0.00425,"91":0.00425,"92":0.07227,"93":0},P:{"4":2.09271,"5.0-5.4":0.09143,"6.2-6.4":0.1727,"7.2-7.4":0.43683,"8.2":0.06095,"9.2":0.32508,"10.1":0.24381,"11.1-11.2":0.39619,"12.0":0.27429,"13.0":0.83302,"14.0":2.85462},I:{"0":0,"3":0,"4":0.00344,"2.1":0,"2.2":0,"2.3":0,"4.1":0.03092,"4.2-4.3":0.05,"4.4":0,"4.4.3-4.4.4":0.2439},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00992,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.18024},Q:{"10.4":0},O:{"0":1.18445},H:{"0":1.30826},L:{"0":82.17409},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/SZ.js b/node_modules/caniuse-lite/data/regions/SZ.js new file mode 100644 index 00000000..6e74b67d --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/SZ.js @@ -0,0 +1 @@ +module.exports={C:{"47":0.0028,"52":0.01401,"56":0.0056,"60":0.11204,"61":0.0028,"63":0.03361,"68":0.01401,"75":0.0028,"78":0.03081,"80":0.03081,"81":0.0056,"83":0.0084,"84":0.0056,"85":0.0056,"87":0.0028,"88":0.01681,"89":0.07003,"90":0.40054,"91":0.45096,"92":0.0112,"93":0.0028,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 57 58 59 62 64 65 66 67 69 70 71 72 73 74 76 77 79 82 86 3.5 3.6"},D:{"37":0.0028,"39":0.0028,"40":0.0084,"46":0.0084,"48":0.0112,"49":0.0056,"53":0.01401,"57":0.0056,"64":0.02801,"65":0.04482,"68":0.0056,"69":0.0112,"70":0.06162,"71":0.0028,"73":0.0056,"74":0.02241,"75":0.0056,"76":0.0028,"77":0.0084,"78":0.01401,"79":0.01401,"80":0.01401,"81":0.02521,"83":0.02241,"84":0.01401,"85":0.03081,"86":0.01401,"87":0.53499,"88":0.01681,"89":0.06722,"90":0.10364,"91":0.75627,"92":12.41683,"93":0.08123,"94":0.02241,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 41 42 43 44 45 47 50 51 52 54 55 56 58 59 60 61 62 63 66 67 72 95 96"},F:{"34":0.0056,"36":0.0028,"40":0.01681,"41":0.0028,"42":0.01401,"64":0.0028,"65":0.0084,"71":0.0028,"72":0.0056,"75":0.0056,"76":0.01961,"77":0.68064,"78":0.51258,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 37 38 39 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 66 67 68 69 70 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00032,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00128,"5.0-5.1":0.00257,"6.0-6.1":0.02633,"7.0-7.1":0.00642,"8.1-8.4":0.00546,"9.0-9.2":0.00225,"9.3":0.02183,"10.0-10.2":0.00257,"10.3":0.03661,"11.0-11.2":0.00995,"11.3-11.4":0.01317,"12.0-12.1":0.01156,"12.2-12.4":0.3256,"13.0-13.1":0.00931,"13.2":0.00257,"13.3":0.02729,"13.4-13.7":0.1339,"14.0-14.4":0.81527,"14.5-14.7":1.59811},E:{"4":0,"11":0.0084,"13":0.0084,"14":0.07843,"15":0.0084,_:"0 5 6 7 8 9 10 12 3.1 3.2 6.1 9.1 10.1","5.1":0.03921,"7.1":0.0056,"11.1":0.0056,"12.1":0.0084,"13.1":0.01961,"14.1":0.22408},B:{"12":0.03641,"13":0.01961,"14":0.01961,"15":0.05602,"16":0.03081,"17":0.03361,"18":0.06722,"80":0.01681,"84":0.01401,"85":0.02241,"88":0.06162,"89":0.03081,"90":0.03361,"91":0.19607,"92":2.05593,_:"79 81 83 86 87 93"},P:{"4":0.53889,"5.0-5.4":0.06069,"6.2-6.4":0.0305,"7.2-7.4":0.67107,"8.2":0.01011,"9.2":0.04067,"10.1":0.01017,"11.1-11.2":0.25419,"12.0":0.10168,"13.0":0.27453,"14.0":1.85051},I:{"0":0,"3":0,"4":0.00097,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00129,"4.2-4.3":0.00323,"4.4":0,"4.4.3-4.4.4":0.09529},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.2913,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.0144},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.06479},Q:{"10.4":0},O:{"0":1.29582},H:{"0":19.77191},L:{"0":49.5967},S:{"2.5":0.23037}}; diff --git a/node_modules/caniuse-lite/data/regions/TC.js b/node_modules/caniuse-lite/data/regions/TC.js new file mode 100644 index 00000000..588b1b89 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TC.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.02709,"56":0.02258,"78":0.0587,"82":0.01355,"89":0.46053,"90":0.82173,"91":0.86688,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 83 84 85 86 87 88 92 93 3.5 3.6"},D:{"49":0.02709,"58":0.00903,"65":0.01355,"68":0.01355,"69":0.01806,"74":0.70434,"75":0.01806,"76":0.0903,"79":0.15803,"80":0.00903,"81":0.04064,"86":0.00903,"87":0.15803,"88":0.01355,"89":0.00903,"90":0.06321,"91":2.84445,"92":21.2792,"93":0.08127,"94":0.04967,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 59 60 61 62 63 64 66 67 70 71 72 73 77 78 83 84 85 95 96"},F:{"77":0.6321,"78":0.30251,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00579,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0492,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.01447,"9.0-9.2":0,"9.3":0.06077,"10.0-10.2":0,"10.3":0.0463,"11.0-11.2":0,"11.3-11.4":0.04052,"12.0-12.1":0.13023,"12.2-12.4":1.1981,"13.0-13.1":0.00868,"13.2":0.00289,"13.3":0.10129,"13.4-13.7":0.25177,"14.0-14.4":2.17626,"14.5-14.7":24.21085},E:{"4":0,"11":0.00903,"13":0.02709,"14":1.5035,"15":0.00452,_:"0 5 6 7 8 9 10 12 3.1 3.2 6.1 7.1","5.1":0.00903,"9.1":0.03161,"10.1":0.10836,"11.1":0.02709,"12.1":0.07224,"13.1":0.6908,"14.1":4.82202},B:{"12":0.00903,"14":0.01806,"15":0.00903,"17":0.69983,"18":0.14448,"81":0.01355,"84":0.04064,"89":0.00452,"91":0.19866,"92":4.98456,_:"13 16 79 80 83 85 86 87 88 90 93"},P:{"4":0.02105,"5.0-5.4":0.07196,"6.2-6.4":0.11308,"7.2-7.4":0.07366,"8.2":0.01052,"9.2":0.02105,"10.1":0.06129,"11.1-11.2":0.12628,"12.0":0.01052,"13.0":0.06314,"14.0":3.12539},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.0384},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.21221,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.29071},Q:{"10.4":0},O:{"0":0.01646},H:{"0":0.51409},L:{"0":24.02165},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TD.js b/node_modules/caniuse-lite/data/regions/TD.js new file mode 100644 index 00000000..3d8a8042 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TD.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.00389,"17":0,"18":0,"19":0.00195,"20":0.00195,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00195,"32":0,"33":0,"34":0,"35":0.00389,"36":0.00389,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.00195,"45":0.00195,"46":0,"47":0.00389,"48":0,"49":0,"50":0,"51":0,"52":0.00195,"53":0.00195,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00389,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00195,"79":0,"80":0,"81":0.00195,"82":0,"83":0.00195,"84":0,"85":0,"86":0.00195,"87":0,"88":0.00389,"89":0.0214,"90":0.11865,"91":0.14977,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00195,"29":0,"30":0,"31":0,"32":0,"33":0.00195,"34":0,"35":0,"36":0,"37":0.00389,"38":0.00195,"39":0,"40":0.00195,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00973,"50":0.00195,"51":0,"52":0,"53":0,"54":0,"55":0.00195,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00195,"67":0,"68":0.00973,"69":0,"70":0.00195,"71":0,"72":0.00195,"73":0,"74":0.00195,"75":0.01556,"76":0,"77":0.00389,"78":0,"79":0,"80":0.00195,"81":0.00584,"83":0.00389,"84":0,"85":0,"86":0.00584,"87":0.03112,"88":0.05057,"89":0.00584,"90":0.01556,"91":0.05252,"92":1.3615,"93":0,"94":0.00389,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00389,"29":0,"30":0.00195,"31":0.00195,"32":0,"33":0.00389,"34":0,"35":0,"36":0.00195,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00195,"43":0,"44":0,"45":0.00195,"46":0.00195,"47":0,"48":0,"49":0,"50":0,"51":0.00195,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00195,"58":0.00195,"60":0,"62":0.00195,"63":0.00195,"64":0.01556,"65":0.0389,"66":0,"67":0.00778,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00584,"74":0.00389,"75":0,"76":0.01167,"77":0.03696,"78":0.00389,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.0028,"8.1-8.4":0,"9.0-9.2":0.00672,"9.3":0.02463,"10.0-10.2":0.00895,"10.3":0.07836,"11.0-11.2":0.06268,"11.3-11.4":0.04198,"12.0-12.1":0.28152,"12.2-12.4":0.211,"13.0-13.1":0.05709,"13.2":0.0028,"13.3":0.11585,"13.4-13.7":0.33861,"14.0-14.4":1.41991,"14.5-14.7":2.42958},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00195,"9":0,"10":0,"11":0.00195,"12":0,"13":0,"14":0.01362,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00195,"6.1":0,"7.1":0.00195,"9.1":0,"10.1":0,"11.1":0.00195,"12.1":0.00195,"13.1":0.00778,"14.1":0.05446},B:{"12":0.00389,"13":0.00195,"14":0.00389,"15":0,"16":0.01945,"17":0.00195,"18":0.00778,"79":0.00195,"80":0,"81":0,"83":0,"84":0.00195,"85":0.00195,"86":0,"87":0,"88":0,"89":0.00389,"90":0.00195,"91":0.00973,"92":0.25091,"93":0},P:{"4":0.55008,"5.0-5.4":0.02037,"6.2-6.4":0.05093,"7.2-7.4":0.27504,"8.2":0,"9.2":0.764,"10.1":0.04075,"11.1-11.2":0.69269,"12.0":0.02037,"13.0":0.36672,"14.0":1.19183},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.0027,"4.4":0,"4.4.3-4.4.4":0.07481},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.68464,"5.5":0},J:{"7":0,"10":0.02417},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.12083},Q:{"10.4":1.2002},O:{"0":1.14381},H:{"0":1.6167},L:{"0":81.69531},S:{"2.5":0.04833}}; diff --git a/node_modules/caniuse-lite/data/regions/TG.js b/node_modules/caniuse-lite/data/regions/TG.js new file mode 100644 index 00000000..1db361cf --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TG.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00451,"30":0.00451,"31":0,"32":0,"33":0.00451,"34":0,"35":0.00451,"36":0,"37":0,"38":0,"39":0.00451,"40":0,"41":0.00451,"42":0,"43":0.00902,"44":0,"45":0.00451,"46":0.00451,"47":0.00902,"48":0,"49":0,"50":0.00451,"51":0,"52":0.03157,"53":0,"54":0,"55":0,"56":0.00451,"57":0.00451,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00451,"65":0.01353,"66":0.00451,"67":0.00451,"68":0.00902,"69":0,"70":0,"71":0,"72":0.07667,"73":0,"74":0,"75":0.00451,"76":0,"77":0.00451,"78":0.0451,"79":0.00902,"80":0.03608,"81":0.10824,"82":0.00451,"83":0.01353,"84":0.03608,"85":0.00902,"86":0.00902,"87":0.01353,"88":0.06765,"89":0.17589,"90":1.05534,"91":1.64615,"92":0.03608,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00451,"24":0,"25":0,"26":0.00902,"27":0,"28":0,"29":0,"30":0,"31":0.00451,"32":0,"33":0.00902,"34":0.00902,"35":0.00451,"36":0.00451,"37":0,"38":0.00451,"39":0,"40":0.00451,"41":0,"42":0.01353,"43":0.01353,"44":0,"45":0,"46":0.00451,"47":0.01353,"48":0,"49":0.03157,"50":0.00902,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.0902,"63":0.00451,"64":0.00451,"65":0.02255,"66":0,"67":0.00451,"68":0.00451,"69":0,"70":0.00451,"71":0,"72":1.10044,"73":0,"74":0.01353,"75":0.01353,"76":0.00902,"77":0.00451,"78":0.01804,"79":0.10373,"80":0.05863,"81":0.01804,"83":0.01804,"84":0.01804,"85":0.01353,"86":0.03608,"87":0.2706,"88":0.03608,"89":0.03157,"90":0.27511,"91":0.49159,"92":8.36154,"93":0.00902,"94":0.00902,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00451,"23":0,"24":0,"25":0,"26":0.00451,"27":0,"28":0.00451,"29":0,"30":0.00451,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.01353,"37":0,"38":0.00451,"39":0,"40":0,"41":0,"42":0.00451,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00451,"51":0.01353,"52":0,"53":0,"54":0.02255,"55":0.03157,"56":0.00451,"57":0.06765,"58":0.54571,"60":0,"62":0,"63":0,"64":0,"65":0.04961,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.03608,"72":0.00451,"73":0,"74":0,"75":0.00902,"76":0.03157,"77":0.36982,"78":0.40139,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00902},G:{"8":0.00084,"3.2":0.00084,"4.0-4.1":0,"4.2-4.3":0.00167,"5.0-5.1":0.02342,"6.0-6.1":0.01004,"7.0-7.1":0.22916,"8.1-8.4":0.01087,"9.0-9.2":0.00167,"9.3":0.55366,"10.0-10.2":0.01422,"10.3":0.57122,"11.0-11.2":0.14218,"11.3-11.4":0.01255,"12.0-12.1":0.01924,"12.2-12.4":0.09618,"13.0-13.1":0.01004,"13.2":0.00753,"13.3":0.02425,"13.4-13.7":0.33036,"14.0-14.4":1.38666,"14.5-14.7":3.71337},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.02706,"14":0.01353,"15":0.00451,_:"0","3.1":0,"3.2":0,"5.1":0.03157,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00451,"13.1":0.01804,"14.1":0.13079},B:{"12":0.00902,"13":0.00451,"14":0.00451,"15":0.10373,"16":0.00451,"17":0.00902,"18":0.07216,"79":0,"80":0,"81":0,"83":0.00451,"84":0.00451,"85":0.00451,"86":0,"87":0,"88":0.00451,"89":0.02255,"90":0.00902,"91":0.03608,"92":1.44771,"93":0},P:{"4":0.20939,"5.0-5.4":0.03141,"6.2-6.4":0,"7.2-7.4":0.03141,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.04188,"12.0":0.01047,"13.0":0.06282,"14.0":0.49206},I:{"0":0,"3":0,"4":0.00971,"2.1":0,"2.2":0,"2.3":0,"4.1":0.03669,"4.2-4.3":0.05828,"4.4":0,"4.4.3-4.4.4":0.56983},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01704,"7":0,"8":0,"9":0,"10":0,"11":0.1363,"5.5":0},J:{"7":0,"10":0.02196},N:{"10":0,"11":0.01647},R:{_:"0"},M:{"0":0.11529},Q:{"10.4":0.02196},O:{"0":0.64233},H:{"0":3.81502},L:{"0":65.47917},S:{"2.5":0.00549}}; diff --git a/node_modules/caniuse-lite/data/regions/TH.js b/node_modules/caniuse-lite/data/regions/TH.js new file mode 100644 index 00000000..a4f2413f --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TH.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00423,"36":0.00423,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00423,"52":0.01692,"53":0.00423,"54":0.00423,"55":0.02538,"56":0.07191,"57":0,"58":0.00423,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00423,"69":0,"70":0,"71":0,"72":0.01269,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00846,"79":0.00423,"80":0.00423,"81":0.00846,"82":0,"83":0,"84":0.00423,"85":0,"86":0,"87":0.00423,"88":0.01269,"89":0.01692,"90":0.23688,"91":0.34686,"92":0.00423,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00423,"39":0,"40":0,"41":0,"42":0,"43":0.00423,"44":0,"45":0,"46":0,"47":0.00423,"48":0,"49":0.08037,"50":0,"51":0,"52":0,"53":0.00423,"54":0,"55":0.00423,"56":0.00846,"57":0.00423,"58":0.00423,"59":0,"60":0,"61":0.00846,"62":0,"63":0.00423,"64":0,"65":0.00423,"66":0.00423,"67":0.00423,"68":0.00423,"69":0.00423,"70":0.00423,"71":0.00423,"72":0.00423,"73":0.00423,"74":0.00846,"75":0.00846,"76":0.01269,"77":0.00423,"78":0.00846,"79":0.02115,"80":0.01692,"81":0.01269,"83":0.02115,"84":0.02115,"85":0.02115,"86":0.02961,"87":0.07191,"88":0.03384,"89":0.02961,"90":0.05499,"91":0.22842,"92":11.99628,"93":0.01692,"94":0.00846,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.01269,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00423,"60":0.00423,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.07614,"78":0.07614,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00849,"6.0-6.1":0.01273,"7.0-7.1":0.02546,"8.1-8.4":0.01697,"9.0-9.2":0.01909,"9.3":0.15487,"10.0-10.2":0.02546,"10.3":0.13577,"11.0-11.2":0.04879,"11.3-11.4":0.06152,"12.0-12.1":0.07001,"12.2-12.4":0.24397,"13.0-13.1":0.07001,"13.2":0.02758,"13.3":0.18669,"13.4-13.7":0.48794,"14.0-14.4":2.59031,"14.5-14.7":15.96829},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00423,"13":0.02115,"14":0.17343,"15":0.00846,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00423,"11.1":0.00846,"12.1":0.01269,"13.1":0.07614,"14.1":1.3536},B:{"12":0.00423,"13":0,"14":0.00423,"15":0.00423,"16":0.00423,"17":0.00423,"18":0.01692,"79":0,"80":0,"81":0,"83":0,"84":0.00423,"85":0.00423,"86":0.00423,"87":0.00423,"88":0,"89":0.00846,"90":0.00423,"91":0.02115,"92":1.09557,"93":0},P:{"4":0.13421,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.11357,"8.2":0.01032,"9.2":0.07227,"10.1":0.02065,"11.1-11.2":0.18583,"12.0":0.06194,"13.0":0.15486,"14.0":1.84801},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0051,"4.2-4.3":0.0136,"4.4":0,"4.4.3-4.4.4":0.08668},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00909,"9":0.00455,"10":0.00455,"11":0.1637,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.09232},Q:{"10.4":0.01154},O:{"0":0.30004},H:{"0":0.22943},L:{"0":57.91125},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TJ.js b/node_modules/caniuse-lite/data/regions/TJ.js new file mode 100644 index 00000000..583d6f57 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TJ.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.01017,"6":0.00339,"17":0.00339,"21":0.00678,"35":0.01017,"50":0.00678,"52":0.08136,"54":0.00339,"65":0.00678,"75":0.00678,"78":0.04407,"79":0.00678,"80":0.01356,"83":0.00678,"85":0.02034,"86":0.00339,"88":0.11187,"89":0.02712,"90":0.86445,"91":0.90852,"92":0.01356,_:"2 3 5 7 8 9 10 11 12 13 14 15 16 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 53 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 76 77 81 82 84 87 93 3.5 3.6"},D:{"11":0.01356,"25":0.01017,"28":0.00678,"34":0.05424,"39":0.01017,"40":0.00678,"44":0.01017,"46":0.00339,"49":0.34578,"54":0.01017,"57":0.00339,"58":0.01356,"62":0.01017,"63":0.00678,"64":0.00339,"67":0.00678,"68":0.03051,"69":0.11526,"70":0.01695,"71":0.09153,"72":0.00678,"73":0.00678,"74":0.00678,"76":0.02712,"78":0.01356,"79":0.25764,"80":0.0339,"81":0.02373,"83":0.05424,"84":0.23052,"85":0.21357,"86":0.39324,"87":0.37968,"88":0.03051,"89":0.05085,"90":0.35595,"91":0.72207,"92":17.71614,"93":0.00678,"94":0.01017,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 29 30 31 32 33 35 36 37 38 41 42 43 45 47 48 50 51 52 53 55 56 59 60 61 65 66 75 77 95 96"},F:{"28":0.01017,"36":0.01695,"57":0.00678,"68":0.10848,"69":0.00678,"73":0.13221,"75":0.00678,"77":0.83394,"78":0.85428,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 60 62 63 64 65 66 67 70 71 72 74 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00678},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00264,"6.0-6.1":0.0033,"7.0-7.1":0.09509,"8.1-8.4":0.0066,"9.0-9.2":0.00462,"9.3":0.21263,"10.0-10.2":0.01519,"10.3":0.07462,"11.0-11.2":0.02773,"11.3-11.4":0.05745,"12.0-12.1":0.25753,"12.2-12.4":0.3579,"13.0-13.1":0.02641,"13.2":0.01453,"13.3":0.09773,"13.4-13.7":0.72307,"14.0-14.4":1.4633,"14.5-14.7":2.74568},E:{"4":0,"13":0.00678,"14":0.14238,"15":0.28137,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 9.1 10.1 12.1","5.1":1.51533,"7.1":0.00678,"11.1":0.01356,"13.1":0.09153,"14.1":0.70173},B:{"12":0.00339,"14":0.00339,"15":0.08136,"16":0.00678,"17":0.00678,"18":0.07458,"85":0.01017,"87":0.00678,"89":0.00678,"91":0.03051,"92":1.35939,_:"13 79 80 81 83 84 86 88 90 93"},P:{"4":1.19946,"5.0-5.4":0.14111,"6.2-6.4":0.10079,"7.2-7.4":0.38302,"8.2":0.03024,"9.2":0.38302,"10.1":0.10079,"11.1-11.2":0.32254,"12.0":0.16127,"13.0":0.42334,"14.0":1.14906},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00254,"4.2-4.3":0.00854,"4.4":0,"4.4.3-4.4.4":0.04179},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02498,"11":0.21232,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.03305},Q:{"10.4":0.19166},O:{"0":4.3355},H:{"0":2.68424},L:{"0":48.15692},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TK.js b/node_modules/caniuse-lite/data/regions/TK.js new file mode 100644 index 00000000..3daae3dd --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TK.js @@ -0,0 +1 @@ +module.exports={C:{"85":0.50744,"90":1.01489,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 91 92 93 3.5 3.6"},D:{"81":7.61425,"86":0.50744,"87":0.50744,"88":1.52233,"92":8.62914,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 83 84 85 89 90 91 93 94 95 96"},F:{"78":0.50744,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0.16769,"12.2-12.4":9.71868,"13.0-13.1":0,"13.2":0,"13.3":0.16769,"13.4-13.7":0,"14.0-14.4":0,"14.5-14.7":2.01105},E:{"4":0,_:"0 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 14.1","13.1":0.50744},B:{"88":1.01489,"92":3.5547,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 89 90 91 93"},P:{"4":0.70482,"5.0-5.4":0.06129,"6.2-6.4":0.06129,"7.2-7.4":0.24516,"8.2":0.02043,"9.2":0.14301,"10.1":0.06129,"11.1-11.2":0.32687,"12.0":0.04086,"13.0":5.16917,"14.0":5.16917},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":51.70655},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TL.js b/node_modules/caniuse-lite/data/regions/TL.js new file mode 100644 index 00000000..f02a4cf9 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TL.js @@ -0,0 +1 @@ +module.exports={C:{"7":0.00948,"19":0.00632,"20":0.0158,"21":0.04108,"24":0.00632,"29":0.00316,"32":0.00948,"33":0.00316,"35":0.00316,"36":0.00948,"37":0.00632,"38":0.02844,"39":0.00316,"40":0.00316,"41":0.09796,"43":0.0316,"44":0.0316,"45":0.00316,"46":0.02212,"47":0.08216,"48":0.03792,"49":0.00316,"50":0.00316,"52":0.00632,"56":0.00632,"57":0.04424,"58":0.01264,"61":0.00948,"65":0.01264,"66":0.00632,"67":0.0316,"68":0.00632,"69":0.00948,"72":0.02212,"74":0.00632,"75":0.00948,"76":0.01264,"77":0.00316,"78":0.26228,"79":0.2528,"80":0.00316,"81":0.02844,"82":0.01896,"83":0.00948,"84":0.00948,"85":0.04424,"86":0.02212,"87":0.01896,"88":0.12324,"89":0.21172,"90":2.04452,"91":2.99568,"92":0.30336,_:"2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 22 23 25 26 27 28 30 31 34 42 51 53 54 55 59 60 62 63 64 70 71 73 93 3.5 3.6"},D:{"11":0.00948,"30":0.00316,"31":0.02528,"32":0.0158,"33":0.00316,"36":0.00632,"38":0.00316,"40":0.0158,"42":0.01264,"43":0.0474,"45":0.00948,"47":0.00316,"48":0.00316,"49":0.06636,"55":0.0158,"56":0.00316,"58":0.04424,"62":0.01264,"63":0.04424,"64":0.00316,"65":0.01896,"67":0.01264,"68":0.00316,"69":0.00316,"70":0.00632,"73":0.00632,"74":0.00948,"76":0.00948,"77":0.00316,"78":0.01264,"79":0.01896,"80":0.01896,"81":0.00316,"83":0.00948,"84":0.079,"85":0.05372,"86":0.03792,"87":0.2844,"88":0.0632,"89":0.05688,"90":0.158,"91":0.47084,"92":15.0416,"93":0.00632,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 34 35 37 39 41 44 46 50 51 52 53 54 57 59 60 61 66 71 72 75 94 95 96"},F:{"37":0.00316,"50":0.00632,"54":0.00632,"56":0.01264,"75":0.00316,"76":0.00632,"77":0.39816,"78":0.11376,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 51 52 53 55 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.01215,"5.0-5.1":0.00028,"6.0-6.1":0,"7.0-7.1":0.01554,"8.1-8.4":0.00028,"9.0-9.2":0.00904,"9.3":0.01441,"10.0-10.2":0.05255,"10.3":0.04069,"11.0-11.2":0.04464,"11.3-11.4":0.07544,"12.0-12.1":0.07629,"12.2-12.4":0.21418,"13.0-13.1":0.06979,"13.2":0.02402,"13.3":0.11104,"13.4-13.7":0.21333,"14.0-14.4":0.91039,"14.5-14.7":0.74933},E:{"4":0,"8":0.00632,"11":0.00316,"12":0.00948,"13":0.00316,"14":0.10744,_:"0 5 6 7 9 10 15 3.1 3.2 7.1","5.1":0.00632,"6.1":0.06636,"9.1":0.00632,"10.1":0.06636,"11.1":0.0158,"12.1":0.0316,"13.1":0.18012,"14.1":0.10744},B:{"12":1.23556,"13":0.00632,"14":0.00948,"15":0.01896,"16":0.01896,"17":0.02844,"18":0.15484,"80":0.00316,"84":0.02844,"85":0.00316,"86":0.00632,"88":0.01264,"89":0.02212,"90":0.01264,"91":0.06636,"92":1.98448,_:"79 81 83 87 93"},P:{"4":0.70482,"5.0-5.4":0.06129,"6.2-6.4":0.06129,"7.2-7.4":0.24516,"8.2":0.02043,"9.2":0.14301,"10.1":0.06129,"11.1-11.2":0.32687,"12.0":0.04086,"13.0":0.08172,"14.0":0.5516},I:{"0":0,"3":0,"4":0.00095,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00189,"4.2-4.3":0.00189,"4.4":0,"4.4.3-4.4.4":0.04316},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.04025,"11":1.26799,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.02736},Q:{"10.4":0},O:{"0":0.43776},H:{"0":3.84655},L:{"0":60.28916},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TM.js b/node_modules/caniuse-lite/data/regions/TM.js new file mode 100644 index 00000000..25cbc257 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TM.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0.0081,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.0081,"13":0,"14":0.0081,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.00405,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.01215,"44":0.00405,"45":0,"46":0,"47":0,"48":0.0081,"49":0,"50":0,"51":0,"52":0.0081,"53":0.00405,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.0081,"61":0,"62":0,"63":0,"64":0.00405,"65":0.00405,"66":0,"67":0,"68":0.0081,"69":0,"70":0.00405,"71":0,"72":0.01215,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0.01215,"82":0,"83":0,"84":0.00405,"85":0.00405,"86":0.02026,"87":0.00405,"88":0.04456,"89":0.00405,"90":0.06077,"91":0.03646,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0162,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.0081,"21":0,"22":0,"23":0.0081,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00405,"31":0.00405,"32":0,"33":0,"34":0.00405,"35":0,"36":0,"37":0.00405,"38":0,"39":0,"40":0.00405,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00405,"48":0,"49":0.01215,"50":0.00405,"51":0,"52":0.08102,"53":0,"54":0,"55":0.00405,"56":0,"57":0.0081,"58":0.0081,"59":0.00405,"60":0.02836,"61":0,"62":0,"63":0.00405,"64":0.02026,"65":0,"66":0.00405,"67":0.02431,"68":0.00405,"69":0.04456,"70":0.00405,"71":0.05266,"72":0.0081,"73":0.01215,"74":0.00405,"75":0.0081,"76":0,"77":0.01215,"78":0.00405,"79":0.06887,"80":0.0162,"81":0.15799,"83":0.00405,"84":0.03241,"85":0.01215,"86":0.05266,"87":0.14584,"88":0.04861,"89":0.08102,"90":0.16609,"91":0.29572,"92":9.34971,"93":0.00405,"94":0.02431,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01215,"35":0,"36":0,"37":0.00405,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.06077,"52":0,"53":0.00405,"54":0,"55":0.0081,"56":0,"57":0,"58":0.00405,"60":0,"62":0.00405,"63":0,"64":0.02026,"65":0,"66":0,"67":0,"68":0,"69":0.0081,"70":0,"71":0.00405,"72":0.00405,"73":0.00405,"74":0.03241,"75":0.00405,"76":0,"77":0.05266,"78":0.02836,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03646},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.02162,"5.0-5.1":0.04323,"6.0-6.1":0.02594,"7.0-7.1":0.07349,"8.1-8.4":0.33072,"9.0-9.2":0.04539,"9.3":0.37611,"10.0-10.2":0.06377,"10.3":0.50689,"11.0-11.2":0.83004,"11.3-11.4":0.23021,"12.0-12.1":0.12105,"12.2-12.4":0.78897,"13.0-13.1":0.10267,"13.2":0.01945,"13.3":0.10916,"13.4-13.7":0.34261,"14.0-14.4":1.03756,"14.5-14.7":2.3572},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00405,"11":0,"12":0,"13":0.01215,"14":0.01215,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.0081,"6.1":0,"7.1":0,"9.1":0,"10.1":0.0081,"11.1":0.00405,"12.1":0.00405,"13.1":0.0081,"14.1":0.04456},B:{"12":0.0081,"13":0,"14":0.02431,"15":0.0081,"16":0.00405,"17":0,"18":0.0162,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0.00405,"91":0,"92":0.1823,"93":0},P:{"4":2.5657,"5.0-5.4":0.17377,"6.2-6.4":0.04089,"7.2-7.4":0.70531,"8.2":0.02044,"9.2":0.17377,"10.1":0.05111,"11.1-11.2":0.36799,"12.0":0.12266,"13.0":0.39865,"14.0":3.04612},I:{"0":0,"3":0,"4":0.00111,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01516,"4.2-4.3":0.04658,"4.4":0,"4.4.3-4.4.4":0.30335},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.03717,"10":0,"11":0.81354,"5.5":0},J:{"7":0,"10":0.00595},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.02975},Q:{"10.4":0.07734},O:{"0":1.52294},H:{"0":0.75471},L:{"0":62.19774},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TN.js b/node_modules/caniuse-lite/data/regions/TN.js new file mode 100644 index 00000000..fc87edbe --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TN.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01331,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00266,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00799,"79":0,"80":0,"81":0.00266,"82":0,"83":0,"84":0.01065,"85":0,"86":0.00266,"87":0,"88":0.00532,"89":0.01331,"90":0.08252,"91":0.13842,"92":0.00266,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00266,"39":0.00266,"40":0.00266,"41":0,"42":0.00266,"43":0.00266,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.09317,"50":0.00266,"51":0,"52":0.00266,"53":0,"54":0,"55":0,"56":0.00266,"57":0,"58":0.00266,"59":0,"60":0,"61":0,"62":0,"63":0.00532,"64":0.00266,"65":0.00266,"66":0.00266,"67":0.01065,"68":0.00266,"69":0.00266,"70":0.00799,"71":0.00266,"72":0.00266,"73":0.00266,"74":0.00266,"75":0.00266,"76":0.00266,"77":0.00532,"78":0.00799,"79":0.01331,"80":0.00799,"81":0.0213,"83":0.01065,"84":0.01065,"85":0.01597,"86":0.01863,"87":0.09317,"88":0.01597,"89":0.02928,"90":0.03727,"91":0.19699,"92":4.47748,"93":0.00532,"94":0.00266,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01597,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00266,"77":0.22361,"78":0.18368,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00036,"3.2":0.00072,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01144,"6.0-6.1":0.00286,"7.0-7.1":0.03326,"8.1-8.4":0.00465,"9.0-9.2":0.00286,"9.3":0.0726,"10.0-10.2":0.00608,"10.3":0.08405,"11.0-11.2":0.01896,"11.3-11.4":0.01967,"12.0-12.1":0.02182,"12.2-12.4":0.07832,"13.0-13.1":0.00858,"13.2":0.00715,"13.3":0.0515,"13.4-13.7":0.15808,"14.0-14.4":0.53611,"14.5-14.7":2.05108},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01065,"14":0.01331,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00266,"12.1":0.00266,"13.1":0.00532,"14.1":0.03727},B:{"12":0,"13":0,"14":0,"15":0.00266,"16":0,"17":0,"18":0.00532,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0.00266,"88":0,"89":0.00266,"90":0.00266,"91":0.00799,"92":0.29282,"93":0},P:{"4":0.47931,"5.0-5.4":0.0102,"6.2-6.4":0.0102,"7.2-7.4":0.23456,"8.2":0.0102,"9.2":0.08159,"10.1":0.05099,"11.1-11.2":0.26515,"12.0":0.10198,"13.0":0.29575,"14.0":1.46854},I:{"0":0,"3":0,"4":0.00281,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01124,"4.2-4.3":0.02248,"4.4":0,"4.4.3-4.4.4":0.23606},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02662,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.0587},Q:{"10.4":0},O:{"0":0.11007},H:{"0":0.26399},L:{"0":85.58036},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TO.js b/node_modules/caniuse-lite/data/regions/TO.js new file mode 100644 index 00000000..89fe3994 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TO.js @@ -0,0 +1 @@ +module.exports={C:{"46":0.01116,"52":0.73124,"61":0.01675,"66":0.00558,"78":0.01116,"88":0.00558,"89":0.03907,"90":1.35084,"91":1.055,"92":0.00558,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 53 54 55 56 57 58 59 60 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 93 3.5 3.6"},D:{"46":0.01675,"49":0.10606,"63":0.07257,"75":0.00558,"76":0.05024,"77":0.01675,"78":0.00558,"79":0.01116,"80":0.01675,"81":0.11164,"83":0.03907,"84":0.00558,"85":0.00558,"86":0.18421,"87":0.10606,"88":0.04466,"89":0.07257,"90":0.07257,"91":1.09965,"92":26.47543,"93":0.03907,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 64 65 66 67 68 69 70 71 72 73 74 94 95 96"},F:{"34":0.01675,"77":0.50796,"78":0.02233,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.00894,"9.3":0.03279,"10.0-10.2":0.00894,"10.3":0.05068,"11.0-11.2":0.00596,"11.3-11.4":0.03577,"12.0-12.1":0.05366,"12.2-12.4":0.19972,"13.0-13.1":0.12222,"13.2":0.04173,"13.3":0.28616,"13.4-13.7":0.45608,"14.0-14.4":1.60222,"14.5-14.7":3.76038},E:{"4":0,"8":0.00558,"10":0.03907,"12":0.05582,"13":0.05582,"14":1.57412,_:"0 5 6 7 9 11 15 3.1 3.2 5.1 6.1 7.1 9.1 11.1","10.1":0.00558,"12.1":0.00558,"13.1":0.06698,"14.1":0.23444},B:{"12":0.00558,"13":0.03349,"14":0.01116,"15":0.02233,"16":0.02791,"17":0.04466,"18":0.26794,"81":0.01675,"83":0.01116,"84":0.66984,"85":0.01675,"87":0.03349,"88":0.01116,"89":0.07815,"90":0.05582,"91":0.4354,"92":2.86915,_:"79 80 86 93"},P:{"4":0.11308,"5.0-5.4":0.07196,"6.2-6.4":0.11308,"7.2-7.4":0.48315,"8.2":0.02056,"9.2":0.16448,"10.1":0.06129,"11.1-11.2":0.21588,"12.0":0.24672,"13.0":0.64763,"14.0":0.78127},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00186,"4.2-4.3":0.00093,"4.4":0,"4.4.3-4.4.4":0.01488},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.02411,"11":2.38731,_:"6 7 8 9 5.5"},J:{"7":0,"10":0},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":1.1175},Q:{"10.4":0.31361},O:{"0":0.13693},H:{"0":0.10872},L:{"0":46.76535},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TR.js b/node_modules/caniuse-lite/data/regions/TR.js new file mode 100644 index 00000000..a80678a7 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TR.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00327,"36":0.00327,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00654,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00654,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00327,"78":0.00654,"79":0.00327,"80":0.00327,"81":0.00327,"82":0.00327,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.00654,"89":0.01961,"90":0.12095,"91":0.1798,"92":0.00327,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.03923,"23":0,"24":0,"25":0,"26":0.01635,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.02288,"35":0,"36":0,"37":0,"38":0.02942,"39":0.00327,"40":0,"41":0,"42":0.00327,"43":0.00327,"44":0,"45":0,"46":0.00327,"47":0.02942,"48":0,"49":0.13403,"50":0,"51":0.00327,"52":0,"53":0.01308,"54":0,"55":0,"56":0.00327,"57":0,"58":0.00327,"59":0.00327,"60":0,"61":0.00654,"62":0.00327,"63":0.00654,"64":0,"65":0.00327,"66":0,"67":0.00327,"68":0.00654,"69":0.00327,"70":0.00327,"71":0.00981,"72":0.00327,"73":0.00327,"74":0.00654,"75":0.00981,"76":0.00981,"77":0.00654,"78":0.00654,"79":0.06538,"80":0.01308,"81":0.01635,"83":0.01961,"84":0.02288,"85":0.02615,"86":0.02942,"87":0.04577,"88":0.03596,"89":0.0425,"90":0.04577,"91":0.23537,"92":7.25391,"93":0.00327,"94":0.00327,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00327,"29":0,"30":0,"31":0.00327,"32":0.00327,"33":0,"34":0,"35":0,"36":0.00327,"37":0,"38":0,"39":0,"40":0.01308,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00981,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.06538,"60":0,"62":0,"63":0,"64":0,"65":0.00327,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.00327,"75":0,"76":0.00327,"77":0.16999,"78":0.14384,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0.00137,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00547,"6.0-6.1":0.00821,"7.0-7.1":0.09984,"8.1-8.4":0.01504,"9.0-9.2":0.00957,"9.3":0.21883,"10.0-10.2":0.02735,"10.3":0.19695,"11.0-11.2":0.0848,"11.3-11.4":0.11352,"12.0-12.1":0.06975,"12.2-12.4":0.32141,"13.0-13.1":0.03556,"13.2":0.01368,"13.3":0.14361,"13.4-13.7":0.46775,"14.0-14.4":1.61934,"14.5-14.7":7.97225},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00327,"14":0.03269,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00981,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00327,"12.1":0.00327,"13.1":0.01961,"14.1":0.12095},B:{"12":0.00327,"13":0,"14":0.00327,"15":0.00327,"16":0,"17":0.00327,"18":0.01308,"79":0,"80":0,"81":0,"83":0,"84":0.00327,"85":0.00327,"86":0.00327,"87":0,"88":0,"89":0.00327,"90":0.00327,"91":0.01308,"92":0.55246,"93":0},P:{"4":0.63897,"5.0-5.4":0.03043,"6.2-6.4":0.03043,"7.2-7.4":0.24342,"8.2":0.02028,"9.2":0.08114,"10.1":0.05071,"11.1-11.2":0.22313,"12.0":0.12171,"13.0":0.47669,"14.0":3.12387},I:{"0":0,"3":0,"4":0.00102,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00534,"4.2-4.3":0.02238,"4.4":0,"4.4.3-4.4.4":0.06741},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00333,"10":0,"11":0.17647,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.26251},Q:{"10.4":0},O:{"0":0.13462},H:{"0":0.5799},L:{"0":68.69307},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TT.js b/node_modules/caniuse-lite/data/regions/TT.js new file mode 100644 index 00000000..43aa8057 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TT.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00475,"49":0,"50":0,"51":0,"52":0.01426,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00475,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01426,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0.00475,"87":0.00951,"88":0.00475,"89":0.08557,"90":0.2995,"91":0.45163,"92":0.00475,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00951,"39":0,"40":0,"41":0.00475,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00475,"48":0,"49":0.09033,"50":0.00475,"51":0,"52":0,"53":0.00475,"54":0,"55":0,"56":0.00951,"57":0,"58":0.00475,"59":0,"60":0,"61":0,"62":0,"63":0.00475,"64":0,"65":0.00475,"66":0.00475,"67":0.01426,"68":0.00475,"69":0.00475,"70":0.01426,"71":0.00475,"72":0,"73":0,"74":0.19016,"75":0.05705,"76":0.02377,"77":0.00475,"78":0.00475,"79":0.08557,"80":0.01426,"81":0.05229,"83":0.00951,"84":0.00951,"85":0.00951,"86":0.01426,"87":0.16639,"88":0.01902,"89":0.05229,"90":0.09033,"91":0.61327,"92":12.32712,"93":0.04279,"94":0.00951,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.01426,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01902,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.25672,"78":0.21393,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.05104,"6.0-6.1":0.00537,"7.0-7.1":0.12492,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.34117,"10.0-10.2":0.00269,"10.3":0.2861,"11.0-11.2":0.03627,"11.3-11.4":0.01746,"12.0-12.1":0.02149,"12.2-12.4":0.09671,"13.0-13.1":0.03089,"13.2":0.02149,"13.3":0.08194,"13.4-13.7":0.24984,"14.0-14.4":1.23306,"14.5-14.7":9.93699},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00475,"12":0,"13":0.01902,"14":0.20442,"15":0.00475,_:"0","3.1":0,"3.2":0,"5.1":0.00475,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00951,"11.1":0.05705,"12.1":0.01902,"13.1":0.1236,"14.1":0.87949},B:{"12":0.00475,"13":0.00475,"14":0,"15":0,"16":0.00475,"17":0.00475,"18":0.04279,"79":0,"80":0,"81":0,"83":0,"84":0.00951,"85":0.00475,"86":0,"87":0,"88":0,"89":0.01902,"90":0.00951,"91":0.05705,"92":2.59093,"93":0},P:{"4":0.4441,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.17764,"8.2":0,"9.2":0.06661,"10.1":0.0222,"11.1-11.2":0.29976,"12.0":0.04441,"13.0":0.29976,"14.0":5.39576},I:{"0":0,"3":0,"4":0.04019,"2.1":0,"2.2":0,"2.3":0,"4.1":0.04019,"4.2-4.3":0.22773,"4.4":0,"4.4.3-4.4.4":2.14333},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.07131,"5.5":0},J:{"7":0,"10":0.00525},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.13115},Q:{"10.4":0.01049},O:{"0":0.05771},H:{"0":0.24833},L:{"0":54.34476},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TV.js b/node_modules/caniuse-lite/data/regions/TV.js new file mode 100644 index 00000000..7d39f849 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TV.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.28423,"90":0,"91":0.10576,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.10576,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.45609,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.13881,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0.70066,"83":0,"84":0,"85":0.03305,"86":0,"87":0,"88":0,"89":0.07271,"90":0,"91":1.01794,"92":31.22564,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.13881,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.17847,"78":0.03305,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0.16525,"13.4-13.7":0.90918,"14.0-14.4":0.33051,"14.5-14.7":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.17847,"14":0,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.13881,"12.1":0,"13.1":0.07271,"14.1":0},B:{"12":0,"13":0,"14":0.03305,"15":0.03305,"16":0,"17":0.10576,"18":0.10576,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0.31728,"92":4.81208,"93":0},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.42954,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.10988,"12.0":0,"13.0":0,"14.0":0.20977},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":1.22375},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.31728,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.05424},Q:{"10.4":0},O:{"0":0},H:{"0":0.20219},L:{"0":55.26655},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TW.js b/node_modules/caniuse-lite/data/regions/TW.js new file mode 100644 index 00000000..444b3fca --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TW.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00936,"35":0.00468,"36":0.00468,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00468,"48":0,"49":0,"50":0.00468,"51":0.00468,"52":0.01404,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00468,"69":0,"70":0,"71":0,"72":0.00468,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00468,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0.00468,"85":0,"86":0.00468,"87":0.00468,"88":0.00936,"89":0.01872,"90":0.24331,"91":0.33689,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00936,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00468,"23":0,"24":0,"25":0,"26":0.00468,"27":0,"28":0,"29":0,"30":0.00468,"31":0,"32":0,"33":0,"34":0.00936,"35":0.00468,"36":0,"37":0,"38":0.05147,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.09826,"50":0.00468,"51":0.00468,"52":0,"53":0.05615,"54":0.00468,"55":0.00468,"56":0.01404,"57":0.00468,"58":0.00468,"59":0,"60":0,"61":0.03743,"62":0.00468,"63":0.00468,"64":0.00936,"65":0.00468,"66":0.00468,"67":0.01404,"68":0.00936,"69":0.00936,"70":0.00936,"71":0.01404,"72":0.00468,"73":0.00936,"74":0.00936,"75":0.00936,"76":0.00936,"77":0.00468,"78":0.00468,"79":0.1778,"80":0.01404,"81":0.04211,"83":0.01404,"84":0.00936,"85":0.00936,"86":0.0234,"87":0.07019,"88":0.01872,"89":0.03743,"90":0.08422,"91":0.49597,"92":13.65332,"93":0.00936,"94":0.00468,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00468,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00936,"37":0.01872,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.02807,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.03275,"78":0.03275,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00385,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.04616,"6.0-6.1":0.02308,"7.0-7.1":0.21924,"8.1-8.4":0.08077,"9.0-9.2":0.03077,"9.3":0.40386,"10.0-10.2":0.06154,"10.3":0.46156,"11.0-11.2":0.15385,"11.3-11.4":0.16155,"12.0-12.1":0.34232,"12.2-12.4":0.66157,"13.0-13.1":0.29617,"13.2":0.12693,"13.3":0.58464,"13.4-13.7":1.35391,"14.0-14.4":7.97728,"14.5-14.7":24.29724},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00468,"12":0.00468,"13":0.08422,"14":0.3556,"15":0.00468,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00468,"10.1":0.00936,"11.1":0.01872,"12.1":0.03743,"13.1":0.19184,"14.1":1.77802},B:{"12":0,"13":0,"14":0.00468,"15":0,"16":0.00468,"17":0.00468,"18":0.01404,"79":0,"80":0,"81":0,"83":0,"84":0.00468,"85":0,"86":0,"87":0,"88":0,"89":0.00468,"90":0.00468,"91":0.0234,"92":1.30076,"93":0},P:{"4":0.54322,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02173,"8.2":0.01086,"9.2":0.08691,"10.1":0.04346,"11.1-11.2":0.1521,"12.0":0.11951,"13.0":0.29334,"14.0":2.28152},I:{"0":0,"3":0,"4":0.00175,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0035,"4.2-4.3":0.01401,"4.4":0,"4.4.3-4.4.4":0.10156},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.16844,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.09046},Q:{"10.4":0.01064},O:{"0":0.09578},H:{"0":0.34759},L:{"0":36.3603},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/TZ.js b/node_modules/caniuse-lite/data/regions/TZ.js new file mode 100644 index 00000000..b7edfa1c --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/TZ.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.00168,"30":0.00838,"32":0.00335,"34":0.00503,"35":0.00168,"36":0.00168,"37":0.00335,"38":0.00335,"39":0.00335,"40":0.00335,"41":0.00168,"42":0.00168,"43":0.00838,"44":0.0067,"45":0.00503,"46":0.00168,"47":0.01006,"48":0.0067,"49":0.00335,"52":0.08045,"56":0.00503,"57":0.00335,"63":0.00168,"65":0.00335,"66":0.00503,"67":0.00168,"68":0.00503,"69":0.00168,"72":0.01006,"77":0.00335,"78":0.03687,"81":0.00335,"83":0.00335,"84":0.00335,"85":0.00503,"87":0.00503,"88":0.02179,"89":0.11564,"90":0.57654,"91":0.85979,"92":0.06872,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 31 33 50 51 53 54 55 58 59 60 61 62 64 70 71 73 74 75 76 79 80 82 86 93 3.5 3.6"},D:{"11":0.0067,"21":0.00503,"31":0.00168,"33":0.00168,"37":0.00335,"38":0.00335,"40":0.00168,"43":0.00335,"47":0.00168,"49":0.03687,"50":0.0067,"55":0.01006,"57":0.01006,"58":0.00335,"60":0.0067,"63":0.01006,"64":0.01006,"65":0.00503,"66":0.00335,"67":0.00503,"68":0.00335,"69":0.00335,"70":0.01173,"71":0.00503,"72":0.00335,"73":0.00335,"74":0.01006,"75":0.0067,"76":0.00168,"77":0.0067,"78":0.00335,"79":0.01844,"80":0.03017,"81":0.01341,"83":0.01508,"84":0.01844,"85":0.01341,"86":0.02849,"87":0.03855,"88":0.03687,"89":0.04358,"90":0.0771,"91":0.38213,"92":7.09954,"93":0.0352,"94":0.01341,"95":0.00168,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 32 34 35 36 39 41 42 44 45 46 48 51 52 53 54 56 59 61 62 96"},F:{"19":0.00838,"36":0.00168,"60":0.00335,"64":0.01006,"65":0.00838,"66":0.00335,"67":0.00503,"72":0.00168,"74":0.01173,"75":0.00335,"76":0.00503,"77":0.5933,"78":0.32682,_:"9 11 12 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 62 63 68 69 70 71 73 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00042,"5.0-5.1":0.00833,"6.0-6.1":0,"7.0-7.1":0.03665,"8.1-8.4":0,"9.0-9.2":0.0025,"9.3":0.05539,"10.0-10.2":0.00208,"10.3":0.05456,"11.0-11.2":0.0404,"11.3-11.4":0.04789,"12.0-12.1":0.0608,"12.2-12.4":0.21739,"13.0-13.1":0.04623,"13.2":0.01374,"13.3":0.09662,"13.4-13.7":0.20614,"14.0-14.4":1.00573,"14.5-14.7":1.55128},E:{"4":0,"11":0.00168,"12":0.0067,"13":0.01006,"14":0.06201,"15":0.00335,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 7.1 9.1","6.1":0.00335,"10.1":0.00503,"11.1":0.01173,"12.1":0.01341,"13.1":0.10224,"14.1":0.15084},B:{"12":0.02346,"13":0.01676,"14":0.00838,"15":0.01341,"16":0.01341,"17":0.00838,"18":0.07374,"84":0.01006,"85":0.01006,"86":0.00335,"87":0.00335,"88":0.00335,"89":0.02346,"90":0.01676,"91":0.07207,"92":1.0123,_:"79 80 81 83 93"},P:{"4":0.34219,"5.0-5.4":0.02074,"6.2-6.4":0.01037,"7.2-7.4":0.12443,"8.2":0.03024,"9.2":0.12443,"10.1":0.01037,"11.1-11.2":0.1348,"12.0":0.09332,"13.0":0.1348,"14.0":0.79844},I:{"0":0,"3":0,"4":0.00097,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00194,"4.2-4.3":0.00776,"4.4":0,"4.4.3-4.4.4":0.08922},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00779,"11":0.25702,_:"6 7 9 10 5.5"},J:{"7":0,"10":0.01665},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.13318},Q:{"10.4":0.00832},O:{"0":1.39843},H:{"0":34.9821},L:{"0":42.12709},S:{"2.5":0.48279}}; diff --git a/node_modules/caniuse-lite/data/regions/UA.js b/node_modules/caniuse-lite/data/regions/UA.js new file mode 100644 index 00000000..f615b131 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/UA.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.0062,"5":0.0062,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.0062,"13":0,"14":0.0062,"15":0.0062,"16":0,"17":0.0062,"18":0.0062,"19":0,"20":0.09914,"21":0.01239,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.0062,"32":0.0062,"33":0.0062,"34":0.0062,"35":0.01239,"36":0.0062,"37":0,"38":0.0062,"39":0.0062,"40":0.0062,"41":0.0062,"42":0.0062,"43":0.0062,"44":0.0062,"45":0.03098,"46":0.0062,"47":0,"48":0.0062,"49":0,"50":0.01239,"51":0.0062,"52":0.1487,"53":0.02478,"54":0,"55":0.06196,"56":0.02478,"57":0.0062,"58":0.01859,"59":0,"60":0.14251,"61":0.0062,"62":0,"63":0,"64":0,"65":0.0062,"66":0.01239,"67":0,"68":0.17968,"69":0,"70":0.0062,"71":0,"72":0.0062,"73":0,"74":0,"75":0,"76":0,"77":0.0062,"78":0.13631,"79":0.01239,"80":0.01859,"81":0.02478,"82":0.01239,"83":0.01859,"84":0.02478,"85":0.0062,"86":0.01239,"87":0.01859,"88":0.07435,"89":0.1487,"90":0.63819,"91":0.9294,"92":0.01239,"93":0,"3.5":0,"3.6":0.0062},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0062,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.0062,"19":0,"20":0,"21":0,"22":0.0062,"23":0.0062,"24":0.0062,"25":0.0062,"26":0,"27":0.0062,"28":0.0062,"29":0,"30":0,"31":0,"32":0.0062,"33":0,"34":0.0062,"35":0.0062,"36":0.0062,"37":0.0062,"38":0.0062,"39":0.0062,"40":0.0062,"41":0.01239,"42":0.0062,"43":0.01239,"44":0.01239,"45":0.0062,"46":0.02478,"47":0.01859,"48":0.03098,"49":0.32839,"50":0.01239,"51":0.0062,"52":0,"53":0.0062,"54":0,"55":0,"56":0.0062,"57":0.03098,"58":0.0062,"59":0.0062,"60":0.0062,"61":0.12392,"62":0.0062,"63":0.02478,"64":0.01239,"65":0.0062,"66":0.0062,"67":0.01239,"68":0.0062,"69":0.01239,"70":0.01859,"71":0.01859,"72":0.01239,"73":0.02478,"74":0.40894,"75":0.01239,"76":0.01239,"77":0.01859,"78":0.21066,"79":0.26023,"80":0.22925,"81":0.26643,"83":0.26023,"84":0.3036,"85":0.11153,"86":0.20447,"87":0.53905,"88":0.24164,"89":0.1487,"90":0.26023,"91":0.96038,"92":18.77388,"93":0.0062,"94":0.01859,"95":0.0062,"96":0},F:{"9":0,"11":0,"12":0.0062,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.0062,"23":0,"24":0.0062,"25":0,"26":0,"27":0.0062,"28":0.0062,"29":0,"30":0,"31":0.0062,"32":0.0062,"33":0,"34":0.01859,"35":0.02478,"36":0.07435,"37":0.0062,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.0062,"55":0.0062,"56":0,"57":0,"58":0.04957,"60":0.0062,"62":0.0062,"63":0.0062,"64":0.0062,"65":0.03098,"66":0.0062,"67":0.0062,"68":0.0062,"69":0.01239,"70":0.0062,"71":0.0062,"72":0.0062,"73":0.01239,"74":0.01239,"75":0.01859,"76":0.03098,"77":3.11659,"78":3.01745,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03098},G:{"8":0,"3.2":0.00095,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0038,"6.0-6.1":0.01235,"7.0-7.1":0.04561,"8.1-8.4":0.00665,"9.0-9.2":0.00665,"9.3":0.06177,"10.0-10.2":0.02091,"10.3":0.12924,"11.0-11.2":0.03611,"11.3-11.4":0.04752,"12.0-12.1":0.04276,"12.2-12.4":0.12734,"13.0-13.1":0.03611,"13.2":0.02851,"13.3":0.10739,"13.4-13.7":0.39818,"14.0-14.4":1.27342,"14.5-14.7":6.68925},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0062,"12":0.0062,"13":0.04337,"14":0.26023,"15":0.01239,_:"0","3.1":0,"3.2":0,"5.1":0.14251,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.01239,"12.1":0.02478,"13.1":0.1611,"14.1":0.69395},B:{"12":0,"13":0,"14":0,"15":0.0062,"16":0.0062,"17":0.0062,"18":0.02478,"79":0,"80":0,"81":0,"83":0,"84":0.0062,"85":0.0062,"86":0.0062,"87":0.0062,"88":0,"89":0.0062,"90":0.0062,"91":0.01239,"92":0.59482,"93":0},P:{"4":0.11114,"5.0-5.4":0.0101,"6.2-6.4":0.0101,"7.2-7.4":0.26269,"8.2":0.02021,"9.2":0.12124,"10.1":0.06062,"11.1-11.2":0.2728,"12.0":0.11114,"13.0":0.293,"14.0":2.96034},I:{"0":0,"3":0,"4":0.00246,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00862,"4.2-4.3":0.03079,"4.4":0,"4.4.3-4.4.4":0.13671},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02788,"9":0.01394,"10":0.00697,"11":0.23003,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.15977},Q:{"10.4":0},O:{"0":0.2815},H:{"0":3.15481},L:{"0":39.1594},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/UG.js b/node_modules/caniuse-lite/data/regions/UG.js new file mode 100644 index 00000000..e5e503ec --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/UG.js @@ -0,0 +1 @@ +module.exports={C:{"14":0.01051,"31":0.00701,"33":0.00701,"34":0.00701,"35":0.0035,"37":0.00701,"39":0.00701,"40":0.01051,"41":0.00701,"43":0.01051,"44":0.02102,"45":0.00701,"46":0.01051,"47":0.04555,"48":0.01402,"49":0.00701,"50":0.01402,"52":0.07008,"55":0.0035,"56":0.01402,"57":0.00701,"58":0.00701,"60":0.01051,"62":0.00701,"64":0.02102,"66":0.00701,"67":0.01051,"68":0.01402,"69":0.02102,"71":0.00701,"72":0.02453,"77":0.0035,"78":0.10862,"80":0.01051,"81":0.0035,"82":0.01051,"83":0.0035,"84":0.02102,"85":0.01402,"86":0.01402,"87":0.01402,"88":0.07358,"89":0.28032,"90":1.53125,"91":2.32666,"92":0.33989,_:"2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 36 38 42 51 53 54 59 61 63 65 70 73 74 75 76 79 93 3.5 3.6"},D:{"11":0.0035,"19":0.02102,"24":0.00701,"37":0.00701,"39":0.00701,"40":0.00701,"47":0.01051,"49":0.02803,"50":0.00701,"51":0.0035,"52":0.0035,"53":0.00701,"56":0.01051,"57":0.01051,"58":0.00701,"59":0.01051,"62":0.0035,"63":0.01752,"64":0.05256,"65":0.01402,"66":0.00701,"67":0.00701,"68":0.01051,"69":0.00701,"70":0.00701,"71":0.00701,"72":0.02453,"73":0.01752,"74":0.03504,"75":0.01752,"76":0.03854,"77":0.01051,"78":0.04205,"79":0.0841,"80":0.07008,"81":0.03154,"83":0.02102,"84":0.02453,"85":0.02803,"86":0.08059,"87":0.13666,"88":0.04906,"89":0.16118,"90":0.21725,"91":1.00565,"92":16.52837,"93":0.02453,"94":0.01752,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 20 21 22 23 25 26 27 28 29 30 31 32 33 34 35 36 38 41 42 43 44 45 46 48 54 55 60 61 95 96"},F:{"28":0.00701,"34":0.0035,"42":0.0035,"63":0.0035,"65":0.00701,"76":0.00701,"77":0.72182,"78":0.59218,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 66 67 68 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.0035},G:{"8":0,"3.2":0,"4.0-4.1":0.00486,"4.2-4.3":0.00088,"5.0-5.1":0.01459,"6.0-6.1":0.00133,"7.0-7.1":0.01946,"8.1-8.4":0.0031,"9.0-9.2":0.00354,"9.3":0.11145,"10.0-10.2":0.00221,"10.3":0.08757,"11.0-11.2":0.06059,"11.3-11.4":0.02521,"12.0-12.1":0.03671,"12.2-12.4":0.14771,"13.0-13.1":0.03936,"13.2":0.01283,"13.3":0.12206,"13.4-13.7":0.2198,"14.0-14.4":1.12466,"14.5-14.7":1.87207},E:{"4":0,"8":0.0035,"11":0.0035,"12":0.00701,"13":0.01752,"14":0.12264,_:"0 5 6 7 9 10 15 3.1 3.2 6.1 7.1 9.1","5.1":0.02453,"10.1":0.01051,"11.1":0.00701,"12.1":0.02453,"13.1":0.06307,"14.1":0.25579},B:{"12":0.03854,"13":0.01752,"14":0.01752,"15":0.02453,"16":0.02803,"17":0.01051,"18":0.11563,"84":0.02102,"85":0.01402,"88":0.00701,"89":0.02453,"90":0.01752,"91":0.12264,"92":1.93771,_:"79 80 81 83 86 87 93"},P:{"4":0.21807,"5.0-5.4":0.01038,"6.2-6.4":0.11308,"7.2-7.4":0.07269,"8.2":0.01052,"9.2":0.12461,"10.1":0.01038,"11.1-11.2":0.15577,"12.0":0.03115,"13.0":0.135,"14.0":1.00729},I:{"0":0,"3":0,"4":0.0009,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0015,"4.2-4.3":0.00632,"4.4":0,"4.4.3-4.4.4":0.10169},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01402,"10":0.00701,"11":0.19622,_:"6 7 9 5.5"},J:{"7":0,"10":0.01949},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.1299},Q:{"10.4":0.01299},O:{"0":1.20807},H:{"0":15.70466},L:{"0":46.76386},S:{"2.5":0.2663}}; diff --git a/node_modules/caniuse-lite/data/regions/US.js b/node_modules/caniuse-lite/data/regions/US.js new file mode 100644 index 00000000..c8b56043 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/US.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0.0198,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0099,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00495,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.02969,"36":0.02475,"37":0,"38":0.00495,"39":0,"40":0,"41":0,"42":0,"43":0.00495,"44":0.0099,"45":0.00495,"46":0,"47":0,"48":0.00495,"49":0,"50":0,"51":0,"52":0.02475,"53":0,"54":0.00495,"55":0.00495,"56":0.00495,"57":0,"58":0.0099,"59":0.00495,"60":0,"61":0,"62":0,"63":0.00495,"64":0,"65":0,"66":0,"67":0,"68":0.0099,"69":0,"70":0.00495,"71":0,"72":0.00495,"73":0,"74":0,"75":0,"76":0.00495,"77":0.00495,"78":0.08413,"79":0.00495,"80":0.00495,"81":0.00495,"82":0.0099,"83":0.00495,"84":0.00495,"85":0.00495,"86":0.0099,"87":0.00495,"88":0.0198,"89":0.04949,"90":0.54934,"91":0.7572,"92":0.00495,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00495,"34":0,"35":0.00495,"36":0,"37":0.00495,"38":0.00495,"39":0,"40":0.0099,"41":0,"42":0,"43":0.00495,"44":0,"45":0,"46":0.00495,"47":0.00495,"48":0.02475,"49":0.09898,"50":0,"51":0,"52":0.00495,"53":0,"54":0,"55":0,"56":0.05939,"57":0,"58":0.00495,"59":0.0099,"60":0.0099,"61":0.01485,"62":0.00495,"63":0.00495,"64":0.02475,"65":0.0099,"66":0.02475,"67":0.01485,"68":0.00495,"69":0.0099,"70":0.02969,"71":0.00495,"72":0.02969,"73":0.00495,"74":0.04949,"75":0.04454,"76":0.08413,"77":0.0198,"78":0.03959,"79":0.08908,"80":0.06929,"81":0.04454,"83":0.04949,"84":0.12373,"85":0.10888,"86":0.11878,"87":0.22765,"88":0.14847,"89":0.14352,"90":0.36128,"91":1.2422,"92":10.09101,"93":0.01485,"94":0.02475,"95":0.01485,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01485,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.12867,"78":0.10888,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00421,"6.0-6.1":0.01685,"7.0-7.1":0.02527,"8.1-8.4":0.02948,"9.0-9.2":0.02948,"9.3":0.20638,"10.0-10.2":0.03791,"10.3":0.24428,"11.0-11.2":0.09687,"11.3-11.4":0.13057,"12.0-12.1":0.12635,"12.2-12.4":0.35379,"13.0-13.1":0.12635,"13.2":0.05897,"13.3":0.3201,"13.4-13.7":1.05295,"14.0-14.4":4.6035,"14.5-14.7":33.68602},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00495,"9":0.00495,"10":0,"11":0.00495,"12":0.0099,"13":0.06434,"14":0.4949,"15":0.01485,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.02969,"10.1":0.0198,"11.1":0.05939,"12.1":0.08908,"13.1":0.83638,"14.1":2.62297},B:{"12":0.00495,"13":0,"14":0.00495,"15":0.00495,"16":0.00495,"17":0.0099,"18":0.07424,"79":0,"80":0,"81":0,"83":0.00495,"84":0.00495,"85":0.00495,"86":0.00495,"87":0.0099,"88":0.00495,"89":0.0099,"90":0.0099,"91":0.08413,"92":2.717,"93":0.00495},P:{"4":0.07305,"5.0-5.4":0.01044,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.02087,"10.1":0,"11.1-11.2":0.08348,"12.0":0.03131,"13.0":0.11479,"14.0":1.77404},I:{"0":0,"3":0,"4":0.08466,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02419,"4.2-4.3":0.15723,"4.4":0,"4.4.3-4.4.4":0.26004},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00549,"9":0.1538,"10":0,"11":0.34056,"5.5":0},J:{"7":0,"10":0.00505},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.42934},Q:{"10.4":0.0202},O:{"0":0.21719},H:{"0":0.2391},L:{"0":29.98338},S:{"2.5":0.00505}}; diff --git a/node_modules/caniuse-lite/data/regions/UY.js b/node_modules/caniuse-lite/data/regions/UY.js new file mode 100644 index 00000000..51d75124 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/UY.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00476,"36":0.00476,"37":0,"38":0,"39":0,"40":0.00476,"41":0.00952,"42":0,"43":0,"44":0,"45":0.00476,"46":0,"47":0.00476,"48":0.00476,"49":0,"50":0.00476,"51":0.00476,"52":0.04762,"53":0.00476,"54":0,"55":0.00476,"56":0,"57":0.00476,"58":0,"59":0,"60":0.00476,"61":0.00476,"62":0.00476,"63":0,"64":0.00476,"65":0.00476,"66":0.02381,"67":0,"68":0.01429,"69":0.00476,"70":0,"71":0,"72":0.00476,"73":0.02857,"74":0,"75":0,"76":0,"77":0,"78":0.04762,"79":0,"80":0,"81":0.00476,"82":0,"83":0.00476,"84":0.00952,"85":0.00476,"86":0,"87":0.00952,"88":0.02381,"89":0.09524,"90":0.55715,"91":0.77621,"92":0.00476,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.02381,"39":0,"40":0,"41":0,"42":0,"43":0.00952,"44":0,"45":0,"46":0,"47":0.00476,"48":0.00476,"49":0.13334,"50":0.00476,"51":0,"52":0.00476,"53":0,"54":0,"55":0.00476,"56":0,"57":0.00476,"58":0.00476,"59":0,"60":0.00476,"61":0,"62":0.01905,"63":0.00476,"64":0,"65":0.00952,"66":0.00476,"67":0.00476,"68":0.00476,"69":0.00952,"70":0.00952,"71":0.02381,"72":0.00952,"73":0.00476,"74":0.02381,"75":0.00952,"76":0.00952,"77":0.01429,"78":0.00952,"79":0.03333,"80":0.11905,"81":0.03333,"83":0.01429,"84":0.01429,"85":0.01905,"86":0.76668,"87":0.1,"88":0.0381,"89":0.06667,"90":0.11429,"91":0.73811,"92":14.82411,"93":0.00952,"94":0.00952,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00476,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.00476,"75":0,"76":0,"77":0.52382,"78":0.48096,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0.00434,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02606,"6.0-6.1":0.00652,"7.0-7.1":0.03367,"8.1-8.4":0,"9.0-9.2":0.00109,"9.3":0.06082,"10.0-10.2":0.00434,"10.3":0.07819,"11.0-11.2":0.01955,"11.3-11.4":0.04344,"12.0-12.1":0.02715,"12.2-12.4":0.10426,"13.0-13.1":0.0152,"13.2":0.00543,"13.3":0.11186,"13.4-13.7":0.31169,"14.0-14.4":1.08602,"14.5-14.7":7.91603},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.02381,"14":0.06667,"15":0.00476,_:"0","3.1":0,"3.2":0,"5.1":0.01429,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00476,"12.1":0.04762,"13.1":0.06667,"14.1":0.37144},B:{"12":0.00476,"13":0.00476,"14":0.00476,"15":0.00476,"16":0,"17":0.00476,"18":0.01429,"79":0,"80":0.00476,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.00476,"90":0.00476,"91":0.02381,"92":1.12859,"93":0},P:{"4":0.10172,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.15258,"8.2":0.01017,"9.2":0.06103,"10.1":0.03052,"11.1-11.2":0.1424,"12.0":0.11189,"13.0":0.15258,"14.0":1.63765},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.04327,"4.2-4.3":0.03365,"4.4":0,"4.4.3-4.4.4":0.27403},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.10953,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.23047},Q:{"10.4":0},O:{"0":0.01571},H:{"0":0.14877},L:{"0":63.49296},S:{"2.5":0.00524}}; diff --git a/node_modules/caniuse-lite/data/regions/UZ.js b/node_modules/caniuse-lite/data/regions/UZ.js new file mode 100644 index 00000000..3b7f8c92 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/UZ.js @@ -0,0 +1 @@ +module.exports={C:{"33":0.11769,"48":0.04315,"52":0.07061,"57":0.01569,"68":0.00392,"72":1.06313,"73":0.01962,"78":0.07061,"79":0.02354,"87":0.00392,"88":0.00785,"89":0.03138,"90":0.72576,"91":0.61591,"92":0.01177,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 58 59 60 61 62 63 64 65 66 67 69 70 71 74 75 76 77 80 81 82 83 84 85 86 93 3.5 3.6"},D:{"11":0.00392,"34":0.00392,"35":0.00392,"38":0.01177,"47":0.00785,"48":0.00392,"49":0.22361,"53":0.00392,"56":0.02746,"57":0.00785,"63":0.00392,"66":0.04708,"67":0.00392,"68":0.01177,"70":0.00392,"71":0.06277,"72":0.00785,"73":0.03531,"74":0.01177,"75":0.00392,"76":0.00392,"77":0.00392,"78":0.00392,"79":0.12946,"80":0.02746,"81":0.05885,"83":0.05492,"84":0.02746,"85":0.05492,"86":0.11377,"87":0.22361,"88":0.10592,"89":0.051,"90":0.14123,"91":0.94937,"92":24.65998,"93":0.02746,"94":0.02354,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 36 37 39 40 41 42 43 44 45 46 50 51 52 54 55 58 59 60 61 62 64 65 69 95 96"},F:{"28":0.01569,"34":0.01177,"35":0.00392,"36":0.00785,"44":0.00785,"45":0.01177,"50":0.00392,"51":0.00392,"53":0.04315,"54":0.00785,"55":0.01177,"56":0.01962,"57":0.05492,"58":0.03138,"60":0.03531,"62":0.04315,"63":0.01962,"64":0.04315,"65":0.01569,"66":0.02354,"67":0.01177,"68":0.01569,"69":0.01177,"70":0.04708,"71":0.01962,"72":0.05885,"73":0.03923,"74":0.01569,"75":0.02746,"76":0.06277,"77":0.08631,"78":0.02354,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 37 38 39 40 41 42 43 46 47 48 49 52 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00392},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00104,"5.0-5.1":0.00467,"6.0-6.1":0,"7.0-7.1":0.04718,"8.1-8.4":0.00156,"9.0-9.2":0.00778,"9.3":0.06326,"10.0-10.2":0.00726,"10.3":0.12859,"11.0-11.2":0.03526,"11.3-11.4":0.04563,"12.0-12.1":0.02385,"12.2-12.4":0.08659,"13.0-13.1":0.02074,"13.2":0.00881,"13.3":0.05392,"13.4-13.7":0.17681,"14.0-14.4":0.83687,"14.5-14.7":3.18416},E:{"4":0,"13":0.00785,"14":0.13731,"15":0.00392,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 11.1","5.1":1.49074,"10.1":0.00392,"12.1":0.01177,"13.1":0.08238,"14.1":0.44722},B:{"15":0.00785,"16":0.01962,"17":0.00785,"18":0.04315,"84":0.02354,"85":0.01569,"89":0.01569,"91":0.03138,"92":1.09844,_:"12 13 14 79 80 81 83 86 87 88 90 93"},P:{"4":1.07139,"5.0-5.4":0.10107,"6.2-6.4":0.21226,"7.2-7.4":0.51548,"8.2":0.04043,"9.2":0.19204,"10.1":0.06064,"11.1-11.2":0.46494,"12.0":0.23247,"13.0":0.57612,"14.0":2.35504},I:{"0":0,"3":0,"4":0.00131,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00263,"4.2-4.3":0.00657,"4.4":0,"4.4.3-4.4.4":0.04418},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.0117,"11":0.33352,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.06077},Q:{"10.4":0.12154},O:{"0":4.94668},H:{"0":0.48328},L:{"0":44.72445},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/VA.js b/node_modules/caniuse-lite/data/regions/VA.js new file mode 100644 index 00000000..f3e98b8f --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/VA.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.05812,"39":0.11623,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.01937,"49":0,"50":0,"51":0,"52":0.07749,"53":0,"54":0,"55":0.01937,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00969,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00969,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0.08717,"88":0,"89":2.005,"90":3.99063,"91":6.08281,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.05812,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.53273,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00969,"76":0,"77":0.07749,"78":0,"79":0,"80":0,"81":0.20341,"83":0,"84":0.43587,"85":0,"86":0,"87":0.1356,"88":0.03874,"89":0,"90":0.00969,"91":0.60053,"92":55.06491,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00969,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.16466,"78":0.02906,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.02634,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.05268,"10.0-10.2":0,"10.3":0.13081,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0.33977,"13.0-13.1":0.07902,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0.15715,"14.5-14.7":3.71109},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00969,"14":0.0678,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":1.06546,"11.1":0.04843,"12.1":0.52304,"13.1":0.12592,"14.1":1.98563},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":1.05577,"18":0.27121,"79":0,"80":0,"81":0,"83":0,"84":0.00969,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0.07749,"92":15.10047,"93":0},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0,"12.0":0,"13.0":0,"14.0":0.8179},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":1.53039,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0.00803},L:{"0":2.07677},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/VC.js b/node_modules/caniuse-lite/data/regions/VC.js new file mode 100644 index 00000000..fa651e71 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/VC.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.00856,"54":0.00428,"58":0.00428,"63":0.00428,"86":0.00856,"88":0.01284,"89":0.0214,"90":0.56483,"91":1.43347,"92":0.00856,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 55 56 57 59 60 61 62 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 87 93 3.5 3.6"},D:{"45":0.00856,"47":0.00428,"49":0.36799,"53":0.07702,"56":0.0214,"63":0.01284,"66":0.00856,"70":0.0214,"74":0.82157,"75":0.01284,"76":0.01284,"78":0.01712,"79":0.03423,"80":0.00856,"81":0.70604,"83":0.00856,"84":0.04279,"86":0.00428,"87":0.04707,"88":0.02995,"89":0.03851,"90":0.15404,"91":1.43347,"92":18.51951,"93":0.07702,"94":0.00428,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 48 50 51 52 54 55 57 58 59 60 61 62 64 65 67 68 69 71 72 73 77 85 95 96"},F:{"53":0.00856,"54":0.00856,"55":0.00428,"77":0.184,"78":0.47069,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00401,"6.0-6.1":0.0008,"7.0-7.1":0.22127,"8.1-8.4":0.00882,"9.0-9.2":0,"9.3":0.07536,"10.0-10.2":0.00561,"10.3":0.04008,"11.0-11.2":0.01443,"11.3-11.4":0.01684,"12.0-12.1":0.01603,"12.2-12.4":0.10262,"13.0-13.1":0.00641,"13.2":0.00241,"13.3":0.02565,"13.4-13.7":0.11865,"14.0-14.4":0.71511,"14.5-14.7":6.10325},E:{"4":0,"11":0.00856,"12":0.01284,"13":0.01712,"14":0.27814,"15":0.0214,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1 10.1 11.1","5.1":0.01284,"12.1":0.02567,"13.1":0.21823,"14.1":1.36928},B:{"12":0.01284,"13":0.04279,"16":0.01712,"17":0.01712,"18":0.50492,"81":0.00428,"83":0.00428,"84":0.01712,"85":0.00856,"86":0.00856,"87":0.00856,"89":0.02995,"90":0.01284,"91":0.29097,"92":8.2927,_:"14 15 79 80 88 93"},P:{"4":0.79584,"5.0-5.4":0.02079,"6.2-6.4":0.02137,"7.2-7.4":0.11878,"8.2":0.12445,"9.2":0.60579,"10.1":0.08315,"11.1-11.2":0.23756,"12.0":0.03563,"13.0":0.17817,"14.0":4.12173},I:{"0":0,"3":0,"4":0.00112,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00391,"4.2-4.3":0.00391,"4.4":0,"4.4.3-4.4.4":0.05972},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.54771,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.02439,_:"10"},R:{_:"0"},M:{"0":0.24028},Q:{"10.4":0},O:{"0":0.09726},H:{"0":0.07583},L:{"0":47.85703},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/VE.js b/node_modules/caniuse-lite/data/regions/VE.js new file mode 100644 index 00000000..be63bf10 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/VE.js @@ -0,0 +1 @@ +module.exports={C:{"8":0.00594,"27":0.07122,"38":0.00594,"40":0.01187,"43":0.01187,"45":0.01187,"47":0.02374,"48":0.02374,"51":0.00594,"52":0.50448,"54":0.00594,"56":0.01187,"57":0.00594,"58":0.00594,"59":0.01781,"60":0.02968,"61":0.01187,"62":0.00594,"63":0.00594,"65":0.01781,"66":0.01781,"67":0.00594,"68":0.02968,"69":0.01187,"70":0.01781,"71":0.01781,"72":0.04155,"74":0.00594,"77":0.00594,"78":0.12464,"79":0.00594,"80":0.00594,"81":0.01187,"82":0.01187,"83":0.01187,"84":0.01781,"85":0.01781,"86":0.01781,"87":0.02374,"88":0.05935,"89":0.11277,"90":1.34131,"91":1.88733,"92":0.01781,_:"2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 37 39 41 42 44 46 49 50 53 55 64 73 75 76 93 3.5 3.6"},D:{"22":0.01187,"37":0.01187,"42":0.01187,"45":0.00594,"46":0.00594,"47":0.01187,"48":0.01187,"49":0.74188,"51":0.00594,"53":0.00594,"55":0.01781,"56":0.00594,"57":0.00594,"58":0.01781,"59":0.00594,"60":0.00594,"61":0.01781,"62":0.00594,"63":0.03561,"64":0.01781,"65":0.04748,"66":0.01781,"67":0.04155,"68":0.01781,"69":0.07122,"70":0.04748,"71":0.05935,"72":0.05342,"73":0.02374,"74":0.03561,"75":0.08903,"76":0.07122,"77":0.02968,"78":0.03561,"79":0.13651,"80":0.06529,"81":0.07122,"83":0.08903,"84":0.06529,"85":0.09496,"86":0.14244,"87":0.88432,"88":0.19586,"89":0.19586,"90":0.5935,"91":1.82205,"92":36.43497,"93":0.02968,"94":0.01187,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 43 44 50 52 54 95 96"},F:{"57":0.01187,"68":0.01187,"70":0.00594,"71":0.00594,"74":0.00594,"76":0.00594,"77":1.31164,"78":1.17513,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 60 62 63 64 65 66 67 69 72 73 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00026,"3.2":0.00026,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00958,"6.0-6.1":0.00648,"7.0-7.1":0.02409,"8.1-8.4":0.00207,"9.0-9.2":0.0013,"9.3":0.14168,"10.0-10.2":0.00907,"10.3":0.09143,"11.0-11.2":0.01062,"11.3-11.4":0.0114,"12.0-12.1":0.01399,"12.2-12.4":0.06061,"13.0-13.1":0.00932,"13.2":0.00285,"13.3":0.04533,"13.4-13.7":0.08962,"14.0-14.4":0.28984,"14.5-14.7":1.45255},E:{"4":0,"13":0.01187,"14":0.05935,_:"0 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.08903,"11.1":0.01187,"12.1":0.01187,"13.1":0.04748,"14.1":0.2374},B:{"12":0.00594,"18":0.02374,"79":0.00594,"83":0.00594,"84":0.01187,"89":0.01187,"90":0.01187,"91":0.05342,"92":1.70928,_:"13 14 15 16 17 80 81 85 86 87 88 93"},P:{"4":0.11906,"5.0-5.4":0.10107,"6.2-6.4":0.21226,"7.2-7.4":0.14071,"8.2":0.04043,"9.2":0.02165,"10.1":0.06064,"11.1-11.2":0.09742,"12.0":0.0433,"13.0":0.15154,"14.0":1.20146},I:{"0":0,"3":0,"4":0.00041,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00421,"4.2-4.3":0.00535,"4.4":0,"4.4.3-4.4.4":0.03475},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01352,"9":0.01352,"10":0.00676,"11":0.20954,_:"6 7 5.5"},J:{"7":0,"10":0.02033},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.16667},Q:{"10.4":0},O:{"0":0.05691},H:{"0":0.45797},L:{"0":42.31319},S:{"2.5":0.00813}}; diff --git a/node_modules/caniuse-lite/data/regions/VG.js b/node_modules/caniuse-lite/data/regions/VG.js new file mode 100644 index 00000000..f5adbb56 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/VG.js @@ -0,0 +1 @@ +module.exports={C:{"89":0.0386,"90":0.5597,"91":0.4053,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 92 93 3.5 3.6"},D:{"49":0.12063,"50":0.03378,"67":0.00965,"69":0.01448,"73":0.03378,"74":0.53075,"78":0.04343,"79":0.37635,"80":0.10615,"81":0.06273,"83":0.01448,"86":0.00483,"87":0.09168,"88":0.04343,"89":0.01448,"90":0.22678,"91":1.68875,"92":24.3373,"93":0.0579,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 70 71 72 75 76 77 84 85 94 95 96"},F:{"77":0.27503,"78":0.24125,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00169,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.01181,"9.0-9.2":0,"9.3":0.34418,"10.0-10.2":0,"10.3":0.01518,"11.0-11.2":0.02699,"11.3-11.4":0.02531,"12.0-12.1":0.02025,"12.2-12.4":0.06243,"13.0-13.1":0.00506,"13.2":0,"13.3":0.07255,"13.4-13.7":0.22608,"14.0-14.4":1.65173,"14.5-14.7":14.21772},E:{"4":0,"13":0.1158,"14":0.7527,"15":0.00483,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01448,"11.1":0.0193,"12.1":0.10615,"13.1":0.0772,"14.1":5.597},B:{"13":0.1351,"15":0.05308,"16":0.10133,"18":0.18335,"84":0.00965,"91":0.16405,"92":9.96845,_:"12 14 17 79 80 81 83 85 86 87 88 89 90 93"},P:{"4":0.15574,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.38417,"8.2":0.02077,"9.2":0.09345,"10.1":0.02004,"11.1-11.2":0.89293,"12.0":0.14536,"13.0":0.7891,"14.0":4.93191},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.24125,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.119},Q:{"10.4":0},O:{"0":0.16039},H:{"0":0.08327},L:{"0":27.7347},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/VI.js b/node_modules/caniuse-lite/data/regions/VI.js new file mode 100644 index 00000000..76dd794f --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/VI.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01008,"68":0.00504,"78":0.03527,"88":0.03023,"89":0.13101,"90":0.95237,"91":1.16905,"92":0.00504,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 93 3.5 3.6"},D:{"38":0.01008,"47":0.00504,"49":0.03023,"53":0.01512,"54":0.00504,"65":0.01512,"68":0.03023,"70":0.01512,"72":0.03527,"73":0.01008,"74":0.60972,"75":0.0252,"76":0.01512,"77":0.00504,"78":0.03023,"79":0.1159,"80":0.17133,"83":0.0252,"84":0.01008,"85":0.0252,"86":0.05039,"87":0.12598,"88":0.06047,"89":0.16629,"90":0.37289,"91":2.1315,"92":21.61731,"93":0.01512,"94":0.01008,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 55 56 57 58 59 60 61 62 63 64 66 67 69 71 81 95 96"},F:{"77":0.08566,"78":0.13605,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00575,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.26743,"10.0-10.2":0,"10.3":0.25305,"11.0-11.2":0.02013,"11.3-11.4":0.03451,"12.0-12.1":0.00863,"12.2-12.4":0.18691,"13.0-13.1":0.01438,"13.2":0.00863,"13.3":0.05751,"13.4-13.7":0.3422,"14.0-14.4":2.12219,"14.5-14.7":25.035},E:{"4":0,"12":0.01512,"13":0.07559,"14":0.95741,"15":0.04535,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01008,"11.1":0.01512,"12.1":0.15621,"13.1":0.48374,"14.1":7.47284},B:{"15":0.01008,"16":0.04031,"17":0.00504,"18":0.11086,"84":0.01512,"85":0.0252,"86":0.00504,"87":0.01512,"88":0.01008,"89":0.03023,"90":0.01008,"91":0.17637,"92":9.4582,_:"12 13 14 79 80 81 83 93"},P:{"4":0.19895,"5.0-5.4":0.01047,"6.2-6.4":0.21226,"7.2-7.4":0.04188,"8.2":0.04043,"9.2":0.02165,"10.1":0.06064,"11.1-11.2":0.20942,"12.0":0.0433,"13.0":0.05236,"14.0":3.78007},I:{"0":0,"3":0,"4":0.00331,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00248,"4.4":0,"4.4.3-4.4.4":0.00909},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00504,"11":0.69538,_:"7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.55552},Q:{"10.4":0},O:{"0":0.12896},H:{"0":0.07983},L:{"0":17.0216},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/VN.js b/node_modules/caniuse-lite/data/regions/VN.js new file mode 100644 index 00000000..2f5e6776 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/VN.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00485,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00485,"36":0.00485,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.02426,"53":0,"54":0,"55":0,"56":0.00485,"57":0.00485,"58":0,"59":0,"60":0.00485,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00485,"68":0.00485,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02426,"79":0.01456,"80":0.0097,"81":0.0097,"82":0.00485,"83":0.00485,"84":0.0097,"85":0,"86":0,"87":0,"88":0.01941,"89":0.09704,"90":0.18923,"91":0.30082,"92":0.00485,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00485,"23":0,"24":0.00485,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00485,"35":0,"36":0,"37":0,"38":0.01941,"39":0,"40":0,"41":0.00485,"42":0.00485,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00485,"49":0.24745,"50":0,"51":0,"52":0,"53":0.0097,"54":0,"55":0,"56":0.0097,"57":0.0097,"58":0.00485,"59":0,"60":0,"61":0.18923,"62":0.00485,"63":0.0097,"64":0,"65":0.0097,"66":0.00485,"67":0.00485,"68":0.00485,"69":0.00485,"70":0.00485,"71":0.00485,"72":0.00485,"73":0.00485,"74":0.00485,"75":0.01456,"76":0.0097,"77":0.0097,"78":0.0097,"79":0.04367,"80":0.03396,"81":0.02911,"83":0.06308,"84":0.10189,"85":0.08734,"86":0.1213,"87":0.37846,"88":0.02911,"89":0.05822,"90":0.1213,"91":0.40272,"92":12.75591,"93":0.01941,"94":0.0097,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.0097,"37":0.02426,"38":0,"39":0,"40":0.00485,"41":0,"42":0,"43":0.00485,"44":0,"45":0,"46":0.0097,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.0097,"60":0.00485,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00485,"70":0.00485,"71":0.00485,"72":0.00485,"73":0,"74":0.00485,"75":0,"76":0,"77":0.18438,"78":0.19893,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.00255,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01532,"6.0-6.1":0.02298,"7.0-7.1":0.07405,"8.1-8.4":0.05618,"9.0-9.2":0.06384,"9.3":0.31153,"10.0-10.2":0.09959,"10.3":0.43665,"11.0-11.2":0.20173,"11.3-11.4":0.33962,"12.0-12.1":0.24769,"12.2-12.4":0.98311,"13.0-13.1":0.16598,"13.2":0.10469,"13.3":0.5056,"13.4-13.7":1.62405,"14.0-14.4":4.17247,"14.5-14.7":13.53373},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00485,"13":0.02911,"14":0.131,"15":0.0097,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00485,"11.1":0.0097,"12.1":0.01941,"13.1":0.08734,"14.1":0.46579},B:{"12":0.00485,"13":0,"14":0.0097,"15":0.00485,"16":0.00485,"17":0.00485,"18":0.03396,"79":0,"80":0,"81":0,"83":0.00485,"84":0.0097,"85":0.00485,"86":0.0097,"87":0.00485,"88":0,"89":0.0097,"90":0.0097,"91":0.02426,"92":0.9801,"93":0.00485},P:{"4":0.40446,"5.0-5.4":0.02022,"6.2-6.4":0.01011,"7.2-7.4":0.091,"8.2":0.02022,"9.2":0.07078,"10.1":0.03033,"11.1-11.2":0.19212,"12.0":0.08089,"13.0":0.20223,"14.0":1.60773},I:{"0":0,"3":0,"4":0.00157,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00236,"4.2-4.3":0.0118,"4.4":0,"4.4.3-4.4.4":0.08338},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0053,"9":0.0053,"10":0.0053,"11":0.27036,"5.5":0},J:{"7":0,"10":0.00515},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.08237},Q:{"10.4":0.01544},O:{"0":1.34878},H:{"0":0.2973},L:{"0":46.4379},S:{"2.5":0.00515}}; diff --git a/node_modules/caniuse-lite/data/regions/VU.js b/node_modules/caniuse-lite/data/regions/VU.js new file mode 100644 index 00000000..02abbc9e --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/VU.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00396,"33":0,"34":0.00791,"35":0,"36":0,"37":0,"38":0.00396,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.06331,"48":0,"49":0,"50":0,"51":0,"52":0.00396,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00396,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02374,"79":0,"80":0,"81":0,"82":0.03561,"83":0,"84":0,"85":0.04748,"86":0,"87":0,"88":0.00791,"89":0.0554,"90":0.24138,"91":0.33635,"92":0.05144,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00396,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00791,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01979,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.01187,"56":0,"57":0,"58":0.00791,"59":0.00791,"60":0.00396,"61":0,"62":0,"63":0,"64":0.00791,"65":0,"66":0,"67":0,"68":0,"69":0.04353,"70":0,"71":0.00396,"72":0.00396,"73":0,"74":0.01187,"75":0,"76":0,"77":0.00396,"78":0.01583,"79":0.11475,"80":0.00396,"81":0.07518,"83":0.02374,"84":0.0277,"85":0.01187,"86":0.0277,"87":0.05936,"88":0,"89":0.01979,"90":0.0277,"91":0.34426,"92":6.65172,"93":0.00396,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.01187,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.10288,"78":0.09101,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0.02836,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00774,"8.1-8.4":0.03954,"9.0-9.2":0.01547,"9.3":0.3206,"10.0-10.2":0.01289,"10.3":0.00516,"11.0-11.2":0.06189,"11.3-11.4":0.07564,"12.0-12.1":0.13323,"12.2-12.4":0.0361,"13.0-13.1":0.01805,"13.2":0.00516,"13.3":0.07306,"13.4-13.7":0.11947,"14.0-14.4":0.58362,"14.5-14.7":6.96217},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00396,"12":0,"13":0.00396,"14":0.13454,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.01187,"12.1":0.01583,"13.1":0.20576,"14.1":0.71622},B:{"12":0.0277,"13":0.00791,"14":0,"15":0.01187,"16":0.01583,"17":0.03561,"18":0.0277,"79":0,"80":0.00791,"81":0,"83":0,"84":0.00396,"85":0,"86":0.00396,"87":0.00396,"88":0,"89":0.04748,"90":0.01187,"91":0.07914,"92":3.28827,"93":0},P:{"4":0.21361,"5.0-5.4":0.01017,"6.2-6.4":0.01017,"7.2-7.4":0.53911,"8.2":0,"9.2":0.05086,"10.1":0,"11.1-11.2":0.23395,"12.0":0.03052,"13.0":0.11189,"14.0":1.03754},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.70288},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.00791,"11":0.06331,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.07856},Q:{"10.4":0.04834},O:{"0":1.05753},H:{"0":0.6236},L:{"0":71.67709},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/WF.js b/node_modules/caniuse-lite/data/regions/WF.js new file mode 100644 index 00000000..b2d162cd --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/WF.js @@ -0,0 +1 @@ +module.exports={C:{"60":0.42089,"78":0.77269,"88":0.49,"90":8.0284,"91":5.70406,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 92 93 3.5 3.6"},D:{"65":0.0691,"87":0.91717,"88":0.28269,"91":0.63448,"92":13.44976,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 89 90 93 94 95 96"},F:{"77":0.35179,"78":19.43651,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.57755,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0.07204,"13.4-13.7":0.14408,"14.0-14.4":1.58918,"14.5-14.7":2.74428},E:{"4":0,"13":0.0691,"14":0.98627,_:"0 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.42089,"13.1":0.1382,"14.1":8.38019},B:{"86":0.0691,"92":0.70358,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 87 88 89 90 91 93"},P:{"4":0.19895,"5.0-5.4":0.01047,"6.2-6.4":0.21226,"7.2-7.4":0.04188,"8.2":0.04043,"9.2":0.02165,"10.1":0.06064,"11.1-11.2":0.37653,"12.0":0.0433,"13.0":0.05236,"14.0":4.60201},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.07436},Q:{"10.4":0},O:{"0":0.2268},H:{"0":0},L:{"0":27.65779},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/WS.js b/node_modules/caniuse-lite/data/regions/WS.js new file mode 100644 index 00000000..4746b70b --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/WS.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.0154,"29":0,"30":0.00385,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00385,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.01155,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.0077,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0.00385,"87":0.0077,"88":0.01155,"89":0.0077,"90":0.15404,"91":0.38125,"92":0.00385,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00385,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.0077,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.42361,"65":0.01155,"66":0,"67":0,"68":0,"69":0,"70":0.02311,"71":0,"72":0.0154,"73":0.00385,"74":0.00385,"75":0,"76":0,"77":0,"78":0.01926,"79":0.01155,"80":0,"81":0.01155,"83":0,"84":0.00385,"85":0,"86":0.00385,"87":0.00385,"88":0.00385,"89":0.00385,"90":0.06932,"91":0.48523,"92":6.9395,"93":0.0077,"94":0.01926,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.0154,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00385,"47":0.00385,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00385,"55":0.00385,"56":0,"57":0.05391,"58":0.1887,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.02311,"78":0.01155,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.04652,"10.0-10.2":0.00431,"10.3":0.0112,"11.0-11.2":0.03101,"11.3-11.4":0.01551,"12.0-12.1":0.11457,"12.2-12.4":0.21536,"13.0-13.1":0.06202,"13.2":0.43934,"13.3":0.26791,"13.4-13.7":1.2758,"14.0-14.4":2.12949,"14.5-14.7":3.52503},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0154,"12":0,"13":0.01155,"14":0.12323,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.04236,"13.1":0.03466,"14.1":0.09242},B:{"12":0.0154,"13":0.00385,"14":0.00385,"15":0.02311,"16":0.01155,"17":0.03851,"18":0.09242,"79":0,"80":0.00385,"81":0,"83":0,"84":0,"85":0.00385,"86":0.00385,"87":0,"88":0.00385,"89":0.0077,"90":0.01926,"91":0.05006,"92":1.10139,"93":0},P:{"4":0.62007,"5.0-5.4":0.09149,"6.2-6.4":0.06099,"7.2-7.4":1.03684,"8.2":0.06099,"9.2":0.06099,"10.1":0.57941,"11.1-11.2":0.42694,"12.0":0.15248,"13.0":0.18297,"14.0":2.1855},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.01455,"4.4":0,"4.4.3-4.4.4":0.05626},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00556,"10":0,"11":0.0445,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.11683},Q:{"10.4":0.15987},O:{"0":2.18904},H:{"0":0.94308},L:{"0":68.66304},S:{"2.5":0.06764}}; diff --git a/node_modules/caniuse-lite/data/regions/YE.js b/node_modules/caniuse-lite/data/regions/YE.js new file mode 100644 index 00000000..4e97beb8 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/YE.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0.00676,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00225,"44":0,"45":0,"46":0,"47":0.00225,"48":0,"49":0,"50":0,"51":0,"52":0.00676,"53":0.00225,"54":0,"55":0,"56":0.00225,"57":0.00225,"58":0.00225,"59":0.00225,"60":0.00225,"61":0,"62":0.00225,"63":0,"64":0.00225,"65":0,"66":0.00225,"67":0,"68":0.01127,"69":0,"70":0,"71":0,"72":0.00451,"73":0,"74":0.00225,"75":0,"76":0.00225,"77":0,"78":0.00451,"79":0,"80":0.00225,"81":0.00225,"82":0.00225,"83":0.00451,"84":0.00676,"85":0.00676,"86":0.00451,"87":0.00225,"88":0.00901,"89":0.01802,"90":0.12392,"91":0.18249,"92":0.00225,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00225,"34":0,"35":0,"36":0,"37":0.00225,"38":0,"39":0,"40":0.00225,"41":0,"42":0.00225,"43":0.00225,"44":0,"45":0,"46":0,"47":0,"48":0.00225,"49":0.00225,"50":0,"51":0.00225,"52":0,"53":0.00225,"54":0,"55":0.00225,"56":0.00225,"57":0.00225,"58":0.00225,"59":0,"60":0,"61":0,"62":0.00225,"63":0.00451,"64":0.00225,"65":0,"66":0.00451,"67":0,"68":0.00225,"69":0.00225,"70":0.00451,"71":0.00451,"72":0.00225,"73":0.00225,"74":0.00451,"75":0.00225,"76":0.00451,"77":0.00225,"78":0.00676,"79":0.01802,"80":0.00451,"81":0.00676,"83":0.01577,"84":0.00901,"85":0.00901,"86":0.01802,"87":0.04281,"88":0.01577,"89":0.02704,"90":0.02704,"91":0.15546,"92":1.83845,"93":0,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.02929,"29":0,"30":0.00225,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00225,"38":0.01352,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0.00225,"54":0.00225,"55":0.00225,"56":0.00225,"57":0,"58":0.0766,"60":0,"62":0,"63":0,"64":0.00676,"65":0.00225,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.02028,"78":0.01127,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02253},G:{"8":0.00081,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0499,"5.0-5.1":0.01187,"6.0-6.1":0.00593,"7.0-7.1":0.04586,"8.1-8.4":0.00081,"9.0-9.2":0.0027,"9.3":0.0375,"10.0-10.2":0.00971,"10.3":0.05665,"11.0-11.2":0.04208,"11.3-11.4":0.09199,"12.0-12.1":0.05908,"12.2-12.4":0.21607,"13.0-13.1":0.0259,"13.2":0.01538,"13.3":0.0785,"13.4-13.7":0.18208,"14.0-14.4":0.68868,"14.5-14.7":0.83867},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.00451,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00901,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0,"14.1":0.01352},B:{"12":0,"13":0,"14":0,"15":0.00225,"16":0,"17":0,"18":0.00451,"79":0,"80":0,"81":0,"83":0,"84":0.00225,"85":0.00225,"86":0,"87":0,"88":0,"89":0.00451,"90":0.00225,"91":0.01127,"92":0.14645,"93":0},P:{"4":0.39432,"5.0-5.4":0.11122,"6.2-6.4":0.05055,"7.2-7.4":0.15166,"8.2":0.02022,"9.2":0.22244,"10.1":0.091,"11.1-11.2":0.21233,"12.0":0.091,"13.0":0.57631,"14.0":2.58836},I:{"0":0,"3":0,"4":0.00184,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01106,"4.2-4.3":0.01475,"4.4":0,"4.4.3-4.4.4":0.20164},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.07435,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.38735},Q:{"10.4":0.00775},O:{"0":3.8735},H:{"0":5.42743},L:{"0":76.28384},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/YT.js b/node_modules/caniuse-lite/data/regions/YT.js new file mode 100644 index 00000000..6d73bb44 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/YT.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.02052,"36":0.02052,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.02566,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.02052,"69":0,"70":0.01026,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.13341,"79":0,"80":0,"81":0,"82":0.02052,"83":0,"84":0.00513,"85":0.01539,"86":0.01539,"87":0,"88":0.02052,"89":0.06157,"90":1.75993,"91":2.07292,"92":0,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00513,"51":0,"52":0,"53":0,"54":0,"55":0.01026,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00513,"62":0,"63":0.01026,"64":0,"65":0,"66":0,"67":0.01026,"68":0.00513,"69":0.00513,"70":0.02052,"71":0,"72":0,"73":0.05131,"74":0.01026,"75":0.01026,"76":0,"77":0,"78":0,"79":0.01026,"80":0.01026,"81":0.12828,"83":0,"84":0,"85":0.01539,"86":0.04105,"87":0.01026,"88":0.01026,"89":0.06157,"90":0.02566,"91":0.52336,"92":11.78078,"93":0.00513,"94":0,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.10262,"78":0.16419,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.03253,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.03253,"10.0-10.2":0,"10.3":0.50419,"11.0-11.2":0.08945,"11.3-11.4":0.17484,"12.0-12.1":0.00407,"12.2-12.4":0.10978,"13.0-13.1":0,"13.2":0,"13.3":0.07116,"13.4-13.7":0.17484,"14.0-14.4":3.80379,"14.5-14.7":14.41008},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00513,"13":0.14367,"14":0.4464,"15":0.00513,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00513,"11.1":0.03079,"12.1":0.02566,"13.1":0.14367,"14.1":1.32893},B:{"12":0,"13":0,"14":0,"15":0,"16":0.00513,"17":0.01539,"18":0.03079,"79":0,"80":0.00513,"81":0,"83":0,"84":0.01026,"85":0,"86":0.01026,"87":0,"88":0.01026,"89":0.02566,"90":0.00513,"91":0.11288,"92":4.88984,"93":0},P:{"4":0.02026,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.09117,"8.2":0,"9.2":0.02026,"10.1":0,"11.1-11.2":0.23299,"12.0":0.01013,"13.0":0.2026,"14.0":3.92036},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.02191,"4.4":0,"4.4.3-4.4.4":0.30678},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.05644,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.25806},Q:{"10.4":0},O:{"0":0.02435},H:{"0":1.56728},L:{"0":45.94931},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/ZA.js b/node_modules/caniuse-lite/data/regions/ZA.js new file mode 100644 index 00000000..7102bdfe --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/ZA.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00224,"35":0.00673,"36":0.00673,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00673,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00224,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00224,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00449,"79":0,"80":0.01122,"81":0,"82":0.00224,"83":0,"84":0.00449,"85":0,"86":0,"87":0.00224,"88":0.00897,"89":0.01122,"90":0.10991,"91":0.15252,"92":0.00224,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00224,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00224,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00224,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00224,"47":0,"48":0,"49":0.01794,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00449,"56":0,"57":0,"58":0.00224,"59":0,"60":0,"61":0,"62":0,"63":0.00224,"64":0.00224,"65":0.00224,"66":0,"67":0.00224,"68":0.00224,"69":0.00224,"70":0.00673,"71":0.00224,"72":0.00224,"73":0.00224,"74":0.00449,"75":0.00224,"76":0.00224,"77":0.00224,"78":0.00224,"79":0.00897,"80":0.00449,"81":0.02916,"83":0.00673,"84":0.00449,"85":0.00224,"86":0.00673,"87":0.0471,"88":0.01122,"89":0.01122,"90":0.01794,"91":0.10991,"92":2.56824,"93":0.00224,"94":0.00224,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00673,"27":0,"28":0.00449,"29":0,"30":0.00224,"31":0,"32":0.00449,"33":0,"34":0,"35":0.0314,"36":0,"37":0,"38":0.00449,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00673,"47":0.00449,"48":0,"49":0,"50":0.00897,"51":0.0157,"52":0,"53":0,"54":0.0314,"55":0.01346,"56":0.01346,"57":0.02916,"58":0.4172,"60":0,"62":0,"63":0.00224,"64":0.00224,"65":0.00673,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.05159,"78":0.04262,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00224},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00407,"6.0-6.1":0.00407,"7.0-7.1":0.02035,"8.1-8.4":0.01356,"9.0-9.2":0.00814,"9.3":0.17226,"10.0-10.2":0.01492,"10.3":0.12208,"11.0-11.2":0.03798,"11.3-11.4":0.04883,"12.0-12.1":0.04069,"12.2-12.4":0.1899,"13.0-13.1":0.06375,"13.2":0.02848,"13.3":0.13022,"13.4-13.7":0.38251,"14.0-14.4":1.64668,"14.5-14.7":9.77702},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.0157,"14":0.04262,"15":0.00224,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00673,"12.1":0.00673,"13.1":0.02916,"14.1":0.20636},B:{"12":0.00224,"13":0.00224,"14":0.00224,"15":0.00224,"16":0.00449,"17":0.00449,"18":0.01794,"79":0,"80":0,"81":0,"83":0,"84":0.00224,"85":0.00224,"86":0,"87":0,"88":0.00224,"89":0.00449,"90":0.00224,"91":0.0157,"92":0.45533,"93":0},P:{"4":0.39721,"5.0-5.4":0.02037,"6.2-6.4":0.03055,"7.2-7.4":0.61109,"8.2":0.02037,"9.2":0.11203,"10.1":0.06111,"11.1-11.2":0.36666,"12.0":0.24444,"13.0":0.58054,"14.0":6.24334},I:{"0":0,"3":0,"4":0.00109,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00272,"4.2-4.3":0.00707,"4.4":0,"4.4.3-4.4.4":0.06258},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00236,"10":0,"11":0.12997,"5.5":0},J:{"7":0,"10":0.00776},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.43439},Q:{"10.4":0.01551},O:{"0":0.63607},H:{"0":3.84817},L:{"0":65.47812},S:{"2.5":0.00776}}; diff --git a/node_modules/caniuse-lite/data/regions/ZM.js b/node_modules/caniuse-lite/data/regions/ZM.js new file mode 100644 index 00000000..8827a046 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/ZM.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.0057,"5":0.01424,"15":0.00854,"17":0.01139,"34":0.00854,"37":0.01139,"43":0.0057,"45":0.0057,"47":0.01709,"48":0.01139,"49":0.00285,"52":0.02563,"56":0.00285,"60":0.00285,"64":0.0057,"67":0.00854,"68":0.00285,"71":0.00285,"72":0.0057,"74":0.0057,"78":0.03418,"81":0.00285,"84":0.00285,"85":0.00285,"86":0.0057,"87":0.0057,"88":0.01994,"89":0.08829,"90":0.56675,"91":0.87149,"92":0.05981,_:"2 3 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 38 39 40 41 42 44 46 50 51 53 54 55 57 58 59 61 62 63 65 66 69 70 73 75 76 77 79 80 82 83 93 3.5 3.6"},D:{"11":0.0057,"23":0.01424,"24":0.01994,"25":0.0057,"38":0.00285,"39":0.00854,"40":0.00285,"42":0.00854,"43":0.00854,"49":0.01709,"50":0.01139,"51":0.00854,"53":0.00285,"55":0.01139,"56":0.0057,"57":0.01424,"58":0.0057,"60":0.00854,"63":0.02563,"64":0.0057,"65":0.0057,"66":0.0057,"67":0.0057,"68":0.01709,"69":0.00854,"70":0.0057,"71":0.01424,"72":0.0057,"73":0.03133,"74":0.01139,"75":0.03133,"76":0.00854,"77":0.01994,"78":0.01709,"79":0.06266,"80":0.02563,"81":0.03418,"83":0.01424,"84":0.03702,"85":0.01139,"86":0.04557,"87":0.18512,"88":0.04842,"89":0.07405,"90":0.1481,"91":0.60093,"92":10.13888,"93":0.01994,"94":0.0057,"95":0.00854,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 26 27 28 29 30 31 32 33 34 35 36 37 41 44 45 46 47 48 52 54 59 61 62 96"},F:{"36":0.00285,"42":0.00854,"62":0.0057,"63":0.0057,"64":0.01709,"65":0.01709,"72":0.00285,"73":0.0057,"74":0.01424,"75":0.0057,"76":0.01709,"77":1.11642,"78":0.80598,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00294,"5.0-5.1":0.0049,"6.0-6.1":0.02158,"7.0-7.1":0.03188,"8.1-8.4":0,"9.0-9.2":0.00147,"9.3":0.1697,"10.0-10.2":0.00736,"10.3":0.13537,"11.0-11.2":0.09613,"11.3-11.4":0.1079,"12.0-12.1":0.03335,"12.2-12.4":0.22169,"13.0-13.1":0.03188,"13.2":0.02747,"13.3":0.08632,"13.4-13.7":0.17656,"14.0-14.4":0.98435,"14.5-14.7":1.98586},E:{"4":0,"13":0.00285,"14":0.0712,_:"0 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1","5.1":0.03987,"10.1":0.00285,"11.1":0.01424,"12.1":0.01139,"13.1":0.08544,"14.1":0.23923},B:{"12":0.0655,"13":0.04842,"14":0.02278,"15":0.03702,"16":0.03133,"17":0.04557,"18":0.12816,"80":0.00285,"84":0.01424,"85":0.01709,"86":0.02278,"87":0.0057,"88":0.0057,"89":0.04272,"90":0.02848,"91":0.09683,"92":1.99645,_:"79 81 83 93"},P:{"4":0.31068,"5.0-5.4":0.01047,"6.2-6.4":0.21226,"7.2-7.4":0.13463,"8.2":0.04043,"9.2":0.04142,"10.1":0.01036,"11.1-11.2":0.22783,"12.0":0.03107,"13.0":0.20712,"14.0":1.29448},I:{"0":0,"3":0,"4":0.00033,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0026,"4.2-4.3":0.007,"4.4":0,"4.4.3-4.4.4":0.09735},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02111,"9":0.01267,"10":0.02111,"11":0.30397,_:"6 7 5.5"},J:{"7":0,"10":0.03576},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.07152},Q:{"10.4":0.09298},O:{"0":3.576},H:{"0":19.56157},L:{"0":48.48693},S:{"2.5":0.05006}}; diff --git a/node_modules/caniuse-lite/data/regions/ZW.js b/node_modules/caniuse-lite/data/regions/ZW.js new file mode 100644 index 00000000..6c1d9e8d --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/ZW.js @@ -0,0 +1 @@ +module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00417,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00417,"48":0.00417,"49":0,"50":0,"51":0,"52":0.0125,"53":0.00417,"54":0,"55":0,"56":0,"57":0.00833,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00833,"65":0,"66":0,"67":0,"68":0.00833,"69":0,"70":0,"71":0,"72":0.01666,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02916,"79":0,"80":0,"81":0.0125,"82":0,"83":0.00833,"84":0.00417,"85":0.00417,"86":0.00417,"87":0.0125,"88":0.03333,"89":0.09998,"90":0.43326,"91":0.6499,"92":0.05416,"93":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01666,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.0125,"38":0,"39":0,"40":0.02083,"41":0,"42":0.00417,"43":0,"44":0,"45":0,"46":0.0125,"47":0.00417,"48":0,"49":0.01666,"50":0,"51":0,"52":0,"53":0.00417,"54":0,"55":0.0125,"56":0.00417,"57":0.00417,"58":0.01666,"59":0,"60":0.00417,"61":0.00833,"62":0,"63":0.025,"64":0.00417,"65":0.00417,"66":0.00417,"67":0.00833,"68":0.00417,"69":0.00833,"70":0.01666,"71":0.00417,"72":0.00833,"73":0.00417,"74":0.01666,"75":0.00833,"76":0.0125,"77":0.00833,"78":0.0125,"79":0.03749,"80":0.0125,"81":0.07082,"83":0.02083,"84":0.0125,"85":0.01666,"86":0.01666,"87":0.04999,"88":0.025,"89":0.04166,"90":0.07915,"91":0.41243,"92":7.98206,"93":0.0125,"94":0.00833,"95":0,"96":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0.00417,"20":0,"21":0,"22":0,"23":0,"24":0.00417,"25":0.00417,"26":0.04166,"27":0,"28":0.02916,"29":0.00417,"30":0.00833,"31":0.00417,"32":0.03333,"33":0.01666,"34":0.00417,"35":0.05416,"36":0.00417,"37":0.00417,"38":0.01666,"39":0,"40":0,"41":0.00833,"42":0.04583,"43":0,"44":0.00417,"45":0.00833,"46":0.0125,"47":0.01666,"48":0,"49":0,"50":0.05416,"51":0.04166,"52":0,"53":0,"54":0.09165,"55":0.04583,"56":0.03749,"57":0.12498,"58":1.11232,"60":0,"62":0,"63":0,"64":0.01666,"65":0.01666,"66":0,"67":0.00833,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.00417,"74":0.00417,"75":0.00417,"76":0.00833,"77":0.48742,"78":0.66239,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.24579},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00095,"5.0-5.1":0.00286,"6.0-6.1":0.00286,"7.0-7.1":0.04001,"8.1-8.4":0.00286,"9.0-9.2":0.00191,"9.3":0.11431,"10.0-10.2":0.00381,"10.3":0.17814,"11.0-11.2":0.27149,"11.3-11.4":0.0362,"12.0-12.1":0.05906,"12.2-12.4":0.17623,"13.0-13.1":0.03525,"13.2":0.01715,"13.3":0.13051,"13.4-13.7":0.34103,"14.0-14.4":1.53751,"14.5-14.7":5.79473},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00417,"13":0.03333,"14":0.08332,"15":0.00833,_:"0","3.1":0,"3.2":0,"5.1":0.05832,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.0125,"12.1":0.00833,"13.1":0.04999,"14.1":0.39577},B:{"12":0.03333,"13":0.0125,"14":0.00833,"15":0.03333,"16":0.01666,"17":0.025,"18":0.08749,"79":0,"80":0.00417,"81":0,"83":0,"84":0.0125,"85":0.01666,"86":0.00417,"87":0,"88":0.00417,"89":0.025,"90":0.0125,"91":0.08749,"92":1.35395,"93":0},P:{"4":0.34945,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.5139,"8.2":0.01028,"9.2":0.03083,"10.1":0.02056,"11.1-11.2":0.10278,"12.0":0.13361,"13.0":0.24667,"14.0":1.37725},I:{"0":0,"3":0,"4":0.00114,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00626,"4.2-4.3":0.02503,"4.4":0,"4.4.3-4.4.4":0.26507},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.00538,"11":0.12376,"5.5":0},J:{"7":0,"10":0.01167},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.19252},Q:{"10.4":0.04667},O:{"0":2.11191},H:{"0":9.12442},L:{"0":55.3964},S:{"2.5":0.01167}}; diff --git a/node_modules/caniuse-lite/data/regions/alt-af.js b/node_modules/caniuse-lite/data/regions/alt-af.js new file mode 100644 index 00000000..7c23c920 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/alt-af.js @@ -0,0 +1 @@ +module.exports={C:{"2":0.10571,"15":0.10571,"18":0.10571,"21":0.10285,"23":0.10285,"25":0.2057,"30":0.10571,"34":0.00286,"43":0.00857,"47":0.00857,"48":0.00571,"51":0.10571,"52":0.06,"56":0.00286,"60":0.00571,"65":0.00286,"68":0.00286,"72":0.00857,"78":0.04286,"80":0.01429,"81":0.00286,"82":0.00286,"83":0.00286,"84":0.02,"85":0.00571,"86":0.00571,"87":0.00857,"88":0.02571,"89":0.07714,"90":1.55135,"91":2.76843,"92":0.03143,_:"3 4 5 6 7 8 9 10 11 12 13 14 16 17 19 20 22 24 26 27 28 29 31 32 33 35 36 37 38 39 40 41 42 44 45 46 49 50 53 54 55 57 58 59 61 62 63 64 66 67 69 70 71 73 74 75 76 77 79 93 3.5 3.6"},D:{"11":0.00286,"19":0.10571,"24":0.31141,"26":0.00286,"30":0.10285,"33":0.11142,"35":0.21142,"38":0.00571,"39":0.00286,"40":0.00857,"43":0.04571,"47":0.00571,"49":0.09428,"50":0.00571,"53":0.00571,"54":0.10571,"55":0.10857,"56":0.52283,"57":0.00571,"58":0.01143,"60":0.00286,"61":0.01429,"62":0.00286,"63":0.01714,"64":0.00857,"65":0.00857,"66":0.00857,"67":0.00857,"68":0.00857,"69":0.01143,"70":0.01714,"71":0.00857,"72":0.01429,"73":0.00571,"74":0.01429,"75":0.01143,"76":0.01429,"77":0.01143,"78":0.01143,"79":0.05714,"80":0.02857,"81":0.03714,"83":0.02857,"84":0.02286,"85":0.02286,"86":0.05714,"87":0.22856,"88":0.05143,"89":0.06,"90":0.10571,"91":0.56569,"92":11.78513,"93":0.01714,"94":0.01143,"95":0.00286,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 20 21 22 23 25 27 28 29 31 32 34 36 37 41 42 44 45 46 48 51 52 59 96"},F:{"28":0.00286,"36":0.00571,"43":0.10285,"64":0.00857,"65":0.00286,"70":0.00286,"71":0.00571,"72":0.00857,"73":0.00857,"74":0.00571,"75":0.00571,"76":0.00857,"77":0.38855,"78":0.29427,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 66 67 68 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0.10285},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00112,"5.0-5.1":0.00561,"6.0-6.1":2.16085,"7.0-7.1":0.02693,"8.1-8.4":0.00561,"9.0-9.2":0.00785,"9.3":0.11668,"10.0-10.2":0.3119,"10.3":0.15595,"11.0-11.2":0.10995,"11.3-11.4":0.06619,"12.0-12.1":0.06171,"12.2-12.4":0.28161,"13.0-13.1":0.05049,"13.2":0.02356,"13.3":0.13575,"13.4-13.7":0.41287,"14.0-14.4":1.9791,"14.5-14.7":4.1579},E:{"4":0,"5":0.10571,"12":0.00286,"13":0.04,"14":0.11999,"15":0.00571,_:"0 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.01714,"10.1":0.00571,"11.1":0.01143,"12.1":0.02571,"13.1":0.07714,"14.1":0.41141},B:{"12":0.01429,"13":0.00857,"14":0.00571,"15":0.00857,"16":0.01143,"17":0.01429,"18":0.06285,"84":0.01143,"85":0.00571,"86":0.00286,"87":0.00286,"88":0.00571,"89":0.02,"90":0.01143,"91":0.06,"92":1.45136,_:"79 80 81 83 93"},P:{"4":0.29577,"5.0-5.4":0,"6.2-6.4":0.0102,"7.2-7.4":0.27537,"8.2":0.01028,"9.2":0.07139,"10.1":0.0408,"11.1-11.2":0.21418,"12.0":0.11219,"13.0":0.27537,"14.0":2.46814},I:{"0":0,"3":0,"4":0.00167,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00751,"4.2-4.3":0.08097,"4.4":0,"4.4.3-4.4.4":0.34557},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.11701,"9":0.22786,"10":0.22786,"11":0.25865,_:"6 7 5.5"},J:{"7":0,"10":0.00714},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.23572},Q:{"10.4":0.01429},O:{"0":0.72144},H:{"0":8.72366},L:{"0":49.52651},S:{"2.5":0.02857}}; diff --git a/node_modules/caniuse-lite/data/regions/alt-an.js b/node_modules/caniuse-lite/data/regions/alt-an.js new file mode 100644 index 00000000..314cf03f --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/alt-an.js @@ -0,0 +1 @@ +module.exports={C:{"90":0.23329,"91":0.14174,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 92 93 3.5 3.6"},D:{"68":0.18899,"80":0.0945,"84":1.83086,"90":0.0945,"92":8.77927,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 79 81 83 85 86 87 88 89 91 93 94 95 96"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":8.12513,"14.5-14.7":10.9652},E:{"4":0,"14":0.0945,"15":12.86327,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.0945,"14.1":2.25314},B:{"92":0.14174,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93"},P:{"4":0.2913,"5.0-5.4":0.01047,"6.2-6.4":0.21226,"7.2-7.4":0.07283,"8.2":0.04043,"9.2":0.04161,"10.1":0.02081,"11.1-11.2":0.19154,"12.0":0.19154,"13.0":0.10081,"14.0":0.96779},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":2.20589,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":1.20504},Q:{"10.4":0},O:{"0":4.25639},H:{"0":1.23425},L:{"0":43.48858},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/alt-as.js b/node_modules/caniuse-lite/data/regions/alt-as.js new file mode 100644 index 00000000..0f57be22 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/alt-as.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.00654,"36":0.00327,"43":0.08499,"47":0.00654,"48":0.00327,"52":0.0523,"56":0.01308,"60":0.00327,"66":0.00327,"68":0.00327,"72":0.00981,"78":0.03269,"79":0.00327,"80":0.00327,"81":0.00327,"82":0.00327,"83":0.00327,"84":0.00981,"85":0.00654,"86":0.00654,"87":0.00981,"88":0.02288,"89":0.0523,"90":0.55246,"91":0.81398,"92":0.03269,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 37 38 39 40 41 42 44 45 46 49 50 51 53 54 55 57 58 59 61 62 63 64 65 67 69 70 71 73 74 75 76 77 93 3.5 3.6"},D:{"11":0.00327,"22":0.01308,"25":0.00327,"26":0.00654,"34":0.01308,"35":0.00654,"38":0.03596,"42":0.00654,"43":0.00327,"47":0.01308,"48":0.00654,"49":0.12422,"50":0.00327,"51":0.00327,"53":0.02615,"55":0.01308,"56":0.00981,"57":0.00981,"58":0.00654,"59":0.00654,"60":0.00327,"61":0.02942,"62":0.01308,"63":0.01961,"64":0.00654,"65":0.01308,"66":0.00654,"67":0.01308,"68":0.01308,"69":0.07846,"70":0.05884,"71":0.02615,"72":0.03923,"73":0.01961,"74":0.10134,"75":0.03596,"76":0.01961,"77":0.01961,"78":0.03596,"79":0.15037,"80":0.04904,"81":0.03923,"83":0.05557,"84":0.04904,"85":0.04577,"86":0.07519,"87":0.1798,"88":0.07846,"89":0.10134,"90":0.15364,"91":0.77148,"92":20.45413,"93":0.02942,"94":0.01961,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 27 28 29 30 31 32 33 36 37 39 40 41 44 45 46 52 54 95 96"},F:{"28":0.00327,"36":0.00981,"40":0.00654,"46":0.01635,"77":0.22556,"78":0.19614,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00098,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00491,"5.0-5.1":0.00785,"6.0-6.1":0.00981,"7.0-7.1":0.03435,"8.1-8.4":0.0157,"9.0-9.2":0.02355,"9.3":0.10206,"10.0-10.2":0.03729,"10.3":0.11384,"11.0-11.2":0.09519,"11.3-11.4":0.05005,"12.0-12.1":0.06575,"12.2-12.4":0.16978,"13.0-13.1":0.05594,"13.2":0.02355,"13.3":0.12267,"13.4-13.7":0.38765,"14.0-14.4":1.58787,"14.5-14.7":6.40154},E:{"4":0,"8":0.00327,"11":0.00327,"12":0.00654,"13":0.04577,"14":0.27787,"15":0.00981,_:"0 5 6 7 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.02288,"10.1":0.00654,"11.1":0.01635,"12.1":0.02942,"13.1":0.14711,"14.1":1.27164},B:{"12":0.00327,"14":0.00327,"15":0.00327,"16":0.00654,"17":0.00981,"18":0.03596,"84":0.00654,"85":0.00654,"86":0.00327,"87":0.00327,"89":0.01635,"90":0.00981,"91":0.04904,"92":2.06601,_:"13 79 80 81 83 88 93"},P:{"4":0.40114,"5.0-5.4":0,"6.2-6.4":0.01029,"7.2-7.4":0.10286,"8.2":0,"9.2":0.072,"10.1":0.03086,"11.1-11.2":0.144,"12.0":0.08228,"13.0":0.24685,"14.0":1.95427},I:{"0":0,"3":0.03483,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02322,"4.2-4.3":0.09289,"4.4":0,"4.4.3-4.4.4":0.48186},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02275,"9":0.01516,"10":0.00758,"11":1.04635,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.17503},Q:{"10.4":0.37699},O:{"0":2.1879},H:{"0":1.2938},L:{"0":50.71161},S:{"2.5":0.24235}}; diff --git a/node_modules/caniuse-lite/data/regions/alt-eu.js b/node_modules/caniuse-lite/data/regions/alt-eu.js new file mode 100644 index 00000000..abb10576 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/alt-eu.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.00953,"48":0.0143,"50":0.00477,"51":0.00477,"52":0.15251,"55":0.00953,"56":0.0143,"59":0.00953,"60":0.0143,"65":0.00953,"66":0.00953,"68":0.02383,"70":0.00477,"72":0.00953,"74":0.00477,"77":0.0143,"78":0.21924,"79":0.01906,"80":0.0143,"81":0.02383,"82":0.01906,"83":0.0143,"84":0.03336,"85":0.0143,"86":0.0143,"87":0.03336,"88":0.08579,"89":0.17158,"90":1.97789,"91":2.82147,"92":0.01906,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 53 54 57 58 61 62 63 64 67 69 71 73 75 76 93 3.5 3.6"},D:{"22":0.01906,"34":0.00477,"38":0.02383,"40":0.04289,"43":0.0143,"47":0.00953,"48":0.0143,"49":0.33362,"50":0.00477,"51":0.00953,"52":0.01906,"53":0.0143,"54":0.01906,"56":0.02383,"57":0.00477,"58":0.00953,"59":0.00953,"60":0.03336,"61":0.08102,"62":0.00953,"63":0.01906,"64":0.01906,"65":0.04289,"66":0.04289,"67":0.01906,"68":0.00953,"69":0.10962,"70":0.03336,"71":0.0286,"72":0.03336,"73":0.00953,"74":0.11915,"75":0.20494,"76":0.03813,"77":0.02383,"78":0.10485,"79":0.2526,"80":0.16681,"81":0.11438,"83":0.14775,"84":0.17158,"85":0.71013,"86":0.13345,"87":0.40034,"88":0.13345,"89":0.37651,"90":0.30502,"91":1.32495,"92":22.23339,"93":0.01906,"94":0.0143,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 41 42 44 45 46 55 95 96"},F:{"31":0.0286,"36":0.0143,"40":0.01906,"46":0.00477,"68":0.0143,"69":0.00477,"71":0.00477,"74":0.00477,"75":0.00477,"76":0.0143,"77":1.01516,"78":0.84358,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 70 72 73 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00477},G:{"8":0.00307,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00921,"6.0-6.1":0.00614,"7.0-7.1":0.02303,"8.1-8.4":0.01689,"9.0-9.2":0.02149,"9.3":0.18115,"10.0-10.2":0.01535,"10.3":0.17347,"11.0-11.2":0.04452,"11.3-11.4":0.05987,"12.0-12.1":0.04145,"12.2-12.4":0.14124,"13.0-13.1":0.03838,"13.2":0.01842,"13.3":0.11514,"13.4-13.7":0.3884,"14.0-14.4":1.61193,"14.5-14.7":11.69649},E:{"4":0,"11":0.00477,"12":0.01906,"13":0.10009,"14":0.62911,"15":0.02383,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.01906,"9.1":0.00477,"10.1":0.01906,"11.1":0.06672,"12.1":0.10009,"13.1":0.38605,"14.1":3.03118},B:{"12":0.00953,"14":0.00477,"15":0.00953,"16":0.00953,"17":0.01906,"18":0.09532,"80":0.00953,"81":0.00953,"83":0.00953,"84":0.01906,"85":0.01906,"86":0.01906,"87":0.0143,"88":0.0143,"89":0.0286,"90":0.0286,"91":0.16204,"92":4.23697,"93":0.00953,_:"13 79"},P:{"4":0.16814,"5.0-5.4":0,"6.2-6.4":0.01029,"7.2-7.4":0.03153,"8.2":0,"9.2":0.03153,"10.1":0.02102,"11.1-11.2":0.14712,"12.0":0.06305,"13.0":0.21017,"14.0":3.40481},I:{"0":0,"3":0,"4":0.00626,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00695,"4.2-4.3":0.01251,"4.4":0,"4.4.3-4.4.4":0.06327},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01723,"9":0.01149,"10":0.01149,"11":0.6032,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.45545},Q:{"10.4":0.01047},O:{"0":0.19893},H:{"0":0.50553},L:{"0":32.69332},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/alt-na.js b/node_modules/caniuse-lite/data/regions/alt-na.js new file mode 100644 index 00000000..b2662028 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/alt-na.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.08167,"11":0.01922,"17":0.0048,"38":0.0048,"43":0.0048,"44":0.01922,"45":0.00961,"48":0.01441,"52":0.04804,"54":0.0048,"55":0.01441,"56":0.00961,"58":0.01441,"59":0.0048,"63":0.01922,"68":0.00961,"70":0.0048,"72":0.0048,"73":0.0048,"76":0.00961,"77":0.0048,"78":0.15853,"79":0.00961,"80":0.00961,"81":0.00961,"82":0.01441,"83":0.00961,"84":0.00961,"85":0.00961,"86":0.01441,"87":0.00961,"88":0.03363,"89":0.08647,"90":1.01845,"91":1.42679,"92":0.00961,_:"2 3 5 6 7 8 9 10 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 46 47 49 50 51 53 57 60 61 62 64 65 66 67 69 71 74 75 93 3.5 3.6"},D:{"33":0.0048,"35":0.0048,"37":0.0048,"38":0.00961,"40":0.01922,"43":0.0048,"46":0.0048,"47":0.00961,"48":0.06245,"49":0.21138,"52":0.0048,"53":0.0048,"56":0.09608,"58":0.0048,"59":0.01441,"60":0.02402,"61":0.03363,"62":0.0048,"63":0.01441,"64":0.04324,"65":0.02402,"66":0.04324,"67":0.02882,"68":0.0048,"69":0.01922,"70":0.06245,"71":0.00961,"72":0.05284,"73":0.00961,"74":0.09128,"75":0.07686,"76":0.17294,"77":0.03843,"78":0.07206,"79":0.22098,"80":0.1201,"81":0.07686,"83":0.14892,"84":0.21618,"85":0.19216,"86":0.21138,"87":0.43236,"88":0.25942,"89":0.26902,"90":0.64854,"91":2.36837,"92":21.45466,"93":0.03363,"94":0.03843,"95":0.02882,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 36 39 41 42 44 45 50 51 54 55 57 96"},F:{"77":0.29785,"78":0.26422,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00523,"6.0-6.1":0.01308,"7.0-7.1":0.02093,"8.1-8.4":0.02093,"9.0-9.2":0.01831,"9.3":0.15697,"10.0-10.2":0.02355,"10.3":0.17528,"11.0-11.2":0.06802,"11.3-11.4":0.08372,"12.0-12.1":0.07848,"12.2-12.4":0.23022,"13.0-13.1":0.07587,"13.2":0.03663,"13.3":0.19883,"13.4-13.7":0.65403,"14.0-14.4":2.81233,"14.5-14.7":20.79291},E:{"4":0,"8":0.00961,"9":0.00961,"11":0.00961,"12":0.01922,"13":0.1201,"14":0.95119,"15":0.02882,_:"0 5 6 7 10 3.1 3.2 6.1 7.1","5.1":0.00961,"9.1":0.05284,"10.1":0.03843,"11.1":0.1153,"12.1":0.16814,"13.1":1.47483,"14.1":5.03459},B:{"12":0.0048,"14":0.0048,"15":0.00961,"16":0.00961,"17":0.02402,"18":0.14892,"84":0.00961,"85":0.00961,"86":0.00961,"87":0.01922,"88":0.00961,"89":0.02402,"90":0.01922,"91":0.16814,"92":5.36607,"93":0.00961,_:"13 79 80 81 83"},P:{"4":0.07567,"5.0-5.4":0,"6.2-6.4":0.01029,"7.2-7.4":0.03153,"8.2":0,"9.2":0.01081,"10.1":0.02102,"11.1-11.2":0.06486,"12.0":0.03243,"13.0":0.11891,"14.0":2.01062},I:{"0":0,"3":0,"4":0.00889,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00243,"4.2-4.3":0.01859,"4.4":0,"4.4.3-4.4.4":0.04285},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01615,"9":0.26381,"11":0.65682,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.42615},Q:{"10.4":0.02079},O:{"0":0.20788},H:{"0":0.23617},L:{"0":23.66505},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/alt-oc.js b/node_modules/caniuse-lite/data/regions/alt-oc.js new file mode 100644 index 00000000..af7c2b7f --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/alt-oc.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.01652,"48":0.01101,"52":0.03854,"68":0.01101,"72":0.00551,"78":0.11561,"82":0.01101,"84":0.01101,"85":0.00551,"86":0.01101,"87":0.01101,"88":0.03854,"89":0.07707,"90":1.08999,"91":1.48085,"92":0.01101,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 79 80 81 83 93 3.5 3.6"},D:{"26":0.01652,"34":0.03303,"38":0.14864,"47":0.01101,"49":0.25323,"53":0.05505,"55":0.01101,"56":0.01101,"57":0.01652,"58":0.00551,"59":0.01101,"60":0.02202,"61":0.01652,"63":0.01101,"64":0.02753,"65":0.04404,"66":0.01652,"67":0.03854,"68":0.02202,"69":0.04404,"70":0.04404,"71":0.01652,"72":0.03303,"73":0.03303,"74":0.03854,"75":0.03303,"76":0.03854,"77":0.02202,"78":0.03303,"79":0.34131,"80":0.07707,"81":0.04955,"83":0.06056,"84":0.04404,"85":0.04404,"86":0.09909,"87":0.37434,"88":0.13212,"89":0.17066,"90":0.52848,"91":2.71947,"92":28.38378,"93":0.03854,"94":0.01652,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 54 62 95 96"},F:{"36":0.01101,"40":0.00551,"46":0.08808,"75":0.00551,"77":0.22571,"78":0.20919,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00226,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02939,"6.0-6.1":0.03165,"7.0-7.1":0.03165,"8.1-8.4":0.06555,"9.0-9.2":0.03165,"9.3":0.36166,"10.0-10.2":0.04295,"10.3":0.40913,"11.0-11.2":0.12432,"11.3-11.4":0.13788,"12.0-12.1":0.12432,"12.2-12.4":0.37749,"13.0-13.1":0.06329,"13.2":0.02712,"13.3":0.19439,"13.4-13.7":0.65778,"14.0-14.4":2.23101,"14.5-14.7":16.36755},E:{"4":0,"8":0.01652,"11":0.02202,"12":0.02753,"13":0.19268,"14":1.27716,"15":0.03303,_:"0 5 6 7 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.01652,"10.1":0.06056,"11.1":0.12662,"12.1":0.2147,"13.1":0.85878,"14.1":6.73262},B:{"16":0.00551,"17":0.01101,"18":0.12111,"80":0.00551,"84":0.01652,"85":0.01101,"86":0.01101,"87":0.01101,"88":0.01101,"89":0.02202,"90":0.02202,"91":0.17616,"92":4.99854,_:"12 13 14 15 79 81 83 93"},P:{"4":0.84282,"5.0-5.4":0,"6.2-6.4":0.01029,"7.2-7.4":0.01095,"8.2":0,"9.2":0.02189,"10.1":0.01095,"11.1-11.2":0.06567,"12.0":0.05473,"13.0":0.16419,"14.0":2.61602},I:{"0":0,"3":0,"4":0.00155,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00309,"4.2-4.3":0.00618,"4.4":0,"4.4.3-4.4.4":0.03864},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.9854,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.38666},Q:{"10.4":0.04496},O:{"0":0.17984},H:{"0":0.20431},L:{"0":19.31845},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/alt-sa.js b/node_modules/caniuse-lite/data/regions/alt-sa.js new file mode 100644 index 00000000..247ac4a0 --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/alt-sa.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00476,"52":0.05713,"56":0.00476,"60":0.00952,"66":0.00952,"67":0.00476,"68":0.01428,"72":0.00952,"73":0.00476,"78":0.05713,"79":0.00476,"80":0.00476,"81":0.00476,"82":0.00476,"83":0.00476,"84":0.01904,"85":0.00476,"86":0.00476,"87":0.00952,"88":0.03809,"89":0.05713,"90":0.757,"91":1.10455,"92":0.00952,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 61 62 63 64 65 69 70 71 74 75 76 77 93 3.5 3.6"},D:{"22":0.00476,"24":0.00476,"38":0.01904,"47":0.00952,"49":0.19044,"51":0.00476,"53":0.00952,"55":0.00952,"58":0.00952,"61":0.06665,"63":0.02381,"65":0.01428,"66":0.01428,"67":0.01428,"68":0.00952,"69":0.00952,"70":0.01428,"71":0.00952,"72":0.01428,"73":0.00952,"74":0.02381,"75":0.03333,"76":0.02381,"77":0.01428,"78":0.02381,"79":0.11903,"80":0.04285,"81":0.06189,"83":0.04761,"84":0.05237,"85":0.05713,"86":0.09522,"87":0.34755,"88":0.07618,"89":0.1095,"90":0.1952,"91":1.5378,"92":34.4506,"93":0.05237,"94":0.01904,"95":0.00476,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 52 54 56 57 59 60 62 64 96"},F:{"36":0.00952,"77":1.16168,"78":1.04742,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00051,"3.2":0.00103,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01029,"6.0-6.1":0.00566,"7.0-7.1":0.00669,"8.1-8.4":0.00257,"9.0-9.2":0.00206,"9.3":0.04629,"10.0-10.2":0.00257,"10.3":0.03909,"11.0-11.2":0.00977,"11.3-11.4":0.0216,"12.0-12.1":0.01131,"12.2-12.4":0.04217,"13.0-13.1":0.01337,"13.2":0.00514,"13.3":0.04063,"13.4-13.7":0.16047,"14.0-14.4":0.52203,"14.5-14.7":3.91854},E:{"4":0,"13":0.02381,"14":0.12855,"15":0.00476,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.02381,"11.1":0.01428,"12.1":0.02381,"13.1":0.1095,"14.1":0.58084},B:{"17":0.00952,"18":0.04761,"84":0.00952,"89":0.01904,"90":0.00952,"91":0.05237,"92":2.52333,"93":0.00476,_:"12 13 14 15 16 79 80 81 83 85 86 87 88"},P:{"4":0.16666,"5.0-5.4":0,"6.2-6.4":0.01029,"7.2-7.4":0.18749,"8.2":0,"9.2":0.03125,"10.1":0.01095,"11.1-11.2":0.16666,"12.0":0.04166,"13.0":0.17707,"14.0":1.79157},I:{"0":0,"3":0,"4":0.00075,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00299,"4.2-4.3":0.00524,"4.4":0,"4.4.3-4.4.4":0.03817},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01043,"9":0.00521,"10":0.00521,"11":0.19815,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},R:{_:"0"},M:{"0":0.14145},Q:{"10.4":0},O:{"0":0.08382},H:{"0":0.18848},L:{"0":45.37649},S:{"2.5":0}}; diff --git a/node_modules/caniuse-lite/data/regions/alt-ww.js b/node_modules/caniuse-lite/data/regions/alt-ww.js new file mode 100644 index 00000000..afb9840e --- /dev/null +++ b/node_modules/caniuse-lite/data/regions/alt-ww.js @@ -0,0 +1 @@ +module.exports={C:{"2":0.00404,"4":0.02022,"11":0.00809,"15":0.00404,"18":0.00404,"21":0.00404,"23":0.00404,"25":0.00809,"30":0.00404,"43":0.04043,"44":0.00809,"45":0.00404,"47":0.00404,"48":0.00809,"51":0.00809,"52":0.07277,"55":0.00809,"56":0.01213,"58":0.00404,"59":0.00404,"60":0.00809,"63":0.00809,"66":0.00404,"68":0.01213,"72":0.00809,"76":0.00404,"77":0.00404,"78":0.15768,"79":0.00809,"80":0.00809,"81":0.00809,"82":0.01213,"83":0.00809,"84":0.01617,"85":0.00809,"86":0.00809,"87":0.01213,"88":0.03639,"89":0.0849,"90":1.01479,"91":1.4757,"92":0.02022,_:"3 5 6 7 8 9 10 12 13 14 16 17 19 20 22 24 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 46 49 50 53 54 57 61 62 64 65 67 69 70 71 73 74 75 93 3.5 3.6"},D:{"19":0.00404,"22":0.01213,"24":0.01617,"30":0.00404,"33":0.00809,"34":0.00809,"35":0.01617,"38":0.0283,"40":0.01617,"43":0.00809,"47":0.01213,"48":0.02022,"49":0.19002,"50":0.00404,"51":0.00404,"52":0.00809,"53":0.01617,"54":0.01213,"55":0.01213,"56":0.06065,"57":0.00809,"58":0.00809,"59":0.00809,"60":0.01213,"61":0.04043,"62":0.00809,"63":0.01617,"64":0.02022,"65":0.02426,"66":0.02426,"67":0.01617,"68":0.01213,"69":0.06873,"70":0.05256,"71":0.02426,"72":0.04043,"73":0.01617,"74":0.09299,"75":0.07682,"76":0.06065,"77":0.02426,"78":0.0566,"79":0.18598,"80":0.08895,"81":0.06469,"83":0.09703,"84":0.1132,"85":0.21428,"86":0.12129,"87":0.29918,"88":0.13342,"89":0.19811,"90":0.31131,"91":1.33823,"92":21.40769,"93":0.0283,"94":0.02426,"95":0.00809,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 23 25 26 27 28 29 31 32 36 37 39 41 42 44 45 46 96"},F:{"31":0.00404,"36":0.00809,"40":0.00809,"43":0.00404,"46":0.00809,"68":0.00404,"76":0.00404,"77":0.45686,"78":0.39217,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 37 38 39 41 42 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0.00404},G:{"8":0.00149,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00298,"5.0-5.1":0.00893,"6.0-6.1":0.10116,"7.0-7.1":0.02678,"8.1-8.4":0.01636,"9.0-9.2":0.02083,"9.3":0.13388,"10.0-10.2":0.04017,"10.3":0.14578,"11.0-11.2":0.07736,"11.3-11.4":0.06248,"12.0-12.1":0.06397,"12.2-12.4":0.18297,"13.0-13.1":0.05653,"13.2":0.02529,"13.3":0.13835,"13.4-13.7":0.45074,"14.0-14.4":1.8714,"14.5-14.7":10.81932},E:{"4":0,"5":0.00404,"8":0.00404,"11":0.00809,"12":0.01213,"13":0.07682,"14":0.5175,"15":0.01617,_:"0 6 7 9 10 3.1 3.2 6.1 7.1","5.1":0.02022,"9.1":0.01617,"10.1":0.02022,"11.1":0.05256,"12.1":0.08086,"13.1":0.52963,"14.1":2.59156},B:{"12":0.00809,"14":0.00404,"15":0.00809,"16":0.00809,"17":0.01617,"18":0.08086,"83":0.00404,"84":0.01213,"85":0.00809,"86":0.00809,"87":0.00809,"88":0.00809,"89":0.02022,"90":0.01617,"91":0.10512,"92":3.35973,"93":0.00404,_:"13 79 80 81"},P:{"4":0.2913,"5.0-5.4":0.01047,"6.2-6.4":0.21226,"7.2-7.4":0.07283,"8.2":0.04043,"9.2":0.04161,"10.1":0.02081,"11.1-11.2":0.13525,"12.0":0.06242,"13.0":0.19767,"14.0":2.25759},I:{"0":0,"3":0,"4":0.01047,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0157,"4.2-4.3":0.05757,"4.4":0,"4.4.3-4.4.4":0.2617},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02556,"9":0.11501,"10":0.02556,"11":0.74759,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"11":0.01983,_:"10"},R:{_:"0"},M:{"0":0.30376},Q:{"10.4":0.17868},O:{"0":1.11377},H:{"0":1.15031},L:{"0":39.63228},S:{"2.5":0.11316}}; diff --git a/node_modules/caniuse-lite/dist/lib/statuses.js b/node_modules/caniuse-lite/dist/lib/statuses.js new file mode 100644 index 00000000..4d73ab30 --- /dev/null +++ b/node_modules/caniuse-lite/dist/lib/statuses.js @@ -0,0 +1,9 @@ +module.exports = { + 1: 'ls', // WHATWG Living Standard + 2: 'rec', // W3C Recommendation + 3: 'pr', // W3C Proposed Recommendation + 4: 'cr', // W3C Candidate Recommendation + 5: 'wd', // W3C Working Draft + 6: 'other', // Non-W3C, but reputable + 7: 'unoff' // Unofficial, Editor's Draft or W3C "Note" +} diff --git a/node_modules/caniuse-lite/dist/lib/supported.js b/node_modules/caniuse-lite/dist/lib/supported.js new file mode 100644 index 00000000..3f81e4ee --- /dev/null +++ b/node_modules/caniuse-lite/dist/lib/supported.js @@ -0,0 +1,9 @@ +module.exports = { + y: 1 << 0, + n: 1 << 1, + a: 1 << 2, + p: 1 << 3, + u: 1 << 4, + x: 1 << 5, + d: 1 << 6 +} diff --git a/node_modules/caniuse-lite/dist/unpacker/agents.js b/node_modules/caniuse-lite/dist/unpacker/agents.js new file mode 100644 index 00000000..0c8a7905 --- /dev/null +++ b/node_modules/caniuse-lite/dist/unpacker/agents.js @@ -0,0 +1,47 @@ +'use strict' + +const browsers = require('./browsers').browsers +const versions = require('./browserVersions').browserVersions +const agentsData = require('../../data/agents') + +function unpackBrowserVersions(versionsData) { + return Object.keys(versionsData).reduce((usage, version) => { + usage[versions[version]] = versionsData[version] + return usage + }, {}) +} + +module.exports.agents = Object.keys(agentsData).reduce((map, key) => { + let versionsData = agentsData[key] + map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => { + if (entry === 'A') { + data.usage_global = unpackBrowserVersions(versionsData[entry]) + } else if (entry === 'C') { + data.versions = versionsData[entry].reduce((list, version) => { + if (version === '') { + list.push(null) + } else { + list.push(versions[version]) + } + return list + }, []) + } else if (entry === 'D') { + data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]) + } else if (entry === 'E') { + data.browser = versionsData[entry] + } else if (entry === 'F') { + data.release_date = Object.keys(versionsData[entry]).reduce( + (map2, key2) => { + map2[versions[key2]] = versionsData[entry][key2] + return map2 + }, + {} + ) + } else { + // entry is B + data.prefix = versionsData[entry] + } + return data + }, {}) + return map +}, {}) diff --git a/node_modules/caniuse-lite/dist/unpacker/browserVersions.js b/node_modules/caniuse-lite/dist/unpacker/browserVersions.js new file mode 100644 index 00000000..553526e2 --- /dev/null +++ b/node_modules/caniuse-lite/dist/unpacker/browserVersions.js @@ -0,0 +1 @@ +module.exports.browserVersions = require('../../data/browserVersions') diff --git a/node_modules/caniuse-lite/dist/unpacker/browsers.js b/node_modules/caniuse-lite/dist/unpacker/browsers.js new file mode 100644 index 00000000..85e68b4f --- /dev/null +++ b/node_modules/caniuse-lite/dist/unpacker/browsers.js @@ -0,0 +1 @@ +module.exports.browsers = require('../../data/browsers') diff --git a/node_modules/caniuse-lite/dist/unpacker/feature.js b/node_modules/caniuse-lite/dist/unpacker/feature.js new file mode 100644 index 00000000..9440b8a4 --- /dev/null +++ b/node_modules/caniuse-lite/dist/unpacker/feature.js @@ -0,0 +1,48 @@ +'use strict' + +const statuses = require('../lib/statuses') +const supported = require('../lib/supported') +const browsers = require('./browsers').browsers +const versions = require('./browserVersions').browserVersions + +const MATH2LOG = Math.log(2) + +function unpackSupport(cipher) { + // bit flags + let stats = Object.keys(supported).reduce((list, support) => { + if (cipher & supported[support]) list.push(support) + return list + }, []) + + // notes + let notes = cipher >> 7 + let notesArray = [] + while (notes) { + let note = Math.floor(Math.log(notes) / MATH2LOG) + 1 + notesArray.unshift(`#${note}`) + notes -= Math.pow(2, note - 1) + } + + return stats.concat(notesArray).join(' ') +} + +function unpackFeature(packed) { + let unpacked = { status: statuses[packed.B], title: packed.C } + unpacked.stats = Object.keys(packed.A).reduce((browserStats, key) => { + let browser = packed.A[key] + browserStats[browsers[key]] = Object.keys(browser).reduce( + (stats, support) => { + let packedVersions = browser[support].split(' ') + let unpacked2 = unpackSupport(support) + packedVersions.forEach(v => (stats[versions[v]] = unpacked2)) + return stats + }, + {} + ) + return browserStats + }, {}) + return unpacked +} + +module.exports = unpackFeature +module.exports.default = unpackFeature diff --git a/node_modules/caniuse-lite/dist/unpacker/features.js b/node_modules/caniuse-lite/dist/unpacker/features.js new file mode 100644 index 00000000..8362aec8 --- /dev/null +++ b/node_modules/caniuse-lite/dist/unpacker/features.js @@ -0,0 +1,6 @@ +/* + * Load this dynamically so that it + * doesn't appear in the rollup bundle. + */ + +module.exports.features = require('../../data/features') diff --git a/node_modules/caniuse-lite/dist/unpacker/index.js b/node_modules/caniuse-lite/dist/unpacker/index.js new file mode 100644 index 00000000..12017e80 --- /dev/null +++ b/node_modules/caniuse-lite/dist/unpacker/index.js @@ -0,0 +1,4 @@ +module.exports.agents = require('./agents').agents +module.exports.feature = require('./feature') +module.exports.features = require('./features').features +module.exports.region = require('./region') diff --git a/node_modules/caniuse-lite/dist/unpacker/region.js b/node_modules/caniuse-lite/dist/unpacker/region.js new file mode 100644 index 00000000..d5cc2b6f --- /dev/null +++ b/node_modules/caniuse-lite/dist/unpacker/region.js @@ -0,0 +1,22 @@ +'use strict' + +const browsers = require('./browsers').browsers + +function unpackRegion(packed) { + return Object.keys(packed).reduce((list, browser) => { + let data = packed[browser] + list[browsers[browser]] = Object.keys(data).reduce((memo, key) => { + let stats = data[key] + if (key === '_') { + stats.split(' ').forEach(version => (memo[version] = null)) + } else { + memo[key] = stats + } + return memo + }, {}) + return list + }, {}) +} + +module.exports = unpackRegion +module.exports.default = unpackRegion diff --git a/node_modules/caniuse-lite/package.json b/node_modules/caniuse-lite/package.json new file mode 100644 index 00000000..c9f8d1fc --- /dev/null +++ b/node_modules/caniuse-lite/package.json @@ -0,0 +1,31 @@ +{ + "name": "caniuse-lite", + "version": "1.0.30001260", + "description": "A smaller version of caniuse-db, with only the essentials!", + "main": "dist/unpacker/index.js", + "files": [ + "data", + "dist" + ], + "keywords": [ + "support", + "css", + "js", + "html5", + "svg" + ], + "author": { + "name": "Ben Briggs", + "email": "beneb.info@gmail.com", + "url": "http://beneb.info" + }, + "repository": "browserslist/caniuse-lite", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + "license": "CC-BY-4.0", + "dependencies": { + "nanocolors": "^0.1.0" + } +} diff --git a/node_modules/chalk/index.js b/node_modules/chalk/index.js new file mode 100644 index 00000000..1cc5fa89 --- /dev/null +++ b/node_modules/chalk/index.js @@ -0,0 +1,228 @@ +'use strict'; +const escapeStringRegexp = require('escape-string-regexp'); +const ansiStyles = require('ansi-styles'); +const stdoutColor = require('supports-color').stdout; + +const template = require('./templates.js'); + +const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); + +// `supportsColor.level` → `ansiStyles.color[name]` mapping +const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; + +// `color-convert` models to exclude from the Chalk API due to conflicts and such +const skipModels = new Set(['gray']); + +const styles = Object.create(null); + +function applyOptions(obj, options) { + options = options || {}; + + // Detect level if not set manually + const scLevel = stdoutColor ? stdoutColor.level : 0; + obj.level = options.level === undefined ? scLevel : options.level; + obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; +} + +function Chalk(options) { + // We check for this.template here since calling `chalk.constructor()` + // by itself will have a `this` of a previously constructed chalk object + if (!this || !(this instanceof Chalk) || this.template) { + const chalk = {}; + applyOptions(chalk, options); + + chalk.template = function () { + const args = [].slice.call(arguments); + return chalkTag.apply(null, [chalk.template].concat(args)); + }; + + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); + + chalk.template.constructor = Chalk; + + return chalk.template; + } + + applyOptions(this, options); +} + +// Use bright blue on Windows as the normal blue color is illegible +if (isSimpleWindowsTerm) { + ansiStyles.blue.open = '\u001B[94m'; +} + +for (const key of Object.keys(ansiStyles)) { + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); + + styles[key] = { + get() { + const codes = ansiStyles[key]; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); + } + }; +} + +styles.visible = { + get() { + return build.call(this, this._styles || [], true, 'visible'); + } +}; + +ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); +for (const model of Object.keys(ansiStyles.color.ansi)) { + if (skipModels.has(model)) { + continue; + } + + styles[model] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.color.close, + closeRe: ansiStyles.color.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; +} + +ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); +for (const model of Object.keys(ansiStyles.bgColor.ansi)) { + if (skipModels.has(model)) { + continue; + } + + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.bgColor.close, + closeRe: ansiStyles.bgColor.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; +} + +const proto = Object.defineProperties(() => {}, styles); + +function build(_styles, _empty, key) { + const builder = function () { + return applyStyle.apply(builder, arguments); + }; + + builder._styles = _styles; + builder._empty = _empty; + + const self = this; + + Object.defineProperty(builder, 'level', { + enumerable: true, + get() { + return self.level; + }, + set(level) { + self.level = level; + } + }); + + Object.defineProperty(builder, 'enabled', { + enumerable: true, + get() { + return self.enabled; + }, + set(enabled) { + self.enabled = enabled; + } + }); + + // See below for fix regarding invisible grey/dim combination on Windows + builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; + + // `__proto__` is used because we must return a function, but there is + // no way to create a function with a different prototype + builder.__proto__ = proto; // eslint-disable-line no-proto + + return builder; +} + +function applyStyle() { + // Support varags, but simply cast to string in case there's only one arg + const args = arguments; + const argsLen = args.length; + let str = String(arguments[0]); + + if (argsLen === 0) { + return ''; + } + + if (argsLen > 1) { + // Don't slice `arguments`, it prevents V8 optimizations + for (let a = 1; a < argsLen; a++) { + str += ' ' + args[a]; + } + } + + if (!this.enabled || this.level <= 0 || !str) { + return this._empty ? '' : str; + } + + // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, + // see https://github.com/chalk/chalk/issues/58 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. + const originalDim = ansiStyles.dim.open; + if (isSimpleWindowsTerm && this.hasGrey) { + ansiStyles.dim.open = ''; + } + + for (const code of this._styles.slice().reverse()) { + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + str = code.open + str.replace(code.closeRe, code.open) + code.close; + + // Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS + // https://github.com/chalk/chalk/pull/92 + str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); + } + + // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue + ansiStyles.dim.open = originalDim; + + return str; +} + +function chalkTag(chalk, strings) { + if (!Array.isArray(strings)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return [].slice.call(arguments, 1).join(' '); + } + + const args = [].slice.call(arguments, 2); + const parts = [strings.raw[0]]; + + for (let i = 1; i < strings.length; i++) { + parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); + parts.push(String(strings.raw[i])); + } + + return template(chalk, parts.join('')); +} + +Object.defineProperties(Chalk.prototype, styles); + +module.exports = Chalk(); // eslint-disable-line new-cap +module.exports.supportsColor = stdoutColor; +module.exports.default = module.exports; // For TypeScript diff --git a/node_modules/chalk/index.js.flow b/node_modules/chalk/index.js.flow new file mode 100644 index 00000000..622caaa2 --- /dev/null +++ b/node_modules/chalk/index.js.flow @@ -0,0 +1,93 @@ +// @flow strict + +type TemplateStringsArray = $ReadOnlyArray; + +export type Level = $Values<{ + None: 0, + Basic: 1, + Ansi256: 2, + TrueColor: 3 +}>; + +export type ChalkOptions = {| + enabled?: boolean, + level?: Level +|}; + +export type ColorSupport = {| + level: Level, + hasBasic: boolean, + has256: boolean, + has16m: boolean +|}; + +export interface Chalk { + (...text: string[]): string, + (text: TemplateStringsArray, ...placeholders: string[]): string, + constructor(options?: ChalkOptions): Chalk, + enabled: boolean, + level: Level, + rgb(r: number, g: number, b: number): Chalk, + hsl(h: number, s: number, l: number): Chalk, + hsv(h: number, s: number, v: number): Chalk, + hwb(h: number, w: number, b: number): Chalk, + bgHex(color: string): Chalk, + bgKeyword(color: string): Chalk, + bgRgb(r: number, g: number, b: number): Chalk, + bgHsl(h: number, s: number, l: number): Chalk, + bgHsv(h: number, s: number, v: number): Chalk, + bgHwb(h: number, w: number, b: number): Chalk, + hex(color: string): Chalk, + keyword(color: string): Chalk, + + +reset: Chalk, + +bold: Chalk, + +dim: Chalk, + +italic: Chalk, + +underline: Chalk, + +inverse: Chalk, + +hidden: Chalk, + +strikethrough: Chalk, + + +visible: Chalk, + + +black: Chalk, + +red: Chalk, + +green: Chalk, + +yellow: Chalk, + +blue: Chalk, + +magenta: Chalk, + +cyan: Chalk, + +white: Chalk, + +gray: Chalk, + +grey: Chalk, + +blackBright: Chalk, + +redBright: Chalk, + +greenBright: Chalk, + +yellowBright: Chalk, + +blueBright: Chalk, + +magentaBright: Chalk, + +cyanBright: Chalk, + +whiteBright: Chalk, + + +bgBlack: Chalk, + +bgRed: Chalk, + +bgGreen: Chalk, + +bgYellow: Chalk, + +bgBlue: Chalk, + +bgMagenta: Chalk, + +bgCyan: Chalk, + +bgWhite: Chalk, + +bgBlackBright: Chalk, + +bgRedBright: Chalk, + +bgGreenBright: Chalk, + +bgYellowBright: Chalk, + +bgBlueBright: Chalk, + +bgMagentaBright: Chalk, + +bgCyanBright: Chalk, + +bgWhiteBrigh: Chalk, + + supportsColor: ColorSupport +}; + +declare module.exports: Chalk; diff --git a/node_modules/chalk/license b/node_modules/chalk/license new file mode 100644 index 00000000..e7af2f77 --- /dev/null +++ b/node_modules/chalk/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/chalk/package.json b/node_modules/chalk/package.json new file mode 100644 index 00000000..bc324685 --- /dev/null +++ b/node_modules/chalk/package.json @@ -0,0 +1,71 @@ +{ + "name": "chalk", + "version": "2.4.2", + "description": "Terminal string styling done right", + "license": "MIT", + "repository": "chalk/chalk", + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && tsc --project types && flow --max-warnings=0 && nyc ava", + "bench": "matcha benchmark.js", + "coveralls": "nyc report --reporter=text-lcov | coveralls" + }, + "files": [ + "index.js", + "templates.js", + "types/index.d.ts", + "index.js.flow" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "str", + "ansi", + "style", + "styles", + "tty", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "devDependencies": { + "ava": "*", + "coveralls": "^3.0.0", + "execa": "^0.9.0", + "flow-bin": "^0.68.0", + "import-fresh": "^2.0.0", + "matcha": "^0.7.0", + "nyc": "^11.0.2", + "resolve-from": "^4.0.0", + "typescript": "^2.5.3", + "xo": "*" + }, + "types": "types/index.d.ts", + "xo": { + "envs": [ + "node", + "mocha" + ], + "ignores": [ + "test/_flow.js" + ] + } +} diff --git a/node_modules/chalk/readme.md b/node_modules/chalk/readme.md new file mode 100644 index 00000000..d298e2c4 --- /dev/null +++ b/node_modules/chalk/readme.md @@ -0,0 +1,314 @@ +

+
+
+ Chalk +
+
+
+

+ +> Terminal string styling done right + +[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk) [![Coverage Status](https://coveralls.io/repos/github/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/github/chalk/chalk?branch=master) [![](https://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo) [![Mentioned in Awesome Node.js](https://awesome.re/mentioned-badge.svg)](https://github.com/sindresorhus/awesome-nodejs) + +### [See what's new in Chalk 2](https://github.com/chalk/chalk/releases/tag/v2.0.0) + + + + +## Highlights + +- Expressive API +- Highly performant +- Ability to nest styles +- [256/Truecolor color support](#256-and-truecolor-color-support) +- Auto-detects color support +- Doesn't extend `String.prototype` +- Clean and focused +- Actively maintained +- [Used by ~23,000 packages](https://www.npmjs.com/browse/depended/chalk) as of December 31, 2017 + + +## Install + +```console +$ npm install chalk +``` + + + + + + +## Usage + +```js +const chalk = require('chalk'); + +console.log(chalk.blue('Hello world!')); +``` + +Chalk comes with an easy to use composable API where you just chain and nest the styles you want. + +```js +const chalk = require('chalk'); +const log = console.log; + +// Combine styled and normal strings +log(chalk.blue('Hello') + ' World' + chalk.red('!')); + +// Compose multiple styles using the chainable API +log(chalk.blue.bgRed.bold('Hello world!')); + +// Pass in multiple arguments +log(chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz')); + +// Nest styles +log(chalk.red('Hello', chalk.underline.bgBlue('world') + '!')); + +// Nest styles of the same type even (color, underline, background) +log(chalk.green( + 'I am a green line ' + + chalk.blue.underline.bold('with a blue substring') + + ' that becomes green again!' +)); + +// ES2015 template literal +log(` +CPU: ${chalk.red('90%')} +RAM: ${chalk.green('40%')} +DISK: ${chalk.yellow('70%')} +`); + +// ES2015 tagged template literal +log(chalk` +CPU: {red ${cpu.totalPercent}%} +RAM: {green ${ram.used / ram.total * 100}%} +DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%} +`); + +// Use RGB colors in terminal emulators that support it. +log(chalk.keyword('orange')('Yay for orange colored text!')); +log(chalk.rgb(123, 45, 67).underline('Underlined reddish color')); +log(chalk.hex('#DEADED').bold('Bold gray!')); +``` + +Easily define your own themes: + +```js +const chalk = require('chalk'); + +const error = chalk.bold.red; +const warning = chalk.keyword('orange'); + +console.log(error('Error!')); +console.log(warning('Warning!')); +``` + +Take advantage of console.log [string substitution](https://nodejs.org/docs/latest/api/console.html#console_console_log_data_args): + +```js +const name = 'Sindre'; +console.log(chalk.green('Hello %s'), name); +//=> 'Hello Sindre' +``` + + +## API + +### chalk.` + + `; +} + +function headerTemplate(details) { + function metricsTemplate({ pct, covered, total }, kind) { + return ` +
+ ${pct}% + ${kind} + ${covered}/${total} +
+ `; + } + + function skipTemplate(metrics) { + const statements = metrics.statements.skipped; + const branches = metrics.branches.skipped; + const functions = metrics.functions.skipped; + + const countLabel = (c, label, plural) => + c === 0 ? [] : `${c} ${label}${c === 1 ? '' : plural}`; + const skips = [].concat( + countLabel(statements, 'statement', 's'), + countLabel(functions, 'function', 's'), + countLabel(branches, 'branch', 'es') + ); + + if (skips.length === 0) { + return ''; + } + + return ` +
+ ${skips.join(', ')} + Ignored      +
+ `; + } + + return ` + + +${htmlHead(details)} + +
+
+

${details.pathHtml}

+
+ ${metricsTemplate(details.metrics.statements, 'Statements')} + ${metricsTemplate(details.metrics.branches, 'Branches')} + ${metricsTemplate(details.metrics.functions, 'Functions')} + ${metricsTemplate(details.metrics.lines, 'Lines')} + ${skipTemplate(details.metrics)} +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+ `; +} + +function footerTemplate(details) { + return ` +
+
+ + + + + + + + + `; +} + +function detailTemplate(data) { + const lineNumbers = new Array(data.maxLines).fill().map((_, i) => i + 1); + const lineLink = num => + `${num}`; + const lineCount = line => + `${line.hits}`; + + /* This is rendered in a `
`, need control of all whitespace. */
+    return [
+        '',
+        `${lineNumbers
+            .map(lineLink)
+            .join('\n')}`,
+        `${data.lineCoverage
+            .map(lineCount)
+            .join('\n')}`,
+        `
${data.annotatedCode.join(
+            '\n'
+        )}
`, + '' + ].join(''); +} +const summaryTableHeader = [ + '
', + '', + '', + '', + ' ', + ' ', + ' ', + ' ', + ' ', + ' ', + ' ', + ' ', + ' ', + ' ', + '', + '', + '' +].join('\n'); + +function summaryLineTemplate(details) { + const { reportClasses, metrics, file, output } = details; + const percentGraph = pct => { + if (!isFinite(pct)) { + return ''; + } + + const cls = ['cover-fill']; + if (pct === 100) { + cls.push('cover-full'); + } + + pct = Math.floor(pct); + return [ + `
`, + `
` + ].join(''); + }; + const summaryType = (type, showGraph = false) => { + const info = metrics[type]; + const reportClass = reportClasses[type]; + const result = [ + ``, + `` + ]; + if (showGraph) { + result.unshift( + `` + ); + } + + return result; + }; + + return [] + .concat( + '', + ``, + summaryType('statements', true), + summaryType('branches'), + summaryType('functions'), + summaryType('lines'), + '\n' + ) + .join('\n\t'); +} + +const summaryTableFooter = ['', '
FileStatementsBranchesFunctionsLines
${info.pct}%${info.covered}/${info.total}`, + `
${percentGraph(info.pct)}
`, + `
${html.escape(file)}
', '
'].join('\n'); +const emptyClasses = { + statements: 'empty', + lines: 'empty', + functions: 'empty', + branches: 'empty' +}; + +const standardLinkMapper = { + getPath(node) { + if (typeof node === 'string') { + return node; + } + let filePath = node.getQualifiedName(); + if (node.isSummary()) { + if (filePath !== '') { + filePath += '/index.html'; + } else { + filePath = 'index.html'; + } + } else { + filePath += '.html'; + } + return filePath; + }, + + relativePath(source, target) { + const targetPath = this.getPath(target); + const sourcePath = path.dirname(this.getPath(source)); + return path.posix.relative(sourcePath, targetPath); + }, + + assetPath(node, name) { + return this.relativePath(this.getPath(node), name); + } +}; + +function fixPct(metrics) { + Object.keys(emptyClasses).forEach(key => { + metrics[key].pct = 0; + }); + return metrics; +} + +class HtmlReport extends ReportBase { + constructor(opts) { + super(); + + this.verbose = opts.verbose; + this.linkMapper = opts.linkMapper || standardLinkMapper; + this.subdir = opts.subdir || ''; + this.date = Date(); + this.skipEmpty = opts.skipEmpty; + } + + getBreadcrumbHtml(node) { + let parent = node.getParent(); + const nodePath = []; + + while (parent) { + nodePath.push(parent); + parent = parent.getParent(); + } + + const linkPath = nodePath.map(ancestor => { + const target = this.linkMapper.relativePath(node, ancestor); + const name = ancestor.getRelativeName() || 'All files'; + return '' + name + ''; + }); + + linkPath.reverse(); + return linkPath.length > 0 + ? linkPath.join(' / ') + ' ' + node.getRelativeName() + : 'All files'; + } + + fillTemplate(node, templateData, context) { + const linkMapper = this.linkMapper; + const summary = node.getCoverageSummary(); + templateData.entity = node.getQualifiedName() || 'All files'; + templateData.metrics = summary; + templateData.reportClass = context.classForPercent( + 'statements', + summary.statements.pct + ); + templateData.pathHtml = this.getBreadcrumbHtml(node); + templateData.base = { + css: linkMapper.assetPath(node, 'base.css') + }; + templateData.sorter = { + js: linkMapper.assetPath(node, 'sorter.js'), + image: linkMapper.assetPath(node, 'sort-arrow-sprite.png') + }; + templateData.blockNavigation = { + js: linkMapper.assetPath(node, 'block-navigation.js') + }; + templateData.prettify = { + js: linkMapper.assetPath(node, 'prettify.js'), + css: linkMapper.assetPath(node, 'prettify.css') + }; + templateData.favicon = linkMapper.assetPath(node, 'favicon.png'); + } + + getTemplateData() { + return { datetime: this.date }; + } + + getWriter(context) { + if (!this.subdir) { + return context.writer; + } + return context.writer.writerForDir(this.subdir); + } + + onStart(root, context) { + const assetHeaders = { + '.js': '/* eslint-disable */\n' + }; + + ['.', 'vendor'].forEach(subdir => { + const writer = this.getWriter(context); + const srcDir = path.resolve(__dirname, 'assets', subdir); + fs.readdirSync(srcDir).forEach(f => { + const resolvedSource = path.resolve(srcDir, f); + const resolvedDestination = '.'; + const stat = fs.statSync(resolvedSource); + let dest; + + if (stat.isFile()) { + dest = resolvedDestination + '/' + f; + if (this.verbose) { + console.log('Write asset: ' + dest); + } + writer.copyFile( + resolvedSource, + dest, + assetHeaders[path.extname(f)] + ); + } + }); + }); + } + + onSummary(node, context) { + const linkMapper = this.linkMapper; + const templateData = this.getTemplateData(); + const children = node.getChildren(); + const skipEmpty = this.skipEmpty; + + this.fillTemplate(node, templateData, context); + const cw = this.getWriter(context).writeFile(linkMapper.getPath(node)); + cw.write(headerTemplate(templateData)); + cw.write(summaryTableHeader); + children.forEach(child => { + const metrics = child.getCoverageSummary(); + const isEmpty = metrics.isEmpty(); + if (skipEmpty && isEmpty) { + return; + } + const reportClasses = isEmpty + ? emptyClasses + : { + statements: context.classForPercent( + 'statements', + metrics.statements.pct + ), + lines: context.classForPercent( + 'lines', + metrics.lines.pct + ), + functions: context.classForPercent( + 'functions', + metrics.functions.pct + ), + branches: context.classForPercent( + 'branches', + metrics.branches.pct + ) + }; + const data = { + metrics: isEmpty ? fixPct(metrics) : metrics, + reportClasses, + file: child.getRelativeName(), + output: linkMapper.relativePath(node, child) + }; + cw.write(summaryLineTemplate(data) + '\n'); + }); + cw.write(summaryTableFooter); + cw.write(footerTemplate(templateData)); + cw.close(); + } + + onDetail(node, context) { + const linkMapper = this.linkMapper; + const templateData = this.getTemplateData(); + + this.fillTemplate(node, templateData, context); + const cw = this.getWriter(context).writeFile(linkMapper.getPath(node)); + cw.write(headerTemplate(templateData)); + cw.write('
\n');
+        cw.write(detailTemplate(annotator(node.getFileCoverage(), context)));
+        cw.write('
\n'); + cw.write(footerTemplate(templateData)); + cw.close(); + } +} + +module.exports = HtmlReport; diff --git a/node_modules/istanbul-reports/lib/html/insertion-text.js b/node_modules/istanbul-reports/lib/html/insertion-text.js new file mode 100644 index 00000000..6f806424 --- /dev/null +++ b/node_modules/istanbul-reports/lib/html/insertion-text.js @@ -0,0 +1,114 @@ +'use strict'; +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +function InsertionText(text, consumeBlanks) { + this.text = text; + this.origLength = text.length; + this.offsets = []; + this.consumeBlanks = consumeBlanks; + this.startPos = this.findFirstNonBlank(); + this.endPos = this.findLastNonBlank(); +} + +const WHITE_RE = /[ \f\n\r\t\v\u00A0\u2028\u2029]/; + +InsertionText.prototype = { + findFirstNonBlank() { + let pos = -1; + const text = this.text; + const len = text.length; + let i; + for (i = 0; i < len; i += 1) { + if (!text.charAt(i).match(WHITE_RE)) { + pos = i; + break; + } + } + return pos; + }, + findLastNonBlank() { + const text = this.text; + const len = text.length; + let pos = text.length + 1; + let i; + for (i = len - 1; i >= 0; i -= 1) { + if (!text.charAt(i).match(WHITE_RE)) { + pos = i; + break; + } + } + return pos; + }, + originalLength() { + return this.origLength; + }, + + insertAt(col, str, insertBefore, consumeBlanks) { + consumeBlanks = + typeof consumeBlanks === 'undefined' + ? this.consumeBlanks + : consumeBlanks; + col = col > this.originalLength() ? this.originalLength() : col; + col = col < 0 ? 0 : col; + + if (consumeBlanks) { + if (col <= this.startPos) { + col = 0; + } + if (col > this.endPos) { + col = this.origLength; + } + } + + const len = str.length; + const offset = this.findOffset(col, len, insertBefore); + const realPos = col + offset; + const text = this.text; + this.text = text.substring(0, realPos) + str + text.substring(realPos); + return this; + }, + + findOffset(pos, len, insertBefore) { + const offsets = this.offsets; + let offsetObj; + let cumulativeOffset = 0; + let i; + + for (i = 0; i < offsets.length; i += 1) { + offsetObj = offsets[i]; + if ( + offsetObj.pos < pos || + (offsetObj.pos === pos && !insertBefore) + ) { + cumulativeOffset += offsetObj.len; + } + if (offsetObj.pos >= pos) { + break; + } + } + if (offsetObj && offsetObj.pos === pos) { + offsetObj.len += len; + } else { + offsets.splice(i, 0, { pos, len }); + } + return cumulativeOffset; + }, + + wrap(startPos, startText, endPos, endText, consumeBlanks) { + this.insertAt(startPos, startText, true, consumeBlanks); + this.insertAt(endPos, endText, false, consumeBlanks); + return this; + }, + + wrapLine(startText, endText) { + this.wrap(0, startText, this.originalLength(), endText); + }, + + toString() { + return this.text; + } +}; + +module.exports = InsertionText; diff --git a/node_modules/istanbul-reports/lib/json-summary/index.js b/node_modules/istanbul-reports/lib/json-summary/index.js new file mode 100644 index 00000000..318a47fa --- /dev/null +++ b/node_modules/istanbul-reports/lib/json-summary/index.js @@ -0,0 +1,56 @@ +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +'use strict'; +const { ReportBase } = require('istanbul-lib-report'); + +class JsonSummaryReport extends ReportBase { + constructor(opts) { + super(); + + this.file = opts.file || 'coverage-summary.json'; + this.contentWriter = null; + this.first = true; + } + + onStart(root, context) { + this.contentWriter = context.writer.writeFile(this.file); + this.contentWriter.write('{'); + } + + writeSummary(filePath, sc) { + const cw = this.contentWriter; + if (this.first) { + this.first = false; + } else { + cw.write(','); + } + cw.write(JSON.stringify(filePath)); + cw.write(': '); + cw.write(JSON.stringify(sc)); + cw.println(''); + } + + onSummary(node) { + if (!node.isRoot()) { + return; + } + this.writeSummary('total', node.getCoverageSummary()); + } + + onDetail(node) { + this.writeSummary( + node.getFileCoverage().path, + node.getCoverageSummary() + ); + } + + onEnd() { + const cw = this.contentWriter; + cw.println('}'); + cw.close(); + } +} + +module.exports = JsonSummaryReport; diff --git a/node_modules/istanbul-reports/lib/json/index.js b/node_modules/istanbul-reports/lib/json/index.js new file mode 100644 index 00000000..bcae6aea --- /dev/null +++ b/node_modules/istanbul-reports/lib/json/index.js @@ -0,0 +1,44 @@ +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +'use strict'; +const { ReportBase } = require('istanbul-lib-report'); + +class JsonReport extends ReportBase { + constructor(opts) { + super(); + + this.file = opts.file || 'coverage-final.json'; + this.first = true; + } + + onStart(root, context) { + this.contentWriter = context.writer.writeFile(this.file); + this.contentWriter.write('{'); + } + + onDetail(node) { + const fc = node.getFileCoverage(); + const key = fc.path; + const cw = this.contentWriter; + + if (this.first) { + this.first = false; + } else { + cw.write(','); + } + cw.write(JSON.stringify(key)); + cw.write(': '); + cw.write(JSON.stringify(fc)); + cw.println(''); + } + + onEnd() { + const cw = this.contentWriter; + cw.println('}'); + cw.close(); + } +} + +module.exports = JsonReport; diff --git a/node_modules/istanbul-reports/lib/lcov/index.js b/node_modules/istanbul-reports/lib/lcov/index.js new file mode 100644 index 00000000..383c2027 --- /dev/null +++ b/node_modules/istanbul-reports/lib/lcov/index.js @@ -0,0 +1,33 @@ +'use strict'; +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +const { ReportBase } = require('istanbul-lib-report'); +const LcovOnlyReport = require('../lcovonly'); +const HtmlReport = require('../html'); + +class LcovReport extends ReportBase { + constructor(opts) { + super(); + this.lcov = new LcovOnlyReport({ file: 'lcov.info', ...opts }); + this.html = new HtmlReport({ subdir: 'lcov-report' }); + } +} + +['Start', 'End', 'Summary', 'SummaryEnd', 'Detail'].forEach(what => { + const meth = 'on' + what; + LcovReport.prototype[meth] = function(...args) { + const lcov = this.lcov; + const html = this.html; + + if (lcov[meth]) { + lcov[meth](...args); + } + if (html[meth]) { + html[meth](...args); + } + }; +}); + +module.exports = LcovReport; diff --git a/node_modules/istanbul-reports/lib/lcovonly/index.js b/node_modules/istanbul-reports/lib/lcovonly/index.js new file mode 100644 index 00000000..7aa2a866 --- /dev/null +++ b/node_modules/istanbul-reports/lib/lcovonly/index.js @@ -0,0 +1,68 @@ +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +'use strict'; +const { ReportBase } = require('istanbul-lib-report'); + +class LcovOnlyReport extends ReportBase { + constructor(opts) { + super(); + this.file = opts.file || 'lcov.info'; + this.projectRoot = opts.projectRoot || process.cwd(); + this.contentWriter = null; + } + + onStart(root, context) { + this.contentWriter = context.writer.writeFile(this.file); + } + + onDetail(node) { + const fc = node.getFileCoverage(); + const writer = this.contentWriter; + const functions = fc.f; + const functionMap = fc.fnMap; + const lines = fc.getLineCoverage(); + const branches = fc.b; + const branchMap = fc.branchMap; + const summary = node.getCoverageSummary(); + const path = require('path'); + + writer.println('TN:'); //no test nam + writer.println('SF:' + path.relative(this.projectRoot, fc.path)); + + Object.values(functionMap).forEach(meta => { + writer.println('FN:' + [meta.decl.start.line, meta.name].join(',')); + }); + writer.println('FNF:' + summary.functions.total); + writer.println('FNH:' + summary.functions.covered); + + Object.entries(functionMap).forEach(([key, meta]) => { + const stats = functions[key]; + writer.println('FNDA:' + [stats, meta.name].join(',')); + }); + + Object.entries(lines).forEach(entry => { + writer.println('DA:' + entry.join(',')); + }); + writer.println('LF:' + summary.lines.total); + writer.println('LH:' + summary.lines.covered); + + Object.entries(branches).forEach(([key, branchArray]) => { + const meta = branchMap[key]; + const { line } = meta.loc.start; + branchArray.forEach((b, i) => { + writer.println('BRDA:' + [line, key, i, b].join(',')); + }); + }); + writer.println('BRF:' + summary.branches.total); + writer.println('BRH:' + summary.branches.covered); + writer.println('end_of_record'); + } + + onEnd() { + this.contentWriter.close(); + } +} + +module.exports = LcovOnlyReport; diff --git a/node_modules/istanbul-reports/lib/none/index.js b/node_modules/istanbul-reports/lib/none/index.js new file mode 100644 index 00000000..81c14088 --- /dev/null +++ b/node_modules/istanbul-reports/lib/none/index.js @@ -0,0 +1,10 @@ +'use strict'; +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +const { ReportBase } = require('istanbul-lib-report'); + +class NoneReport extends ReportBase {} + +module.exports = NoneReport; diff --git a/node_modules/istanbul-reports/lib/teamcity/index.js b/node_modules/istanbul-reports/lib/teamcity/index.js new file mode 100644 index 00000000..2bca26a8 --- /dev/null +++ b/node_modules/istanbul-reports/lib/teamcity/index.js @@ -0,0 +1,67 @@ +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +'use strict'; +const { ReportBase } = require('istanbul-lib-report'); + +class TeamcityReport extends ReportBase { + constructor(opts) { + super(); + + opts = opts || {}; + this.file = opts.file || null; + this.blockName = opts.blockName || 'Code Coverage Summary'; + } + + onStart(node, context) { + const metrics = node.getCoverageSummary(); + const cw = context.writer.writeFile(this.file); + + cw.println(''); + cw.println("##teamcity[blockOpened name='" + this.blockName + "']"); + + //Statements Covered + cw.println( + lineForKey(metrics.statements.covered, 'CodeCoverageAbsBCovered') + ); + cw.println( + lineForKey(metrics.statements.total, 'CodeCoverageAbsBTotal') + ); + + //Branches Covered + cw.println( + lineForKey(metrics.branches.covered, 'CodeCoverageAbsRCovered') + ); + cw.println(lineForKey(metrics.branches.total, 'CodeCoverageAbsRTotal')); + + //Functions Covered + cw.println( + lineForKey(metrics.functions.covered, 'CodeCoverageAbsMCovered') + ); + cw.println( + lineForKey(metrics.functions.total, 'CodeCoverageAbsMTotal') + ); + + //Lines Covered + cw.println( + lineForKey(metrics.lines.covered, 'CodeCoverageAbsLCovered') + ); + cw.println(lineForKey(metrics.lines.total, 'CodeCoverageAbsLTotal')); + + cw.println("##teamcity[blockClosed name='" + this.blockName + "']"); + cw.close(); + } +} + +function lineForKey(value, teamcityVar) { + return ( + "##teamcity[buildStatisticValue key='" + + teamcityVar + + "' value='" + + value + + "']" + ); +} + +module.exports = TeamcityReport; diff --git a/node_modules/istanbul-reports/lib/text-lcov/index.js b/node_modules/istanbul-reports/lib/text-lcov/index.js new file mode 100644 index 00000000..847aedfd --- /dev/null +++ b/node_modules/istanbul-reports/lib/text-lcov/index.js @@ -0,0 +1,17 @@ +'use strict'; +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +const LcovOnly = require('../lcovonly'); + +class TextLcov extends LcovOnly { + constructor(opts) { + super({ + ...opts, + file: '-' + }); + } +} + +module.exports = TextLcov; diff --git a/node_modules/istanbul-reports/lib/text-summary/index.js b/node_modules/istanbul-reports/lib/text-summary/index.js new file mode 100644 index 00000000..a9e6eab3 --- /dev/null +++ b/node_modules/istanbul-reports/lib/text-summary/index.js @@ -0,0 +1,62 @@ +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +'use strict'; +const { ReportBase } = require('istanbul-lib-report'); + +class TextSummaryReport extends ReportBase { + constructor(opts) { + super(); + + opts = opts || {}; + this.file = opts.file || null; + } + + onStart(node, context) { + const summary = node.getCoverageSummary(); + const cw = context.writer.writeFile(this.file); + const printLine = function(key) { + const str = lineForKey(summary, key); + const clazz = context.classForPercent(key, summary[key].pct); + cw.println(cw.colorize(str, clazz)); + }; + + cw.println(''); + cw.println( + '=============================== Coverage summary ===============================' + ); + printLine('statements'); + printLine('branches'); + printLine('functions'); + printLine('lines'); + cw.println( + '================================================================================' + ); + cw.close(); + } +} + +function lineForKey(summary, key) { + const metrics = summary[key]; + + key = key.substring(0, 1).toUpperCase() + key.substring(1); + if (key.length < 12) { + key += ' '.substring(0, 12 - key.length); + } + const result = [ + key, + ':', + metrics.pct + '%', + '(', + metrics.covered + '/' + metrics.total, + ')' + ].join(' '); + const skipped = metrics.skipped; + if (skipped > 0) { + return result + ', ' + skipped + ' ignored'; + } + return result; +} + +module.exports = TextSummaryReport; diff --git a/node_modules/istanbul-reports/lib/text/index.js b/node_modules/istanbul-reports/lib/text/index.js new file mode 100644 index 00000000..d87ba298 --- /dev/null +++ b/node_modules/istanbul-reports/lib/text/index.js @@ -0,0 +1,298 @@ +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE + file for terms. + */ +'use strict'; +const { ReportBase } = require('istanbul-lib-report'); + +const NAME_COL = 4; +const PCT_COLS = 7; +const MISSING_COL = 17; +const TAB_SIZE = 1; +const DELIM = ' | '; + +function padding(num, ch) { + let str = ''; + let i; + ch = ch || ' '; + for (i = 0; i < num; i += 1) { + str += ch; + } + return str; +} + +function fill(str, width, right, tabs) { + tabs = tabs || 0; + str = String(str); + + const leadingSpaces = tabs * TAB_SIZE; + const remaining = width - leadingSpaces; + const leader = padding(leadingSpaces); + let fmtStr = ''; + + if (remaining > 0) { + const strlen = str.length; + let fillStr; + + if (remaining >= strlen) { + fillStr = padding(remaining - strlen); + } else { + fillStr = '...'; + const length = remaining - fillStr.length; + + str = str.substring(strlen - length); + right = true; + } + fmtStr = right ? fillStr + str : str + fillStr; + } + + return leader + fmtStr; +} + +function formatName(name, maxCols, level) { + return fill(name, maxCols, false, level); +} + +function formatPct(pct, width) { + return fill(pct, width || PCT_COLS, true, 0); +} + +function nodeMissing(node) { + if (node.isSummary()) { + return ''; + } + + const metrics = node.getCoverageSummary(); + const isEmpty = metrics.isEmpty(); + const lines = isEmpty ? 0 : metrics.lines.pct; + + let coveredLines; + + const fileCoverage = node.getFileCoverage(); + if (lines === 100) { + const branches = fileCoverage.getBranchCoverageByLine(); + coveredLines = Object.entries(branches).map(([key, { coverage }]) => [ + key, + coverage === 100 + ]); + } else { + coveredLines = Object.entries(fileCoverage.getLineCoverage()); + } + + let newRange = true; + const ranges = coveredLines + .reduce((acum, [line, hit]) => { + if (hit) newRange = true; + else { + line = parseInt(line); + if (newRange) { + acum.push([line]); + newRange = false; + } else acum[acum.length - 1][1] = line; + } + + return acum; + }, []) + .map(range => { + const { length } = range; + + if (length === 1) return range[0]; + + return `${range[0]}-${range[1]}`; + }); + + return [].concat(...ranges).join(','); +} + +function nodeName(node) { + return node.getRelativeName() || 'All files'; +} + +function depthFor(node) { + let ret = 0; + node = node.getParent(); + while (node) { + ret += 1; + node = node.getParent(); + } + return ret; +} + +function nullDepthFor() { + return 0; +} + +function findWidth(node, context, nodeExtractor, depthFor = nullDepthFor) { + let last = 0; + function compareWidth(node) { + last = Math.max( + last, + TAB_SIZE * depthFor(node) + nodeExtractor(node).length + ); + } + const visitor = { + onSummary: compareWidth, + onDetail: compareWidth + }; + node.visit(context.getVisitor(visitor)); + return last; +} + +function makeLine(nameWidth, missingWidth) { + const name = padding(nameWidth, '-'); + const pct = padding(PCT_COLS, '-'); + const elements = []; + + elements.push(name); + elements.push(pct); + elements.push(padding(PCT_COLS + 1, '-')); + elements.push(pct); + elements.push(pct); + elements.push(padding(missingWidth, '-')); + return elements.join(DELIM.replace(/ /g, '-')) + '-'; +} + +function tableHeader(maxNameCols, missingWidth) { + const elements = []; + elements.push(formatName('File', maxNameCols, 0)); + elements.push(formatPct('% Stmts')); + elements.push(formatPct('% Branch', PCT_COLS + 1)); + elements.push(formatPct('% Funcs')); + elements.push(formatPct('% Lines')); + elements.push(formatName('Uncovered Line #s', missingWidth)); + return elements.join(DELIM) + ' '; +} + +function isFull(metrics) { + return ( + metrics.statements.pct === 100 && + metrics.branches.pct === 100 && + metrics.functions.pct === 100 && + metrics.lines.pct === 100 + ); +} + +function tableRow( + node, + context, + colorizer, + maxNameCols, + level, + skipEmpty, + skipFull, + missingWidth +) { + const name = nodeName(node); + const metrics = node.getCoverageSummary(); + const isEmpty = metrics.isEmpty(); + if (skipEmpty && isEmpty) { + return ''; + } + if (skipFull && isFull(metrics)) { + return ''; + } + + const mm = { + statements: isEmpty ? 0 : metrics.statements.pct, + branches: isEmpty ? 0 : metrics.branches.pct, + functions: isEmpty ? 0 : metrics.functions.pct, + lines: isEmpty ? 0 : metrics.lines.pct + }; + const colorize = isEmpty + ? function(str) { + return str; + } + : function(str, key) { + return colorizer(str, context.classForPercent(key, mm[key])); + }; + const elements = []; + + elements.push(colorize(formatName(name, maxNameCols, level), 'statements')); + elements.push(colorize(formatPct(mm.statements), 'statements')); + elements.push(colorize(formatPct(mm.branches, PCT_COLS + 1), 'branches')); + elements.push(colorize(formatPct(mm.functions), 'functions')); + elements.push(colorize(formatPct(mm.lines), 'lines')); + elements.push( + colorizer( + formatName(nodeMissing(node), missingWidth), + mm.lines === 100 ? 'medium' : 'low' + ) + ); + + return elements.join(DELIM) + ' '; +} + +class TextReport extends ReportBase { + constructor(opts) { + super(); + + opts = opts || {}; + const { maxCols } = opts; + + this.file = opts.file || null; + this.maxCols = maxCols != null ? maxCols : process.stdout.columns || 80; + this.cw = null; + this.skipEmpty = opts.skipEmpty; + this.skipFull = opts.skipFull; + } + + onStart(root, context) { + this.cw = context.writer.writeFile(this.file); + this.nameWidth = Math.max( + NAME_COL, + findWidth(root, context, nodeName, depthFor) + ); + this.missingWidth = Math.max( + MISSING_COL, + findWidth(root, context, nodeMissing) + ); + + if (this.maxCols > 0) { + const pct_cols = DELIM.length + 4 * (PCT_COLS + DELIM.length) + 2; + + const maxRemaining = this.maxCols - (pct_cols + MISSING_COL); + if (this.nameWidth > maxRemaining) { + this.nameWidth = maxRemaining; + this.missingWidth = MISSING_COL; + } else if (this.nameWidth < maxRemaining) { + const maxRemaining = this.maxCols - (this.nameWidth + pct_cols); + if (this.missingWidth > maxRemaining) { + this.missingWidth = maxRemaining; + } + } + } + const line = makeLine(this.nameWidth, this.missingWidth); + this.cw.println(line); + this.cw.println(tableHeader(this.nameWidth, this.missingWidth)); + this.cw.println(line); + } + + onSummary(node, context) { + const nodeDepth = depthFor(node); + const row = tableRow( + node, + context, + this.cw.colorize.bind(this.cw), + this.nameWidth, + nodeDepth, + this.skipEmpty, + this.skipFull, + this.missingWidth + ); + if (row) { + this.cw.println(row); + } + } + + onDetail(node, context) { + return this.onSummary(node, context); + } + + onEnd() { + this.cw.println(makeLine(this.nameWidth, this.missingWidth)); + this.cw.close(); + } +} + +module.exports = TextReport; diff --git a/node_modules/istanbul-reports/package.json b/node_modules/istanbul-reports/package.json new file mode 100644 index 00000000..197fc915 --- /dev/null +++ b/node_modules/istanbul-reports/package.json @@ -0,0 +1,61 @@ +{ + "name": "istanbul-reports", + "version": "3.0.2", + "description": "istanbul reports", + "author": "Krishnan Anantheswaran ", + "main": "index.js", + "files": [ + "index.js", + "lib" + ], + "scripts": { + "test": "nyc --nycrc-path=../../monorepo-per-package-nycrc.json mocha --recursive", + "prepare": "webpack --config lib/html-spa/webpack.config.js --mode production", + "prepare:watch": "webpack --config lib/html-spa/webpack.config.js --watch --mode development" + }, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "devDependencies": { + "@babel/core": "^7.7.5", + "@babel/preset-env": "^7.7.5", + "@babel/preset-react": "^7.7.4", + "babel-loader": "^8.0.6", + "chai": "^4.2.0", + "is-windows": "^1.0.2", + "istanbul-lib-coverage": "^3.0.0", + "mocha": "^6.2.2", + "nyc": "^15.0.0-beta.2", + "react": "^16.12.0", + "react-dom": "^16.12.0", + "webpack": "^4.41.2", + "webpack-cli": "^3.3.10" + }, + "license": "BSD-3-Clause", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/istanbuljs/istanbuljs.git", + "directory": "packages/istanbul-reports" + }, + "keywords": [ + "istanbul", + "reports" + ], + "bugs": { + "url": "https://github.com/istanbuljs/istanbuljs/issues" + }, + "homepage": "https://istanbul.js.org/", + "nyc": { + "exclude": [ + "lib/html/assets/**", + "lib/html-spa/assets/**", + "lib/html-spa/rollup.config.js", + "test/**" + ] + }, + "engines": { + "node": ">=8" + }, + "gitHead": "73c25ce79f91010d1ff073aa6ff3fd01114f90db" +} diff --git a/node_modules/js-tokens/CHANGELOG.md b/node_modules/js-tokens/CHANGELOG.md new file mode 100644 index 00000000..755e6f6e --- /dev/null +++ b/node_modules/js-tokens/CHANGELOG.md @@ -0,0 +1,151 @@ +### Version 4.0.0 (2018-01-28) ### + +- Added: Support for ES2018. The only change needed was recognizing the `s` + regex flag. +- Changed: _All_ tokens returned by the `matchToToken` function now have a + `closed` property. It is set to `undefined` for the tokens where “closed” + doesn’t make sense. This means that all tokens objects have the same shape, + which might improve performance. + +These are the breaking changes: + +- `'/a/s'.match(jsTokens)` no longer returns `['/', 'a', '/', 's']`, but + `['/a/s']`. (There are of course other variations of this.) +- Code that rely on some token objects not having the `closed` property could + now behave differently. + + +### Version 3.0.2 (2017-06-28) ### + +- No code changes. Just updates to the readme. + + +### Version 3.0.1 (2017-01-30) ### + +- Fixed: ES2015 unicode escapes with more than 6 hex digits are now matched + correctly. + + +### Version 3.0.0 (2017-01-11) ### + +This release contains one breaking change, that should [improve performance in +V8][v8-perf]: + +> So how can you, as a JavaScript developer, ensure that your RegExps are fast? +> If you are not interested in hooking into RegExp internals, make sure that +> neither the RegExp instance, nor its prototype is modified in order to get the +> best performance: +> +> ```js +> var re = /./g; +> re.exec(''); // Fast path. +> re.new_property = 'slow'; +> ``` + +This module used to export a single regex, with `.matchToToken` bolted +on, just like in the above example. This release changes the exports of +the module to avoid this issue. + +Before: + +```js +import jsTokens from "js-tokens" +// or: +var jsTokens = require("js-tokens") +var matchToToken = jsTokens.matchToToken +``` + +After: + +```js +import jsTokens, {matchToToken} from "js-tokens" +// or: +var jsTokens = require("js-tokens").default +var matchToToken = require("js-tokens").matchToToken +``` + +[v8-perf]: http://v8project.blogspot.se/2017/01/speeding-up-v8-regular-expressions.html + + +### Version 2.0.0 (2016-06-19) ### + +- Added: Support for ES2016. In other words, support for the `**` exponentiation + operator. + +These are the breaking changes: + +- `'**'.match(jsTokens)` no longer returns `['*', '*']`, but `['**']`. +- `'**='.match(jsTokens)` no longer returns `['*', '*=']`, but `['**=']`. + + +### Version 1.0.3 (2016-03-27) ### + +- Improved: Made the regex ever so slightly smaller. +- Updated: The readme. + + +### Version 1.0.2 (2015-10-18) ### + +- Improved: Limited npm package contents for a smaller download. Thanks to + @zertosh! + + +### Version 1.0.1 (2015-06-20) ### + +- Fixed: Declared an undeclared variable. + + +### Version 1.0.0 (2015-02-26) ### + +- Changed: Merged the 'operator' and 'punctuation' types into 'punctuator'. That + type is now equivalent to the Punctuator token in the ECMAScript + specification. (Backwards-incompatible change.) +- Fixed: A `-` followed by a number is now correctly matched as a punctuator + followed by a number. It used to be matched as just a number, but there is no + such thing as negative number literals. (Possibly backwards-incompatible + change.) + + +### Version 0.4.1 (2015-02-21) ### + +- Added: Support for the regex `u` flag. + + +### Version 0.4.0 (2015-02-21) ### + +- Improved: `jsTokens.matchToToken` performance. +- Added: Support for octal and binary number literals. +- Added: Support for template strings. + + +### Version 0.3.1 (2015-01-06) ### + +- Fixed: Support for unicode spaces. They used to be allowed in names (which is + very confusing), and some unicode newlines were wrongly allowed in strings and + regexes. + + +### Version 0.3.0 (2014-12-19) ### + +- Changed: The `jsTokens.names` array has been replaced with the + `jsTokens.matchToToken` function. The capturing groups of `jsTokens` are no + longer part of the public API; instead use said function. See this [gist] for + an example. (Backwards-incompatible change.) +- Changed: The empty string is now considered an “invalid” token, instead an + “empty” token (its own group). (Backwards-incompatible change.) +- Removed: component support. (Backwards-incompatible change.) + +[gist]: https://gist.github.com/lydell/be49dbf80c382c473004 + + +### Version 0.2.0 (2014-06-19) ### + +- Changed: Match ES6 function arrows (`=>`) as an operator, instead of its own + category (“functionArrow”), for simplicity. (Backwards-incompatible change.) +- Added: ES6 splats (`...`) are now matched as an operator (instead of three + punctuations). (Backwards-incompatible change.) + + +### Version 0.1.0 (2014-03-08) ### + +- Initial release. diff --git a/node_modules/js-tokens/LICENSE b/node_modules/js-tokens/LICENSE new file mode 100644 index 00000000..54aef52f --- /dev/null +++ b/node_modules/js-tokens/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/js-tokens/README.md b/node_modules/js-tokens/README.md new file mode 100644 index 00000000..00cdf163 --- /dev/null +++ b/node_modules/js-tokens/README.md @@ -0,0 +1,240 @@ +Overview [![Build Status](https://travis-ci.org/lydell/js-tokens.svg?branch=master)](https://travis-ci.org/lydell/js-tokens) +======== + +A regex that tokenizes JavaScript. + +```js +var jsTokens = require("js-tokens").default + +var jsString = "var foo=opts.foo;\n..." + +jsString.match(jsTokens) +// ["var", " ", "foo", "=", "opts", ".", "foo", ";", "\n", ...] +``` + + +Installation +============ + +`npm install js-tokens` + +```js +import jsTokens from "js-tokens" +// or: +var jsTokens = require("js-tokens").default +``` + + +Usage +===== + +### `jsTokens` ### + +A regex with the `g` flag that matches JavaScript tokens. + +The regex _always_ matches, even invalid JavaScript and the empty string. + +The next match is always directly after the previous. + +### `var token = matchToToken(match)` ### + +```js +import {matchToToken} from "js-tokens" +// or: +var matchToToken = require("js-tokens").matchToToken +``` + +Takes a `match` returned by `jsTokens.exec(string)`, and returns a `{type: +String, value: String}` object. The following types are available: + +- string +- comment +- regex +- number +- name +- punctuator +- whitespace +- invalid + +Multi-line comments and strings also have a `closed` property indicating if the +token was closed or not (see below). + +Comments and strings both come in several flavors. To distinguish them, check if +the token starts with `//`, `/*`, `'`, `"` or `` ` ``. + +Names are ECMAScript IdentifierNames, that is, including both identifiers and +keywords. You may use [is-keyword-js] to tell them apart. + +Whitespace includes both line terminators and other whitespace. + +[is-keyword-js]: https://github.com/crissdev/is-keyword-js + + +ECMAScript support +================== + +The intention is to always support the latest ECMAScript version whose feature +set has been finalized. + +If adding support for a newer version requires changes, a new version with a +major verion bump will be released. + +Currently, ECMAScript 2018 is supported. + + +Invalid code handling +===================== + +Unterminated strings are still matched as strings. JavaScript strings cannot +contain (unescaped) newlines, so unterminated strings simply end at the end of +the line. Unterminated template strings can contain unescaped newlines, though, +so they go on to the end of input. + +Unterminated multi-line comments are also still matched as comments. They +simply go on to the end of the input. + +Unterminated regex literals are likely matched as division and whatever is +inside the regex. + +Invalid ASCII characters have their own capturing group. + +Invalid non-ASCII characters are treated as names, to simplify the matching of +names (except unicode spaces which are treated as whitespace). Note: See also +the [ES2018](#es2018) section. + +Regex literals may contain invalid regex syntax. They are still matched as +regex literals. They may also contain repeated regex flags, to keep the regex +simple. + +Strings may contain invalid escape sequences. + + +Limitations +=========== + +Tokenizing JavaScript using regexes—in fact, _one single regex_—won’t be +perfect. But that’s not the point either. + +You may compare jsTokens with [esprima] by using `esprima-compare.js`. +See `npm run esprima-compare`! + +[esprima]: http://esprima.org/ + +### Template string interpolation ### + +Template strings are matched as single tokens, from the starting `` ` `` to the +ending `` ` ``, including interpolations (whose tokens are not matched +individually). + +Matching template string interpolations requires recursive balancing of `{` and +`}`—something that JavaScript regexes cannot do. Only one level of nesting is +supported. + +### Division and regex literals collision ### + +Consider this example: + +```js +var g = 9.82 +var number = bar / 2/g + +var regex = / 2/g +``` + +A human can easily understand that in the `number` line we’re dealing with +division, and in the `regex` line we’re dealing with a regex literal. How come? +Because humans can look at the whole code to put the `/` characters in context. +A JavaScript regex cannot. It only sees forwards. (Well, ES2018 regexes can also +look backwards. See the [ES2018](#es2018) section). + +When the `jsTokens` regex scans throught the above, it will see the following +at the end of both the `number` and `regex` rows: + +```js +/ 2/g +``` + +It is then impossible to know if that is a regex literal, or part of an +expression dealing with division. + +Here is a similar case: + +```js +foo /= 2/g +foo(/= 2/g) +``` + +The first line divides the `foo` variable with `2/g`. The second line calls the +`foo` function with the regex literal `/= 2/g`. Again, since `jsTokens` only +sees forwards, it cannot tell the two cases apart. + +There are some cases where we _can_ tell division and regex literals apart, +though. + +First off, we have the simple cases where there’s only one slash in the line: + +```js +var foo = 2/g +foo /= 2 +``` + +Regex literals cannot contain newlines, so the above cases are correctly +identified as division. Things are only problematic when there are more than +one non-comment slash in a single line. + +Secondly, not every character is a valid regex flag. + +```js +var number = bar / 2/e +``` + +The above example is also correctly identified as division, because `e` is not a +valid regex flag. I initially wanted to future-proof by allowing `[a-zA-Z]*` +(any letter) as flags, but it is not worth it since it increases the amount of +ambigous cases. So only the standard `g`, `m`, `i`, `y` and `u` flags are +allowed. This means that the above example will be identified as division as +long as you don’t rename the `e` variable to some permutation of `gmiyus` 1 to 6 +characters long. + +Lastly, we can look _forward_ for information. + +- If the token following what looks like a regex literal is not valid after a + regex literal, but is valid in a division expression, then the regex literal + is treated as division instead. For example, a flagless regex cannot be + followed by a string, number or name, but all of those three can be the + denominator of a division. +- Generally, if what looks like a regex literal is followed by an operator, the + regex literal is treated as division instead. This is because regexes are + seldomly used with operators (such as `+`, `*`, `&&` and `==`), but division + could likely be part of such an expression. + +Please consult the regex source and the test cases for precise information on +when regex or division is matched (should you need to know). In short, you +could sum it up as: + +If the end of a statement looks like a regex literal (even if it isn’t), it +will be treated as one. Otherwise it should work as expected (if you write sane +code). + +### ES2018 ### + +ES2018 added some nice regex improvements to the language. + +- [Unicode property escapes] should allow telling names and invalid non-ASCII + characters apart without blowing up the regex size. +- [Lookbehind assertions] should allow matching telling division and regex + literals apart in more cases. +- [Named capture groups] might simplify some things. + +These things would be nice to do, but are not critical. They probably have to +wait until the oldest maintained Node.js LTS release supports those features. + +[Unicode property escapes]: http://2ality.com/2017/07/regexp-unicode-property-escapes.html +[Lookbehind assertions]: http://2ality.com/2017/05/regexp-lookbehind-assertions.html +[Named capture groups]: http://2ality.com/2017/05/regexp-named-capture-groups.html + + +License +======= + +[MIT](LICENSE). diff --git a/node_modules/js-tokens/index.js b/node_modules/js-tokens/index.js new file mode 100644 index 00000000..b23a4a0e --- /dev/null +++ b/node_modules/js-tokens/index.js @@ -0,0 +1,23 @@ +// Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell +// License: MIT. (See LICENSE.) + +Object.defineProperty(exports, "__esModule", { + value: true +}) + +// This regex comes from regex.coffee, and is inserted here by generate-index.js +// (run `npm run build`). +exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g + +exports.matchToToken = function(match) { + var token = {type: "invalid", value: match[0], closed: undefined} + if (match[ 1]) token.type = "string" , token.closed = !!(match[3] || match[4]) + else if (match[ 5]) token.type = "comment" + else if (match[ 6]) token.type = "comment", token.closed = !!match[7] + else if (match[ 8]) token.type = "regex" + else if (match[ 9]) token.type = "number" + else if (match[10]) token.type = "name" + else if (match[11]) token.type = "punctuator" + else if (match[12]) token.type = "whitespace" + return token +} diff --git a/node_modules/js-tokens/package.json b/node_modules/js-tokens/package.json new file mode 100644 index 00000000..66752fab --- /dev/null +++ b/node_modules/js-tokens/package.json @@ -0,0 +1,30 @@ +{ + "name": "js-tokens", + "version": "4.0.0", + "author": "Simon Lydell", + "license": "MIT", + "description": "A regex that tokenizes JavaScript.", + "keywords": [ + "JavaScript", + "js", + "token", + "tokenize", + "regex" + ], + "files": [ + "index.js" + ], + "repository": "lydell/js-tokens", + "scripts": { + "test": "mocha --ui tdd", + "esprima-compare": "node esprima-compare ./index.js everything.js/es5.js", + "build": "node generate-index.js", + "dev": "npm run build && npm test" + }, + "devDependencies": { + "coffeescript": "2.1.1", + "esprima": "4.0.0", + "everything.js": "1.0.3", + "mocha": "5.0.0" + } +} diff --git a/node_modules/js-yaml/CHANGELOG.md b/node_modules/js-yaml/CHANGELOG.md new file mode 100644 index 00000000..b4baa4ea --- /dev/null +++ b/node_modules/js-yaml/CHANGELOG.md @@ -0,0 +1,557 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + + +## [3.14.1] - 2020-12-07 +### Security +- Fix possible code execution in (already unsafe) `.load()` (in &anchor). + + +## [3.14.0] - 2020-05-22 +### Changed +- Support `safe/loadAll(input, options)` variant of call. +- CI: drop outdated nodejs versions. +- Dev deps bump. + +### Fixed +- Quote `=` in plain scalars #519. +- Check the node type for `!` tag in case user manually specifies it. +- Verify that there are no null-bytes in input. +- Fix wrong quote position when writing condensed flow, #526. + + +## [3.13.1] - 2019-04-05 +### Security +- Fix possible code execution in (already unsafe) `.load()`, #480. + + +## [3.13.0] - 2019-03-20 +### Security +- Security fix: `safeLoad()` can hang when arrays with nested refs + used as key. Now throws exception for nested arrays. #475. + + +## [3.12.2] - 2019-02-26 +### Fixed +- Fix `noArrayIndent` option for root level, #468. + + +## [3.12.1] - 2019-01-05 +### Added +- Added `noArrayIndent` option, #432. + + +## [3.12.0] - 2018-06-02 +### Changed +- Support arrow functions without a block statement, #421. + + +## [3.11.0] - 2018-03-05 +### Added +- Add arrow functions suport for `!!js/function`. + +### Fixed +- Fix dump in bin/octal/hex formats for negative integers, #399. + + +## [3.10.0] - 2017-09-10 +### Fixed +- Fix `condenseFlow` output (quote keys for sure, instead of spaces), #371, #370. +- Dump astrals as codepoints instead of surrogate pair, #368. + + +## [3.9.1] - 2017-07-08 +### Fixed +- Ensure stack is present for custom errors in node 7.+, #351. + + +## [3.9.0] - 2017-07-08 +### Added +- Add `condenseFlow` option (to create pretty URL query params), #346. + +### Fixed +- Support array return from safeLoadAll/loadAll, #350. + + +## [3.8.4] - 2017-05-08 +### Fixed +- Dumper: prevent space after dash for arrays that wrap, #343. + + +## [3.8.3] - 2017-04-05 +### Fixed +- Should not allow numbers to begin and end with underscore, #335. + + +## [3.8.2] - 2017-03-02 +### Fixed +- Fix `!!float 123` (integers) parse, #333. +- Don't allow leading zeros in floats (except 0, 0.xxx). +- Allow positive exponent without sign in floats. + + +## [3.8.1] - 2017-02-07 +### Changed +- Maintenance: update browserified build. + + +## [3.8.0] - 2017-02-07 +### Fixed +- Fix reported position for `duplicated mapping key` errors. + Now points to block start instead of block end. + (#243, thanks to @shockey). + + +## [3.7.0] - 2016-11-12 +### Added +- Support polymorphism for tags (#300, thanks to @monken). + +### Fixed +- Fix parsing of quotes followed by newlines (#304, thanks to @dplepage). + + +## [3.6.1] - 2016-05-11 +### Fixed +- Fix output cut on a pipe, #286. + + +## [3.6.0] - 2016-04-16 +### Fixed +- Dumper rewrite, fix multiple bugs with trailing `\n`. + Big thanks to @aepsilon! +- Loader: fix leading/trailing newlines in block scalars, @aepsilon. + + +## [3.5.5] - 2016-03-17 +### Fixed +- Date parse fix: don't allow dates with on digit in month and day, #268. + + +## [3.5.4] - 2016-03-09 +### Added +- `noCompatMode` for dumper, to disable quoting YAML 1.1 values. + + +## [3.5.3] - 2016-02-11 +### Changed +- Maintenance release. + + +## [3.5.2] - 2016-01-11 +### Changed +- Maintenance: missed comma in bower config. + + +## [3.5.1] - 2016-01-11 +### Changed +- Removed `inherit` dependency, #239. +- Better browserify workaround for esprima load. +- Demo rewrite. + + +## [3.5.0] - 2016-01-10 +### Fixed +- Dumper. Fold strings only, #217. +- Dumper. `norefs` option, to clone linked objects, #229. +- Loader. Throw a warning for duplicate keys, #166. +- Improved browserify support (mark `esprima` & `Buffer` excluded). + + +## [3.4.6] - 2015-11-26 +### Changed +- Use standalone `inherit` to keep browserified files clear. + + +## [3.4.5] - 2015-11-23 +### Added +- Added `lineWidth` option to dumper. + + +## [3.4.4] - 2015-11-21 +### Fixed +- Fixed floats dump (missed dot for scientific format), #220. +- Allow non-printable characters inside quoted scalars, #192. + + +## [3.4.3] - 2015-10-10 +### Changed +- Maintenance release - deps bump (esprima, argparse). + + +## [3.4.2] - 2015-09-09 +### Fixed +- Fixed serialization of duplicated entries in sequences, #205. + Thanks to @vogelsgesang. + + +## [3.4.1] - 2015-09-05 +### Fixed +- Fixed stacktrace handling in generated errors, for browsers (FF/IE). + + +## [3.4.0] - 2015-08-23 +### Changed +- Don't throw on warnings anymore. Use `onWarning` option to catch. +- Throw error on unknown tags (was warning before). +- Reworked internals of error class. + +### Fixed +- Fixed multiline keys dump, #197. Thanks to @tcr. +- Fixed heading line breaks in some scalars (regression). + + +## [3.3.1] - 2015-05-13 +### Added +- Added `.sortKeys` dumper option, thanks to @rjmunro. + +### Fixed +- Fixed astral characters support, #191. + + +## [3.3.0] - 2015-04-26 +### Changed +- Significantly improved long strings formatting in dumper, thanks to @isaacs. +- Strip BOM if exists. + + +## [3.2.7] - 2015-02-19 +### Changed +- Maintenance release. +- Updated dependencies. +- HISTORY.md -> CHANGELOG.md + + +## [3.2.6] - 2015-02-07 +### Fixed +- Fixed encoding of UTF-16 surrogate pairs. (e.g. "\U0001F431" CAT FACE). +- Fixed demo dates dump (#113, thanks to @Hypercubed). + + +## [3.2.5] - 2014-12-28 +### Fixed +- Fixed resolving of all built-in types on empty nodes. +- Fixed invalid warning on empty lines within quoted scalars and flow collections. +- Fixed bug: Tag on an empty node didn't resolve in some cases. + + +## [3.2.4] - 2014-12-19 +### Fixed +- Fixed resolving of !!null tag on an empty node. + + +## [3.2.3] - 2014-11-08 +### Fixed +- Implemented dumping of objects with circular and cross references. +- Partially fixed aliasing of constructed objects. (see issue #141 for details) + + +## [3.2.2] - 2014-09-07 +### Fixed +- Fixed infinite loop on unindented block scalars. +- Rewritten base64 encode/decode in binary type, to keep code licence clear. + + +## [3.2.1] - 2014-08-24 +### Fixed +- Nothig new. Just fix npm publish error. + + +## [3.2.0] - 2014-08-24 +### Added +- Added input piping support to CLI. + +### Fixed +- Fixed typo, that could cause hand on initial indent (#139). + + +## [3.1.0] - 2014-07-07 +### Changed +- 1.5x-2x speed boost. +- Removed deprecated `require('xxx.yml')` support. +- Significant code cleanup and refactoring. +- Internal API changed. If you used custom types - see updated examples. + Others are not affected. +- Even if the input string has no trailing line break character, + it will be parsed as if it has one. +- Added benchmark scripts. +- Moved bower files to /dist folder +- Bugfixes. + + +## [3.0.2] - 2014-02-27 +### Fixed +- Fixed bug: "constructor" string parsed as `null`. + + +## [3.0.1] - 2013-12-22 +### Fixed +- Fixed parsing of literal scalars. (issue #108) +- Prevented adding unnecessary spaces in object dumps. (issue #68) +- Fixed dumping of objects with very long (> 1024 in length) keys. + + +## [3.0.0] - 2013-12-16 +### Changed +- Refactored code. Changed API for custom types. +- Removed output colors in CLI, dump json by default. +- Removed big dependencies from browser version (esprima, buffer). Load `esprima` manually, if `!!js/function` needed. `!!bin` now returns Array in browser +- AMD support. +- Don't quote dumped strings because of `-` & `?` (if not first char). +- __Deprecated__ loading yaml files via `require()`, as not recommended + behaviour for node. + + +## [2.1.3] - 2013-10-16 +### Fixed +- Fix wrong loading of empty block scalars. + + +## [2.1.2] - 2013-10-07 +### Fixed +- Fix unwanted line breaks in folded scalars. + + +## [2.1.1] - 2013-10-02 +### Fixed +- Dumper now respects deprecated booleans syntax from YAML 1.0/1.1 +- Fixed reader bug in JSON-like sequences/mappings. + + +## [2.1.0] - 2013-06-05 +### Added +- Add standard YAML schemas: Failsafe (`FAILSAFE_SCHEMA`), + JSON (`JSON_SCHEMA`) and Core (`CORE_SCHEMA`). +- Add `skipInvalid` dumper option. + +### Changed +- Rename `DEFAULT_SCHEMA` to `DEFAULT_FULL_SCHEMA` + and `SAFE_SCHEMA` to `DEFAULT_SAFE_SCHEMA`. +- Use `safeLoad` for `require` extension. + +### Fixed +- Bug fix: export `NIL` constant from the public interface. + + +## [2.0.5] - 2013-04-26 +### Security +- Close security issue in !!js/function constructor. + Big thanks to @nealpoole for security audit. + + +## [2.0.4] - 2013-04-08 +### Changed +- Updated .npmignore to reduce package size + + +## [2.0.3] - 2013-02-26 +### Fixed +- Fixed dumping of empty arrays ans objects. ([] and {} instead of null) + + +## [2.0.2] - 2013-02-15 +### Fixed +- Fixed input validation: tabs are printable characters. + + +## [2.0.1] - 2013-02-09 +### Fixed +- Fixed error, when options not passed to function cass + + +## [2.0.0] - 2013-02-09 +### Changed +- Full rewrite. New architecture. Fast one-stage parsing. +- Changed custom types API. +- Added YAML dumper. + + +## [1.0.3] - 2012-11-05 +### Fixed +- Fixed utf-8 files loading. + + +## [1.0.2] - 2012-08-02 +### Fixed +- Pull out hand-written shims. Use ES5-Shims for old browsers support. See #44. +- Fix timstamps incorectly parsed in local time when no time part specified. + + +## [1.0.1] - 2012-07-07 +### Fixed +- Fixes `TypeError: 'undefined' is not an object` under Safari. Thanks Phuong. +- Fix timestamps incorrectly parsed in local time. Thanks @caolan. Closes #46. + + +## [1.0.0] - 2012-07-01 +### Changed +- `y`, `yes`, `n`, `no`, `on`, `off` are not converted to Booleans anymore. + Fixes #42. +- `require(filename)` now returns a single document and throws an Error if + file contains more than one document. +- CLI was merged back from js-yaml.bin + + +## [0.3.7] - 2012-02-28 +### Fixed +- Fix export of `addConstructor()`. Closes #39. + + +## [0.3.6] - 2012-02-22 +### Changed +- Removed AMD parts - too buggy to use. Need help to rewrite from scratch + +### Fixed +- Removed YUI compressor warning (renamed `double` variable). Closes #40. + + +## [0.3.5] - 2012-01-10 +### Fixed +- Workagound for .npmignore fuckup under windows. Thanks to airportyh. + + +## [0.3.4] - 2011-12-24 +### Fixed +- Fixes str[] for oldIEs support. +- Adds better has change support for browserified demo. +- improves compact output of Error. Closes #33. + + +## [0.3.3] - 2011-12-20 +### Added +- adds `compact` stringification of Errors. + +### Changed +- jsyaml executable moved to separate module. + + +## [0.3.2] - 2011-12-16 +### Added +- Added jsyaml executable. +- Added !!js/function support. Closes #12. + +### Fixed +- Fixes ug with block style scalars. Closes #26. +- All sources are passing JSLint now. +- Fixes bug in Safari. Closes #28. +- Fixes bug in Opers. Closes #29. +- Improves browser support. Closes #20. + + +## [0.3.1] - 2011-11-18 +### Added +- Added AMD support for browserified version. +- Added permalinks for online demo YAML snippets. Now we have YPaste service, lol. +- Added !!js/regexp and !!js/undefined types. Partially solves #12. + +### Changed +- Wrapped browserified js-yaml into closure. + +### Fixed +- Fixed the resolvement of non-specific tags. Closes #17. +- Fixed !!set mapping. +- Fixed month parse in dates. Closes #19. + + +## [0.3.0] - 2011-11-09 +### Added +- Added browserified version. Closes #13. +- Added live demo of browserified version. +- Ported some of the PyYAML tests. See #14. + +### Fixed +- Removed JS.Class dependency. Closes #3. +- Fixed timestamp bug when fraction was given. + + +## [0.2.2] - 2011-11-06 +### Fixed +- Fixed crash on docs without ---. Closes #8. +- Fixed multiline string parse +- Fixed tests/comments for using array as key + + +## [0.2.1] - 2011-11-02 +### Fixed +- Fixed short file read (<4k). Closes #9. + + +## [0.2.0] - 2011-11-02 +### Changed +- First public release + + +[3.14.1]: https://github.com/nodeca/js-yaml/compare/3.14.0...3.14.1 +[3.14.0]: https://github.com/nodeca/js-yaml/compare/3.13.1...3.14.0 +[3.13.1]: https://github.com/nodeca/js-yaml/compare/3.13.0...3.13.1 +[3.13.0]: https://github.com/nodeca/js-yaml/compare/3.12.2...3.13.0 +[3.12.2]: https://github.com/nodeca/js-yaml/compare/3.12.1...3.12.2 +[3.12.1]: https://github.com/nodeca/js-yaml/compare/3.12.0...3.12.1 +[3.12.0]: https://github.com/nodeca/js-yaml/compare/3.11.0...3.12.0 +[3.11.0]: https://github.com/nodeca/js-yaml/compare/3.10.0...3.11.0 +[3.10.0]: https://github.com/nodeca/js-yaml/compare/3.9.1...3.10.0 +[3.9.1]: https://github.com/nodeca/js-yaml/compare/3.9.0...3.9.1 +[3.9.0]: https://github.com/nodeca/js-yaml/compare/3.8.4...3.9.0 +[3.8.4]: https://github.com/nodeca/js-yaml/compare/3.8.3...3.8.4 +[3.8.3]: https://github.com/nodeca/js-yaml/compare/3.8.2...3.8.3 +[3.8.2]: https://github.com/nodeca/js-yaml/compare/3.8.1...3.8.2 +[3.8.1]: https://github.com/nodeca/js-yaml/compare/3.8.0...3.8.1 +[3.8.0]: https://github.com/nodeca/js-yaml/compare/3.7.0...3.8.0 +[3.7.0]: https://github.com/nodeca/js-yaml/compare/3.6.1...3.7.0 +[3.6.1]: https://github.com/nodeca/js-yaml/compare/3.6.0...3.6.1 +[3.6.0]: https://github.com/nodeca/js-yaml/compare/3.5.5...3.6.0 +[3.5.5]: https://github.com/nodeca/js-yaml/compare/3.5.4...3.5.5 +[3.5.4]: https://github.com/nodeca/js-yaml/compare/3.5.3...3.5.4 +[3.5.3]: https://github.com/nodeca/js-yaml/compare/3.5.2...3.5.3 +[3.5.2]: https://github.com/nodeca/js-yaml/compare/3.5.1...3.5.2 +[3.5.1]: https://github.com/nodeca/js-yaml/compare/3.5.0...3.5.1 +[3.5.0]: https://github.com/nodeca/js-yaml/compare/3.4.6...3.5.0 +[3.4.6]: https://github.com/nodeca/js-yaml/compare/3.4.5...3.4.6 +[3.4.5]: https://github.com/nodeca/js-yaml/compare/3.4.4...3.4.5 +[3.4.4]: https://github.com/nodeca/js-yaml/compare/3.4.3...3.4.4 +[3.4.3]: https://github.com/nodeca/js-yaml/compare/3.4.2...3.4.3 +[3.4.2]: https://github.com/nodeca/js-yaml/compare/3.4.1...3.4.2 +[3.4.1]: https://github.com/nodeca/js-yaml/compare/3.4.0...3.4.1 +[3.4.0]: https://github.com/nodeca/js-yaml/compare/3.3.1...3.4.0 +[3.3.1]: https://github.com/nodeca/js-yaml/compare/3.3.0...3.3.1 +[3.3.0]: https://github.com/nodeca/js-yaml/compare/3.2.7...3.3.0 +[3.2.7]: https://github.com/nodeca/js-yaml/compare/3.2.6...3.2.7 +[3.2.6]: https://github.com/nodeca/js-yaml/compare/3.2.5...3.2.6 +[3.2.5]: https://github.com/nodeca/js-yaml/compare/3.2.4...3.2.5 +[3.2.4]: https://github.com/nodeca/js-yaml/compare/3.2.3...3.2.4 +[3.2.3]: https://github.com/nodeca/js-yaml/compare/3.2.2...3.2.3 +[3.2.2]: https://github.com/nodeca/js-yaml/compare/3.2.1...3.2.2 +[3.2.1]: https://github.com/nodeca/js-yaml/compare/3.2.0...3.2.1 +[3.2.0]: https://github.com/nodeca/js-yaml/compare/3.1.0...3.2.0 +[3.1.0]: https://github.com/nodeca/js-yaml/compare/3.0.2...3.1.0 +[3.0.2]: https://github.com/nodeca/js-yaml/compare/3.0.1...3.0.2 +[3.0.1]: https://github.com/nodeca/js-yaml/compare/3.0.0...3.0.1 +[3.0.0]: https://github.com/nodeca/js-yaml/compare/2.1.3...3.0.0 +[2.1.3]: https://github.com/nodeca/js-yaml/compare/2.1.2...2.1.3 +[2.1.2]: https://github.com/nodeca/js-yaml/compare/2.1.1...2.1.2 +[2.1.1]: https://github.com/nodeca/js-yaml/compare/2.1.0...2.1.1 +[2.1.0]: https://github.com/nodeca/js-yaml/compare/2.0.5...2.1.0 +[2.0.5]: https://github.com/nodeca/js-yaml/compare/2.0.4...2.0.5 +[2.0.4]: https://github.com/nodeca/js-yaml/compare/2.0.3...2.0.4 +[2.0.3]: https://github.com/nodeca/js-yaml/compare/2.0.2...2.0.3 +[2.0.2]: https://github.com/nodeca/js-yaml/compare/2.0.1...2.0.2 +[2.0.1]: https://github.com/nodeca/js-yaml/compare/2.0.0...2.0.1 +[2.0.0]: https://github.com/nodeca/js-yaml/compare/1.0.3...2.0.0 +[1.0.3]: https://github.com/nodeca/js-yaml/compare/1.0.2...1.0.3 +[1.0.2]: https://github.com/nodeca/js-yaml/compare/1.0.1...1.0.2 +[1.0.1]: https://github.com/nodeca/js-yaml/compare/1.0.0...1.0.1 +[1.0.0]: https://github.com/nodeca/js-yaml/compare/0.3.7...1.0.0 +[0.3.7]: https://github.com/nodeca/js-yaml/compare/0.3.6...0.3.7 +[0.3.6]: https://github.com/nodeca/js-yaml/compare/0.3.5...0.3.6 +[0.3.5]: https://github.com/nodeca/js-yaml/compare/0.3.4...0.3.5 +[0.3.4]: https://github.com/nodeca/js-yaml/compare/0.3.3...0.3.4 +[0.3.3]: https://github.com/nodeca/js-yaml/compare/0.3.2...0.3.3 +[0.3.2]: https://github.com/nodeca/js-yaml/compare/0.3.1...0.3.2 +[0.3.1]: https://github.com/nodeca/js-yaml/compare/0.3.0...0.3.1 +[0.3.0]: https://github.com/nodeca/js-yaml/compare/0.2.2...0.3.0 +[0.2.2]: https://github.com/nodeca/js-yaml/compare/0.2.1...0.2.2 +[0.2.1]: https://github.com/nodeca/js-yaml/compare/0.2.0...0.2.1 +[0.2.0]: https://github.com/nodeca/js-yaml/releases/tag/0.2.0 diff --git a/node_modules/js-yaml/LICENSE b/node_modules/js-yaml/LICENSE new file mode 100644 index 00000000..09d3a29e --- /dev/null +++ b/node_modules/js-yaml/LICENSE @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (C) 2011-2015 by Vitaly Puzrin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/js-yaml/README.md b/node_modules/js-yaml/README.md new file mode 100644 index 00000000..246e5635 --- /dev/null +++ b/node_modules/js-yaml/README.md @@ -0,0 +1,299 @@ +JS-YAML - YAML 1.2 parser / writer for JavaScript +================================================= + +[![Build Status](https://travis-ci.org/nodeca/js-yaml.svg?branch=master)](https://travis-ci.org/nodeca/js-yaml) +[![NPM version](https://img.shields.io/npm/v/js-yaml.svg)](https://www.npmjs.org/package/js-yaml) + +__[Online Demo](http://nodeca.github.com/js-yaml/)__ + + +This is an implementation of [YAML](http://yaml.org/), a human-friendly data +serialization language. Started as [PyYAML](http://pyyaml.org/) port, it was +completely rewritten from scratch. Now it's very fast, and supports 1.2 spec. + + +Installation +------------ + +### YAML module for node.js + +``` +npm install js-yaml +``` + + +### CLI executable + +If you want to inspect your YAML files from CLI, install js-yaml globally: + +``` +npm install -g js-yaml +``` + +#### Usage + +``` +usage: js-yaml [-h] [-v] [-c] [-t] file + +Positional arguments: + file File with YAML document(s) + +Optional arguments: + -h, --help Show this help message and exit. + -v, --version Show program's version number and exit. + -c, --compact Display errors in compact mode + -t, --trace Show stack trace on error +``` + + +### Bundled YAML library for browsers + +``` html + + + + +``` + +Browser support was done mostly for the online demo. If you find any errors - feel +free to send pull requests with fixes. Also note, that IE and other old browsers +needs [es5-shims](https://github.com/kriskowal/es5-shim) to operate. + +Notes: + +1. We have no resources to support browserified version. Don't expect it to be + well tested. Don't expect fast fixes if something goes wrong there. +2. `!!js/function` in browser bundle will not work by default. If you really need + it - load `esprima` parser first (via amd or directly). +3. `!!bin` in browser will return `Array`, because browsers do not support + node.js `Buffer` and adding Buffer shims is completely useless on practice. + + +API +--- + +Here we cover the most 'useful' methods. If you need advanced details (creating +your own tags), see [wiki](https://github.com/nodeca/js-yaml/wiki) and +[examples](https://github.com/nodeca/js-yaml/tree/master/examples) for more +info. + +``` javascript +const yaml = require('js-yaml'); +const fs = require('fs'); + +// Get document, or throw exception on error +try { + const doc = yaml.safeLoad(fs.readFileSync('/home/ixti/example.yml', 'utf8')); + console.log(doc); +} catch (e) { + console.log(e); +} +``` + + +### safeLoad (string [ , options ]) + +**Recommended loading way.** Parses `string` as single YAML document. Returns either a +plain object, a string or `undefined`, or throws `YAMLException` on error. By default, does +not support regexps, functions and undefined. This method is safe for untrusted data. + +options: + +- `filename` _(default: null)_ - string to be used as a file path in + error/warning messages. +- `onWarning` _(default: null)_ - function to call on warning messages. + Loader will call this function with an instance of `YAMLException` for each warning. +- `schema` _(default: `DEFAULT_SAFE_SCHEMA`)_ - specifies a schema to use. + - `FAILSAFE_SCHEMA` - only strings, arrays and plain objects: + http://www.yaml.org/spec/1.2/spec.html#id2802346 + - `JSON_SCHEMA` - all JSON-supported types: + http://www.yaml.org/spec/1.2/spec.html#id2803231 + - `CORE_SCHEMA` - same as `JSON_SCHEMA`: + http://www.yaml.org/spec/1.2/spec.html#id2804923 + - `DEFAULT_SAFE_SCHEMA` - all supported YAML types, without unsafe ones + (`!!js/undefined`, `!!js/regexp` and `!!js/function`): + http://yaml.org/type/ + - `DEFAULT_FULL_SCHEMA` - all supported YAML types. +- `json` _(default: false)_ - compatibility with JSON.parse behaviour. If true, then duplicate keys in a mapping will override values rather than throwing an error. + +NOTE: This function **does not** understand multi-document sources, it throws +exception on those. + +NOTE: JS-YAML **does not** support schema-specific tag resolution restrictions. +So, the JSON schema is not as strictly defined in the YAML specification. +It allows numbers in any notation, use `Null` and `NULL` as `null`, etc. +The core schema also has no such restrictions. It allows binary notation for integers. + + +### load (string [ , options ]) + +**Use with care with untrusted sources**. The same as `safeLoad()` but uses +`DEFAULT_FULL_SCHEMA` by default - adds some JavaScript-specific types: +`!!js/function`, `!!js/regexp` and `!!js/undefined`. For untrusted sources, you +must additionally validate object structure to avoid injections: + +``` javascript +const untrusted_code = '"toString": ! "function (){very_evil_thing();}"'; + +// I'm just converting that string, what could possibly go wrong? +require('js-yaml').load(untrusted_code) + '' +``` + + +### safeLoadAll (string [, iterator] [, options ]) + +Same as `safeLoad()`, but understands multi-document sources. Applies +`iterator` to each document if specified, or returns array of documents. + +``` javascript +const yaml = require('js-yaml'); + +yaml.safeLoadAll(data, function (doc) { + console.log(doc); +}); +``` + + +### loadAll (string [, iterator] [ , options ]) + +Same as `safeLoadAll()` but uses `DEFAULT_FULL_SCHEMA` by default. + + +### safeDump (object [ , options ]) + +Serializes `object` as a YAML document. Uses `DEFAULT_SAFE_SCHEMA`, so it will +throw an exception if you try to dump regexps or functions. However, you can +disable exceptions by setting the `skipInvalid` option to `true`. + +options: + +- `indent` _(default: 2)_ - indentation width to use (in spaces). +- `noArrayIndent` _(default: false)_ - when true, will not add an indentation level to array elements +- `skipInvalid` _(default: false)_ - do not throw on invalid types (like function + in the safe schema) and skip pairs and single values with such types. +- `flowLevel` (default: -1) - specifies level of nesting, when to switch from + block to flow style for collections. -1 means block style everwhere +- `styles` - "tag" => "style" map. Each tag may have own set of styles. +- `schema` _(default: `DEFAULT_SAFE_SCHEMA`)_ specifies a schema to use. +- `sortKeys` _(default: `false`)_ - if `true`, sort keys when dumping YAML. If a + function, use the function to sort the keys. +- `lineWidth` _(default: `80`)_ - set max line width. +- `noRefs` _(default: `false`)_ - if `true`, don't convert duplicate objects into references +- `noCompatMode` _(default: `false`)_ - if `true` don't try to be compatible with older + yaml versions. Currently: don't quote "yes", "no" and so on, as required for YAML 1.1 +- `condenseFlow` _(default: `false`)_ - if `true` flow sequences will be condensed, omitting the space between `a, b`. Eg. `'[a,b]'`, and omitting the space between `key: value` and quoting the key. Eg. `'{"a":b}'` Can be useful when using yaml for pretty URL query params as spaces are %-encoded. + +The following table show availlable styles (e.g. "canonical", +"binary"...) available for each tag (.e.g. !!null, !!int ...). Yaml +output is shown on the right side after `=>` (default setting) or `->`: + +``` none +!!null + "canonical" -> "~" + "lowercase" => "null" + "uppercase" -> "NULL" + "camelcase" -> "Null" + +!!int + "binary" -> "0b1", "0b101010", "0b1110001111010" + "octal" -> "01", "052", "016172" + "decimal" => "1", "42", "7290" + "hexadecimal" -> "0x1", "0x2A", "0x1C7A" + +!!bool + "lowercase" => "true", "false" + "uppercase" -> "TRUE", "FALSE" + "camelcase" -> "True", "False" + +!!float + "lowercase" => ".nan", '.inf' + "uppercase" -> ".NAN", '.INF' + "camelcase" -> ".NaN", '.Inf' +``` + +Example: + +``` javascript +safeDump (object, { + 'styles': { + '!!null': 'canonical' // dump null as ~ + }, + 'sortKeys': true // sort object keys +}); +``` + +### dump (object [ , options ]) + +Same as `safeDump()` but without limits (uses `DEFAULT_FULL_SCHEMA` by default). + + +Supported YAML types +-------------------- + +The list of standard YAML tags and corresponding JavaScipt types. See also +[YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and +[YAML types repository](http://yaml.org/type/). + +``` +!!null '' # null +!!bool 'yes' # bool +!!int '3...' # number +!!float '3.14...' # number +!!binary '...base64...' # buffer +!!timestamp 'YYYY-...' # date +!!omap [ ... ] # array of key-value pairs +!!pairs [ ... ] # array or array pairs +!!set { ... } # array of objects with given keys and null values +!!str '...' # string +!!seq [ ... ] # array +!!map { ... } # object +``` + +**JavaScript-specific tags** + +``` +!!js/regexp /pattern/gim # RegExp +!!js/undefined '' # Undefined +!!js/function 'function () {...}' # Function +``` + +Caveats +------- + +Note, that you use arrays or objects as key in JS-YAML. JS does not allow objects +or arrays as keys, and stringifies (by calling `toString()` method) them at the +moment of adding them. + +``` yaml +--- +? [ foo, bar ] +: - baz +? { foo: bar } +: - baz + - baz +``` + +``` javascript +{ "foo,bar": ["baz"], "[object Object]": ["baz", "baz"] } +``` + +Also, reading of properties on implicit block mapping keys is not supported yet. +So, the following YAML document cannot be loaded. + +``` yaml +&anchor foo: + foo: bar + *anchor: duplicate key + baz: bat + *anchor: duplicate key +``` + + +js-yaml for enterprise +---------------------- + +Available as part of the Tidelift Subscription + +The maintainers of js-yaml and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-js-yaml?utm_source=npm-js-yaml&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) diff --git a/node_modules/js-yaml/bin/js-yaml.js b/node_modules/js-yaml/bin/js-yaml.js new file mode 100755 index 00000000..e79186be --- /dev/null +++ b/node_modules/js-yaml/bin/js-yaml.js @@ -0,0 +1,132 @@ +#!/usr/bin/env node + + +'use strict'; + +/*eslint-disable no-console*/ + + +// stdlib +var fs = require('fs'); + + +// 3rd-party +var argparse = require('argparse'); + + +// internal +var yaml = require('..'); + + +//////////////////////////////////////////////////////////////////////////////// + + +var cli = new argparse.ArgumentParser({ + prog: 'js-yaml', + version: require('../package.json').version, + addHelp: true +}); + + +cli.addArgument([ '-c', '--compact' ], { + help: 'Display errors in compact mode', + action: 'storeTrue' +}); + + +// deprecated (not needed after we removed output colors) +// option suppressed, but not completely removed for compatibility +cli.addArgument([ '-j', '--to-json' ], { + help: argparse.Const.SUPPRESS, + dest: 'json', + action: 'storeTrue' +}); + + +cli.addArgument([ '-t', '--trace' ], { + help: 'Show stack trace on error', + action: 'storeTrue' +}); + +cli.addArgument([ 'file' ], { + help: 'File to read, utf-8 encoded without BOM', + nargs: '?', + defaultValue: '-' +}); + + +//////////////////////////////////////////////////////////////////////////////// + + +var options = cli.parseArgs(); + + +//////////////////////////////////////////////////////////////////////////////// + +function readFile(filename, encoding, callback) { + if (options.file === '-') { + // read from stdin + + var chunks = []; + + process.stdin.on('data', function (chunk) { + chunks.push(chunk); + }); + + process.stdin.on('end', function () { + return callback(null, Buffer.concat(chunks).toString(encoding)); + }); + } else { + fs.readFile(filename, encoding, callback); + } +} + +readFile(options.file, 'utf8', function (error, input) { + var output, isYaml; + + if (error) { + if (error.code === 'ENOENT') { + console.error('File not found: ' + options.file); + process.exit(2); + } + + console.error( + options.trace && error.stack || + error.message || + String(error)); + + process.exit(1); + } + + try { + output = JSON.parse(input); + isYaml = false; + } catch (err) { + if (err instanceof SyntaxError) { + try { + output = []; + yaml.loadAll(input, function (doc) { output.push(doc); }, {}); + isYaml = true; + + if (output.length === 0) output = null; + else if (output.length === 1) output = output[0]; + + } catch (e) { + if (options.trace && err.stack) console.error(e.stack); + else console.error(e.toString(options.compact)); + + process.exit(1); + } + } else { + console.error( + options.trace && err.stack || + err.message || + String(err)); + + process.exit(1); + } + } + + if (isYaml) console.log(JSON.stringify(output, null, ' ')); + else console.log(yaml.dump(output)); +}); diff --git a/node_modules/js-yaml/dist/js-yaml.js b/node_modules/js-yaml/dist/js-yaml.js new file mode 100644 index 00000000..78783207 --- /dev/null +++ b/node_modules/js-yaml/dist/js-yaml.js @@ -0,0 +1,3989 @@ +/*! js-yaml 3.14.1 https://github.com/nodeca/js-yaml */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.jsyaml = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i */ +var CHAR_QUESTION = 0x3F; /* ? */ +var CHAR_COMMERCIAL_AT = 0x40; /* @ */ +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ +var CHAR_GRAVE_ACCENT = 0x60; /* ` */ +var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ +var CHAR_VERTICAL_LINE = 0x7C; /* | */ +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ + +var ESCAPE_SEQUENCES = {}; + +ESCAPE_SEQUENCES[0x00] = '\\0'; +ESCAPE_SEQUENCES[0x07] = '\\a'; +ESCAPE_SEQUENCES[0x08] = '\\b'; +ESCAPE_SEQUENCES[0x09] = '\\t'; +ESCAPE_SEQUENCES[0x0A] = '\\n'; +ESCAPE_SEQUENCES[0x0B] = '\\v'; +ESCAPE_SEQUENCES[0x0C] = '\\f'; +ESCAPE_SEQUENCES[0x0D] = '\\r'; +ESCAPE_SEQUENCES[0x1B] = '\\e'; +ESCAPE_SEQUENCES[0x22] = '\\"'; +ESCAPE_SEQUENCES[0x5C] = '\\\\'; +ESCAPE_SEQUENCES[0x85] = '\\N'; +ESCAPE_SEQUENCES[0xA0] = '\\_'; +ESCAPE_SEQUENCES[0x2028] = '\\L'; +ESCAPE_SEQUENCES[0x2029] = '\\P'; + +var DEPRECATED_BOOLEANS_SYNTAX = [ + 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', + 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF' +]; + +function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + + if (map === null) return {}; + + result = {}; + keys = Object.keys(map); + + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + + if (tag.slice(0, 2) === '!!') { + tag = 'tag:yaml.org,2002:' + tag.slice(2); + } + type = schema.compiledTypeMap['fallback'][tag]; + + if (type && _hasOwnProperty.call(type.styleAliases, style)) { + style = type.styleAliases[style]; + } + + result[tag] = style; + } + + return result; +} + +function encodeHex(character) { + var string, handle, length; + + string = character.toString(16).toUpperCase(); + + if (character <= 0xFF) { + handle = 'x'; + length = 2; + } else if (character <= 0xFFFF) { + handle = 'u'; + length = 4; + } else if (character <= 0xFFFFFFFF) { + handle = 'U'; + length = 8; + } else { + throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF'); + } + + return '\\' + handle + common.repeat('0', length - string.length) + string; +} + +function State(options) { + this.schema = options['schema'] || DEFAULT_FULL_SCHEMA; + this.indent = Math.max(1, (options['indent'] || 2)); + this.noArrayIndent = options['noArrayIndent'] || false; + this.skipInvalid = options['skipInvalid'] || false; + this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']); + this.styleMap = compileStyleMap(this.schema, options['styles'] || null); + this.sortKeys = options['sortKeys'] || false; + this.lineWidth = options['lineWidth'] || 80; + this.noRefs = options['noRefs'] || false; + this.noCompatMode = options['noCompatMode'] || false; + this.condenseFlow = options['condenseFlow'] || false; + + this.implicitTypes = this.schema.compiledImplicit; + this.explicitTypes = this.schema.compiledExplicit; + + this.tag = null; + this.result = ''; + + this.duplicates = []; + this.usedDuplicates = null; +} + +// Indents every line in a string. Empty lines (\n only) are not indented. +function indentString(string, spaces) { + var ind = common.repeat(' ', spaces), + position = 0, + next = -1, + result = '', + line, + length = string.length; + + while (position < length) { + next = string.indexOf('\n', position); + if (next === -1) { + line = string.slice(position); + position = length; + } else { + line = string.slice(position, next + 1); + position = next + 1; + } + + if (line.length && line !== '\n') result += ind; + + result += line; + } + + return result; +} + +function generateNextLine(state, level) { + return '\n' + common.repeat(' ', state.indent * level); +} + +function testImplicitResolving(state, str) { + var index, length, type; + + for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { + type = state.implicitTypes[index]; + + if (type.resolve(str)) { + return true; + } + } + + return false; +} + +// [33] s-white ::= s-space | s-tab +function isWhitespace(c) { + return c === CHAR_SPACE || c === CHAR_TAB; +} + +// Returns true if the character can be printed without escaping. +// From YAML 1.2: "any allowed characters known to be non-printable +// should also be escaped. [However,] This isn’t mandatory" +// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029. +function isPrintable(c) { + return (0x00020 <= c && c <= 0x00007E) + || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029) + || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */) + || (0x10000 <= c && c <= 0x10FFFF); +} + +// [34] ns-char ::= nb-char - s-white +// [27] nb-char ::= c-printable - b-char - c-byte-order-mark +// [26] b-char ::= b-line-feed | b-carriage-return +// [24] b-line-feed ::= #xA /* LF */ +// [25] b-carriage-return ::= #xD /* CR */ +// [3] c-byte-order-mark ::= #xFEFF +function isNsChar(c) { + return isPrintable(c) && !isWhitespace(c) + // byte-order-mark + && c !== 0xFEFF + // b-char + && c !== CHAR_CARRIAGE_RETURN + && c !== CHAR_LINE_FEED; +} + +// Simplified test for values allowed after the first character in plain style. +function isPlainSafe(c, prev) { + // Uses a subset of nb-char - c-flow-indicator - ":" - "#" + // where nb-char ::= c-printable - b-char - c-byte-order-mark. + return isPrintable(c) && c !== 0xFEFF + // - c-flow-indicator + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // - ":" - "#" + // /* An ns-char preceding */ "#" + && c !== CHAR_COLON + && ((c !== CHAR_SHARP) || (prev && isNsChar(prev))); +} + +// Simplified test for values allowed as the first character in plain style. +function isPlainSafeFirst(c) { + // Uses a subset of ns-char - c-indicator + // where ns-char = nb-char - s-white. + return isPrintable(c) && c !== 0xFEFF + && !isWhitespace(c) // - s-white + // - (c-indicator ::= + // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}” + && c !== CHAR_MINUS + && c !== CHAR_QUESTION + && c !== CHAR_COLON + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “"” + && c !== CHAR_SHARP + && c !== CHAR_AMPERSAND + && c !== CHAR_ASTERISK + && c !== CHAR_EXCLAMATION + && c !== CHAR_VERTICAL_LINE + && c !== CHAR_EQUALS + && c !== CHAR_GREATER_THAN + && c !== CHAR_SINGLE_QUOTE + && c !== CHAR_DOUBLE_QUOTE + // | “%” | “@” | “`”) + && c !== CHAR_PERCENT + && c !== CHAR_COMMERCIAL_AT + && c !== CHAR_GRAVE_ACCENT; +} + +// Determines whether block indentation indicator is required. +function needIndentIndicator(string) { + var leadingSpaceRe = /^\n* /; + return leadingSpaceRe.test(string); +} + +var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; + +// Determines which scalar styles are possible and returns the preferred style. +// lineWidth = -1 => no limit. +// Pre-conditions: str.length > 0. +// Post-conditions: +// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string. +// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1). +// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1). +function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) { + var i; + var char, prev_char; + var hasLineBreak = false; + var hasFoldableLine = false; // only checked if shouldTrackWidth + var shouldTrackWidth = lineWidth !== -1; + var previousLineBreak = -1; // count the first line correctly + var plain = isPlainSafeFirst(string.charCodeAt(0)) + && !isWhitespace(string.charCodeAt(string.length - 1)); + + if (singleLineOnly) { + // Case: no block styles. + // Check for disallowed characters to rule out plain and single. + for (i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + prev_char = i > 0 ? string.charCodeAt(i - 1) : null; + plain = plain && isPlainSafe(char, prev_char); + } + } else { + // Case: block styles permitted. + for (i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + if (char === CHAR_LINE_FEED) { + hasLineBreak = true; + // Check if any line can be folded. + if (shouldTrackWidth) { + hasFoldableLine = hasFoldableLine || + // Foldable line = too long, and not more-indented. + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' '); + previousLineBreak = i; + } + } else if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + prev_char = i > 0 ? string.charCodeAt(i - 1) : null; + plain = plain && isPlainSafe(char, prev_char); + } + // in case the end is missing a \n + hasFoldableLine = hasFoldableLine || (shouldTrackWidth && + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' ')); + } + // Although every style can represent \n without escaping, prefer block styles + // for multiline, since they're more readable and they don't add empty lines. + // Also prefer folding a super-long line. + if (!hasLineBreak && !hasFoldableLine) { + // Strings interpretable as another type have to be quoted; + // e.g. the string 'true' vs. the boolean true. + return plain && !testAmbiguousType(string) + ? STYLE_PLAIN : STYLE_SINGLE; + } + // Edge case: block indentation indicator can only have one digit. + if (indentPerLevel > 9 && needIndentIndicator(string)) { + return STYLE_DOUBLE; + } + // At this point we know block styles are valid. + // Prefer literal style unless we want to fold. + return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; +} + +// Note: line breaking/folding is implemented for only the folded style. +// NB. We drop the last trailing newline (if any) of a returned block scalar +// since the dumper adds its own newline. This always works: +// • No ending newline => unaffected; already using strip "-" chomping. +// • Ending newline => removed then restored. +// Importantly, this keeps the "+" chomp indicator from gaining an extra line. +function writeScalar(state, string, level, iskey) { + state.dump = (function () { + if (string.length === 0) { + return "''"; + } + if (!state.noCompatMode && + DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) { + return "'" + string + "'"; + } + + var indent = state.indent * Math.max(1, level); // no 0-indent scalars + // As indentation gets deeper, let the width decrease monotonically + // to the lower bound min(state.lineWidth, 40). + // Note that this implies + // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound. + // state.lineWidth > 40 + state.indent: width decreases until the lower bound. + // This behaves better than a constant minimum width which disallows narrower options, + // or an indent threshold which causes the width to suddenly increase. + var lineWidth = state.lineWidth === -1 + ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); + + // Without knowing if keys are implicit/explicit, assume implicit for safety. + var singleLineOnly = iskey + // No block styles in flow mode. + || (state.flowLevel > -1 && level >= state.flowLevel); + function testAmbiguity(string) { + return testImplicitResolving(state, string); + } + + switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) { + case STYLE_PLAIN: + return string; + case STYLE_SINGLE: + return "'" + string.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return '|' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(string, indent)); + case STYLE_FOLDED: + return '>' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); + case STYLE_DOUBLE: + return '"' + escapeString(string, lineWidth) + '"'; + default: + throw new YAMLException('impossible error: invalid scalar style'); + } + }()); +} + +// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9. +function blockHeader(string, indentPerLevel) { + var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; + + // note the special case: the string '\n' counts as a "trailing" empty line. + var clip = string[string.length - 1] === '\n'; + var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); + var chomp = keep ? '+' : (clip ? '' : '-'); + + return indentIndicator + chomp + '\n'; +} + +// (See the note for writeScalar.) +function dropEndingNewline(string) { + return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; +} + +// Note: a long line without a suitable break point will exceed the width limit. +// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0. +function foldString(string, width) { + // In folded style, $k$ consecutive newlines output as $k+1$ newlines— + // unless they're before or after a more-indented line, or at the very + // beginning or end, in which case $k$ maps to $k$. + // Therefore, parse each chunk as newline(s) followed by a content line. + var lineRe = /(\n+)([^\n]*)/g; + + // first line (possibly an empty line) + var result = (function () { + var nextLF = string.indexOf('\n'); + nextLF = nextLF !== -1 ? nextLF : string.length; + lineRe.lastIndex = nextLF; + return foldLine(string.slice(0, nextLF), width); + }()); + // If we haven't reached the first content line yet, don't add an extra \n. + var prevMoreIndented = string[0] === '\n' || string[0] === ' '; + var moreIndented; + + // rest of the lines + var match; + while ((match = lineRe.exec(string))) { + var prefix = match[1], line = match[2]; + moreIndented = (line[0] === ' '); + result += prefix + + (!prevMoreIndented && !moreIndented && line !== '' + ? '\n' : '') + + foldLine(line, width); + prevMoreIndented = moreIndented; + } + + return result; +} + +// Greedy line breaking. +// Picks the longest line under the limit each time, +// otherwise settles for the shortest line over the limit. +// NB. More-indented lines *cannot* be folded, as that would add an extra \n. +function foldLine(line, width) { + if (line === '' || line[0] === ' ') return line; + + // Since a more-indented line adds a \n, breaks can't be followed by a space. + var breakRe = / [^ ]/g; // note: the match index will always be <= length-2. + var match; + // start is an inclusive index. end, curr, and next are exclusive. + var start = 0, end, curr = 0, next = 0; + var result = ''; + + // Invariants: 0 <= start <= length-1. + // 0 <= curr <= next <= max(0, length-2). curr - start <= width. + // Inside the loop: + // A match implies length >= 2, so curr and next are <= length-2. + while ((match = breakRe.exec(line))) { + next = match.index; + // maintain invariant: curr - start <= width + if (next - start > width) { + end = (curr > start) ? curr : next; // derive end <= length-2 + result += '\n' + line.slice(start, end); + // skip the space that was output as \n + start = end + 1; // derive start <= length-1 + } + curr = next; + } + + // By the invariants, start <= length-1, so there is something left over. + // It is either the whole string or a part starting from non-whitespace. + result += '\n'; + // Insert a break if the remainder is too long and there is a break available. + if (line.length - start > width && curr > start) { + result += line.slice(start, curr) + '\n' + line.slice(curr + 1); + } else { + result += line.slice(start); + } + + return result.slice(1); // drop extra \n joiner +} + +// Escapes a double-quoted string. +function escapeString(string) { + var result = ''; + var char, nextChar; + var escapeSeq; + + for (var i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + // Check for surrogate pairs (reference Unicode 3.0 section "3.7 Surrogates"). + if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) { + nextChar = string.charCodeAt(i + 1); + if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) { + // Combine the surrogate pair and store it escaped. + result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000); + // Advance index one extra since we already used that char here. + i++; continue; + } + } + escapeSeq = ESCAPE_SEQUENCES[char]; + result += !escapeSeq && isPrintable(char) + ? string[i] + : escapeSeq || encodeHex(char); + } + + return result; +} + +function writeFlowSequence(state, level, object) { + var _result = '', + _tag = state.tag, + index, + length; + + for (index = 0, length = object.length; index < length; index += 1) { + // Write only valid elements. + if (writeNode(state, level, object[index], false, false)) { + if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : ''); + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = '[' + _result + ']'; +} + +function writeBlockSequence(state, level, object, compact) { + var _result = '', + _tag = state.tag, + index, + length; + + for (index = 0, length = object.length; index < length; index += 1) { + // Write only valid elements. + if (writeNode(state, level + 1, object[index], true, true)) { + if (!compact || index !== 0) { + _result += generateNextLine(state, level); + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + _result += '-'; + } else { + _result += '- '; + } + + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = _result || '[]'; // Empty sequence if no valid values. +} + +function writeFlowMapping(state, level, object) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + pairBuffer; + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + + pairBuffer = ''; + if (index !== 0) pairBuffer += ', '; + + if (state.condenseFlow) pairBuffer += '"'; + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (!writeNode(state, level, objectKey, false, false)) { + continue; // Skip this pair because of invalid key; + } + + if (state.dump.length > 1024) pairBuffer += '? '; + + pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); + + if (!writeNode(state, level, objectValue, false, false)) { + continue; // Skip this pair because of invalid value. + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = '{' + _result + '}'; +} + +function writeBlockMapping(state, level, object, compact) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair, + pairBuffer; + + // Allow sorting keys so that the output file is deterministic + if (state.sortKeys === true) { + // Default sorting + objectKeyList.sort(); + } else if (typeof state.sortKeys === 'function') { + // Custom sort function + objectKeyList.sort(state.sortKeys); + } else if (state.sortKeys) { + // Something is wrong + throw new YAMLException('sortKeys must be a boolean or a function'); + } + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + + if (!compact || index !== 0) { + pairBuffer += generateNextLine(state, level); + } + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (!writeNode(state, level + 1, objectKey, true, true, true)) { + continue; // Skip this pair because of invalid key. + } + + explicitPair = (state.tag !== null && state.tag !== '?') || + (state.dump && state.dump.length > 1024); + + if (explicitPair) { + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += '?'; + } else { + pairBuffer += '? '; + } + } + + pairBuffer += state.dump; + + if (explicitPair) { + pairBuffer += generateNextLine(state, level); + } + + if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { + continue; // Skip this pair because of invalid value. + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += ':'; + } else { + pairBuffer += ': '; + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = _result || '{}'; // Empty mapping if no valid pairs. +} + +function detectType(state, object, explicit) { + var _result, typeList, index, length, type, style; + + typeList = explicit ? state.explicitTypes : state.implicitTypes; + + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + + if ((type.instanceOf || type.predicate) && + (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) && + (!type.predicate || type.predicate(object))) { + + state.tag = explicit ? type.tag : '?'; + + if (type.represent) { + style = state.styleMap[type.tag] || type.defaultStyle; + + if (_toString.call(type.represent) === '[object Function]') { + _result = type.represent(object, style); + } else if (_hasOwnProperty.call(type.represent, style)) { + _result = type.represent[style](object, style); + } else { + throw new YAMLException('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + + state.dump = _result; + } + + return true; + } + } + + return false; +} + +// Serializes `object` and writes it to global `result`. +// Returns true on success, or false on invalid object. +// +function writeNode(state, level, object, block, compact, iskey) { + state.tag = null; + state.dump = object; + + if (!detectType(state, object, false)) { + detectType(state, object, true); + } + + var type = _toString.call(state.dump); + + if (block) { + block = (state.flowLevel < 0 || state.flowLevel > level); + } + + var objectOrArray = type === '[object Object]' || type === '[object Array]', + duplicateIndex, + duplicate; + + if (objectOrArray) { + duplicateIndex = state.duplicates.indexOf(object); + duplicate = duplicateIndex !== -1; + } + + if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) { + compact = false; + } + + if (duplicate && state.usedDuplicates[duplicateIndex]) { + state.dump = '*ref_' + duplicateIndex; + } else { + if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { + state.usedDuplicates[duplicateIndex] = true; + } + if (type === '[object Object]') { + if (block && (Object.keys(state.dump).length !== 0)) { + writeBlockMapping(state, level, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowMapping(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object Array]') { + var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level; + if (block && (state.dump.length !== 0)) { + writeBlockSequence(state, arrayLevel, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowSequence(state, arrayLevel, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object String]') { + if (state.tag !== '?') { + writeScalar(state, state.dump, level, iskey); + } + } else { + if (state.skipInvalid) return false; + throw new YAMLException('unacceptable kind of an object to dump ' + type); + } + + if (state.tag !== null && state.tag !== '?') { + state.dump = '!<' + state.tag + '> ' + state.dump; + } + } + + return true; +} + +function getDuplicateReferences(object, state) { + var objects = [], + duplicatesIndexes = [], + index, + length; + + inspectNode(object, objects, duplicatesIndexes); + + for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { + state.duplicates.push(objects[duplicatesIndexes[index]]); + } + state.usedDuplicates = new Array(length); +} + +function inspectNode(object, objects, duplicatesIndexes) { + var objectKeyList, + index, + length; + + if (object !== null && typeof object === 'object') { + index = objects.indexOf(object); + if (index !== -1) { + if (duplicatesIndexes.indexOf(index) === -1) { + duplicatesIndexes.push(index); + } + } else { + objects.push(object); + + if (Array.isArray(object)) { + for (index = 0, length = object.length; index < length; index += 1) { + inspectNode(object[index], objects, duplicatesIndexes); + } + } else { + objectKeyList = Object.keys(object); + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); + } + } + } + } +} + +function dump(input, options) { + options = options || {}; + + var state = new State(options); + + if (!state.noRefs) getDuplicateReferences(input, state); + + if (writeNode(state, 0, input, true, true)) return state.dump + '\n'; + + return ''; +} + +function safeDump(input, options) { + return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); +} + +module.exports.dump = dump; +module.exports.safeDump = safeDump; + +},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(require,module,exports){ +// YAML error class. http://stackoverflow.com/questions/8458984 +// +'use strict'; + +function YAMLException(reason, mark) { + // Super constructor + Error.call(this); + + this.name = 'YAMLException'; + this.reason = reason; + this.mark = mark; + this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : ''); + + // Include stack trace in error object + if (Error.captureStackTrace) { + // Chrome and NodeJS + Error.captureStackTrace(this, this.constructor); + } else { + // FF, IE 10+ and Safari 6+. Fallback for others + this.stack = (new Error()).stack || ''; + } +} + + +// Inherit from Error +YAMLException.prototype = Object.create(Error.prototype); +YAMLException.prototype.constructor = YAMLException; + + +YAMLException.prototype.toString = function toString(compact) { + var result = this.name + ': '; + + result += this.reason || '(unknown reason)'; + + if (!compact && this.mark) { + result += ' ' + this.mark.toString(); + } + + return result; +}; + + +module.exports = YAMLException; + +},{}],5:[function(require,module,exports){ +'use strict'; + +/*eslint-disable max-len,no-use-before-define*/ + +var common = require('./common'); +var YAMLException = require('./exception'); +var Mark = require('./mark'); +var DEFAULT_SAFE_SCHEMA = require('./schema/default_safe'); +var DEFAULT_FULL_SCHEMA = require('./schema/default_full'); + + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + + +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; + + +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; + + +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + + +function _class(obj) { return Object.prototype.toString.call(obj); } + +function is_EOL(c) { + return (c === 0x0A/* LF */) || (c === 0x0D/* CR */); +} + +function is_WHITE_SPACE(c) { + return (c === 0x09/* Tab */) || (c === 0x20/* Space */); +} + +function is_WS_OR_EOL(c) { + return (c === 0x09/* Tab */) || + (c === 0x20/* Space */) || + (c === 0x0A/* LF */) || + (c === 0x0D/* CR */); +} + +function is_FLOW_INDICATOR(c) { + return c === 0x2C/* , */ || + c === 0x5B/* [ */ || + c === 0x5D/* ] */ || + c === 0x7B/* { */ || + c === 0x7D/* } */; +} + +function fromHexCode(c) { + var lc; + + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + /*eslint-disable no-bitwise*/ + lc = c | 0x20; + + if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) { + return lc - 0x61 + 10; + } + + return -1; +} + +function escapedHexLen(c) { + if (c === 0x78/* x */) { return 2; } + if (c === 0x75/* u */) { return 4; } + if (c === 0x55/* U */) { return 8; } + return 0; +} + +function fromDecimalCode(c) { + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + return -1; +} + +function simpleEscapeSequence(c) { + /* eslint-disable indent */ + return (c === 0x30/* 0 */) ? '\x00' : + (c === 0x61/* a */) ? '\x07' : + (c === 0x62/* b */) ? '\x08' : + (c === 0x74/* t */) ? '\x09' : + (c === 0x09/* Tab */) ? '\x09' : + (c === 0x6E/* n */) ? '\x0A' : + (c === 0x76/* v */) ? '\x0B' : + (c === 0x66/* f */) ? '\x0C' : + (c === 0x72/* r */) ? '\x0D' : + (c === 0x65/* e */) ? '\x1B' : + (c === 0x20/* Space */) ? ' ' : + (c === 0x22/* " */) ? '\x22' : + (c === 0x2F/* / */) ? '/' : + (c === 0x5C/* \ */) ? '\x5C' : + (c === 0x4E/* N */) ? '\x85' : + (c === 0x5F/* _ */) ? '\xA0' : + (c === 0x4C/* L */) ? '\u2028' : + (c === 0x50/* P */) ? '\u2029' : ''; +} + +function charFromCodepoint(c) { + if (c <= 0xFFFF) { + return String.fromCharCode(c); + } + // Encode UTF-16 surrogate pair + // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF + return String.fromCharCode( + ((c - 0x010000) >> 10) + 0xD800, + ((c - 0x010000) & 0x03FF) + 0xDC00 + ); +} + +var simpleEscapeCheck = new Array(256); // integer, for fast access +var simpleEscapeMap = new Array(256); +for (var i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); +} + + +function State(input, options) { + this.input = input; + + this.filename = options['filename'] || null; + this.schema = options['schema'] || DEFAULT_FULL_SCHEMA; + this.onWarning = options['onWarning'] || null; + this.legacy = options['legacy'] || false; + this.json = options['json'] || false; + this.listener = options['listener'] || null; + + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; + + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; + + this.documents = []; + + /* + this.version; + this.checkLineBreaks; + this.tagMap; + this.anchorMap; + this.tag; + this.anchor; + this.kind; + this.result;*/ + +} + + +function generateError(state, message) { + return new YAMLException( + message, + new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart))); +} + +function throwError(state, message) { + throw generateError(state, message); +} + +function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } +} + + +var directiveHandlers = { + + YAML: function handleYamlDirective(state, name, args) { + + var match, major, minor; + + if (state.version !== null) { + throwError(state, 'duplication of %YAML directive'); + } + + if (args.length !== 1) { + throwError(state, 'YAML directive accepts exactly one argument'); + } + + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + + if (match === null) { + throwError(state, 'ill-formed argument of the YAML directive'); + } + + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + + if (major !== 1) { + throwError(state, 'unacceptable YAML version of the document'); + } + + state.version = args[0]; + state.checkLineBreaks = (minor < 2); + + if (minor !== 1 && minor !== 2) { + throwWarning(state, 'unsupported YAML version of the document'); + } + }, + + TAG: function handleTagDirective(state, name, args) { + + var handle, prefix; + + if (args.length !== 2) { + throwError(state, 'TAG directive accepts exactly two arguments'); + } + + handle = args[0]; + prefix = args[1]; + + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); + } + + if (_hasOwnProperty.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } + + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); + } + + state.tagMap[handle] = prefix; + } +}; + + +function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; + + if (start < end) { + _result = state.input.slice(start, end); + + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 0x09 || + (0x20 <= _character && _character <= 0x10FFFF))) { + throwError(state, 'expected valid JSON character'); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, 'the stream contains non-printable characters'); + } + + state.result += _result; + } +} + +function mergeMappings(state, destination, source, overridableKeys) { + var sourceKeys, key, index, quantity; + + if (!common.isObject(source)) { + throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); + } + + sourceKeys = Object.keys(source); + + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; + + if (!_hasOwnProperty.call(destination, key)) { + destination[key] = source[key]; + overridableKeys[key] = true; + } + } +} + +function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) { + var index, quantity; + + // The output is a plain object here, so keys can only be strings. + // We need to convert keyNode to a string, but doing so can hang the process + // (deeply nested arrays that explode exponentially using aliases). + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); + + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, 'nested arrays are not supported inside keys'); + } + + if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') { + keyNode[index] = '[object Object]'; + } + } + } + + // Avoid code execution in load() via toString property + // (still use its own toString for arrays, timestamps, + // and whatever user schema extensions happen to have @@toStringTag) + if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') { + keyNode = '[object Object]'; + } + + + keyNode = String(keyNode); + + if (_result === null) { + _result = {}; + } + + if (keyTag === 'tag:yaml.org,2002:merge') { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if (!state.json && + !_hasOwnProperty.call(overridableKeys, keyNode) && + _hasOwnProperty.call(_result, keyNode)) { + state.line = startLine || state.line; + state.position = startPos || state.position; + throwError(state, 'duplicated mapping key'); + } + _result[keyNode] = valueNode; + delete overridableKeys[keyNode]; + } + + return _result; +} + +function readLineBreak(state) { + var ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x0A/* LF */) { + state.position++; + } else if (ch === 0x0D/* CR */) { + state.position++; + if (state.input.charCodeAt(state.position) === 0x0A/* LF */) { + state.position++; + } + } else { + throwError(state, 'a line break is expected'); + } + + state.line += 1; + state.lineStart = state.position; +} + +function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (allowComments && ch === 0x23/* # */) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0); + } + + if (is_EOL(ch)) { + readLineBreak(state); + + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; + + while (ch === 0x20/* Space */) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, 'deficient indentation'); + } + + return lineBreaks; +} + +function testDocumentSeparator(state) { + var _position = state.position, + ch; + + ch = state.input.charCodeAt(_position); + + // Condition state.position === state.lineStart is tested + // in parent on each call, for efficiency. No needs to test here again. + if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) && + ch === state.input.charCodeAt(_position + 1) && + ch === state.input.charCodeAt(_position + 2)) { + + _position += 3; + + ch = state.input.charCodeAt(_position); + + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } + + return false; +} + +function writeFoldedLines(state, count) { + if (count === 1) { + state.result += ' '; + } else if (count > 1) { + state.result += common.repeat('\n', count - 1); + } +} + + +function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = state.kind, + _result = state.result, + ch; + + ch = state.input.charCodeAt(state.position); + + if (is_WS_OR_EOL(ch) || + is_FLOW_INDICATOR(ch) || + ch === 0x23/* # */ || + ch === 0x26/* & */ || + ch === 0x2A/* * */ || + ch === 0x21/* ! */ || + ch === 0x7C/* | */ || + ch === 0x3E/* > */ || + ch === 0x27/* ' */ || + ch === 0x22/* " */ || + ch === 0x25/* % */ || + ch === 0x40/* @ */ || + ch === 0x60/* ` */) { + return false; + } + + if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + return false; + } + } + + state.kind = 'scalar'; + state.result = ''; + captureStart = captureEnd = state.position; + hasPendingContent = false; + + while (ch !== 0) { + if (ch === 0x3A/* : */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + break; + } + + } else if (ch === 0x23/* # */) { + preceding = state.input.charCodeAt(state.position - 1); + + if (is_WS_OR_EOL(preceding)) { + break; + } + + } else if ((state.position === state.lineStart && testDocumentSeparator(state)) || + withinFlowCollection && is_FLOW_INDICATOR(ch)) { + break; + + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } + + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } + + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } + + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, captureEnd, false); + + if (state.result) { + return true; + } + + state.kind = _kind; + state.result = _result; + return false; +} + +function readSingleQuotedScalar(state, nodeIndent) { + var ch, + captureStart, captureEnd; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x27/* ' */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x27/* ' */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x27/* ' */) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a single quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a single quoted scalar'); +} + +function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, + captureEnd, + hexLength, + hexResult, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x22/* " */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x22/* " */) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + + } else if (ch === 0x5C/* \ */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + + // TODO: rework to inline fn with no type cast? + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + + } else { + throwError(state, 'expected hexadecimal character'); + } + } + + state.result += charFromCodepoint(hexResult); + + state.position++; + + } else { + throwError(state, 'unknown escape sequence'); + } + + captureStart = captureEnd = state.position; + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a double quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a double quoted scalar'); +} + +function readFlowCollection(state, nodeIndent) { + var readNext = true, + _line, + _tag = state.tag, + _result, + _anchor = state.anchor, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + overridableKeys = {}, + keyNode, + keyTag, + valueNode, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x5B/* [ */) { + terminator = 0x5D;/* ] */ + isMapping = false; + _result = []; + } else if (ch === 0x7B/* { */) { + terminator = 0x7D;/* } */ + isMapping = true; + _result = {}; + } else { + return false; + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(++state.position); + + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? 'mapping' : 'sequence'; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, 'missed comma between flow collection entries'); + } + + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + + if (ch === 0x3F/* ? */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } + + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode)); + } else { + _result.push(keyNode); + } + + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x2C/* , */) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } + + throwError(state, 'unexpected end of the stream within a flow collection'); +} + +function readBlockScalar(state, nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + didReadContent = false, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = 0, + atMoreIndented = false, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x7C/* | */) { + folding = false; + } else if (ch === 0x3E/* > */) { + folding = true; + } else { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x2B/* + */ || ch === 0x2D/* - */) { + if (CHOMPING_CLIP === chomping) { + chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, 'repeat of a chomping mode identifier'); + } + + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, 'repeat of an indentation width identifier'); + } + + } else { + break; + } + } + + if (is_WHITE_SPACE(ch)) { + do { ch = state.input.charCodeAt(++state.position); } + while (is_WHITE_SPACE(ch)); + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (!is_EOL(ch) && (ch !== 0)); + } + } + + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + + ch = state.input.charCodeAt(state.position); + + while ((!detectedIndent || state.lineIndent < textIndent) && + (ch === 0x20/* Space */)) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } + + if (is_EOL(ch)) { + emptyLines++; + continue; + } + + // End of the scalar. + if (state.lineIndent < textIndent) { + + // Perform the chomping. + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { // i.e. only if the scalar is not empty. + state.result += '\n'; + } + } + + // Break this `while` cycle and go to the funciton's epilogue. + break; + } + + // Folded style: use fancy rules to handle line breaks. + if (folding) { + + // Lines starting with white space characters (more-indented lines) are not folded. + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + // except for the first content line (cf. Example 8.1) + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + + // End of more-indented block. + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat('\n', emptyLines + 1); + + // Just one line break - perceive as the same line. + } else if (emptyLines === 0) { + if (didReadContent) { // i.e. only if we have already read some scalar content. + state.result += ' '; + } + + // Several line breaks - perceive as different lines. + } else { + state.result += common.repeat('\n', emptyLines); + } + + // Literal style: just add exact number of line breaks between content lines. + } else { + // Keep all line breaks except the header line break. + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } + + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; + + while (!is_EOL(ch) && (ch !== 0)) { + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, state.position, false); + } + + return true; +} + +function readBlockSequence(state, nodeIndent) { + var _line, + _tag = state.tag, + _anchor = state.anchor, + _result = [], + following, + detected = false, + ch; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + + if (ch !== 0x2D/* - */) { + break; + } + + following = state.input.charCodeAt(state.position + 1); + + if (!is_WS_OR_EOL(following)) { + break; + } + + detected = true; + state.position++; + + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { + throwError(state, 'bad indentation of a sequence entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'sequence'; + state.result = _result; + return true; + } + return false; +} + +function readBlockMapping(state, nodeIndent, flowIndent) { + var following, + allowCompact, + _line, + _pos, + _tag = state.tag, + _anchor = state.anchor, + _result = {}, + overridableKeys = {}, + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false, + ch; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + following = state.input.charCodeAt(state.position + 1); + _line = state.line; // Save the current line. + _pos = state.position; + + // + // Explicit notation case. There are two separate blocks: + // first for the key (denoted by "?") and second for the value (denoted by ":") + // + if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) { + + if (ch === 0x3F/* ? */) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = true; + allowCompact = true; + + } else if (atExplicitKey) { + // i.e. 0x3A/* : */ === character after the explicit key. + atExplicitKey = false; + allowCompact = true; + + } else { + throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); + } + + state.position += 1; + ch = following; + + // + // Implicit notation case. Flow-style node as the key first, then ":", and the value. + // + } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); + + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x3A/* : */) { + ch = state.input.charCodeAt(++state.position); + + if (!is_WS_OR_EOL(ch)) { + throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); + } + + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + + } else if (detected) { + throwError(state, 'can not read an implicit mapping pair; a colon is missed'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else if (detected) { + throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else { + break; // Reading is done. Go to the epilogue. + } + + // + // Common reading code for both explicit and implicit notations. + // + if (state.line === _line || state.lineIndent > nodeIndent) { + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } + + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos); + keyTag = keyNode = valueNode = null; + } + + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } + + if (state.lineIndent > nodeIndent && (ch !== 0)) { + throwError(state, 'bad indentation of a mapping entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + // + // Epilogue. + // + + // Special case: last mapping's node contains only the key in explicit notation. + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + } + + // Expose the resulting mapping. + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'mapping'; + state.result = _result; + } + + return detected; +} + +function readTagProperty(state) { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x21/* ! */) return false; + + if (state.tag !== null) { + throwError(state, 'duplication of a tag property'); + } + + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x3C/* < */) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + + } else if (ch === 0x21/* ! */) { + isNamed = true; + tagHandle = '!!'; + ch = state.input.charCodeAt(++state.position); + + } else { + tagHandle = '!'; + } + + _position = state.position; + + if (isVerbatim) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && ch !== 0x3E/* > */); + + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, 'unexpected end of the stream within a verbatim tag'); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + + if (ch === 0x21/* ! */) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); + + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, 'named tag handle cannot contain such characters'); + } + + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, 'tag suffix cannot contain exclamation marks'); + } + } + + ch = state.input.charCodeAt(++state.position); + } + + tagName = state.input.slice(_position, state.position); + + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, 'tag suffix cannot contain flow indicator characters'); + } + } + + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, 'tag name cannot contain such characters: ' + tagName); + } + + if (isVerbatim) { + state.tag = tagName; + + } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + + } else if (tagHandle === '!') { + state.tag = '!' + tagName; + + } else if (tagHandle === '!!') { + state.tag = 'tag:yaml.org,2002:' + tagName; + + } else { + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); + } + + return true; +} + +function readAnchorProperty(state) { + var _position, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x26/* & */) return false; + + if (state.anchor !== null) { + throwError(state, 'duplication of an anchor property'); + } + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an anchor node must contain at least one character'); + } + + state.anchor = state.input.slice(_position, state.position); + return true; +} + +function readAlias(state) { + var _position, alias, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x2A/* * */) return false; + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an alias node must contain at least one character'); + } + + alias = state.input.slice(_position, state.position); + + if (!_hasOwnProperty.call(state.anchorMap, alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } + + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; +} + +function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } + + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } + + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + + blockIndent = state.position - state.lineStart; + + if (indentStatus === 1) { + if (allowBlockCollections && + (readBlockSequence(state, blockIndent) || + readBlockMapping(state, blockIndent, flowIndent)) || + readFlowCollection(state, flowIndent)) { + hasContent = true; + } else { + if ((allowBlockScalars && readBlockScalar(state, flowIndent)) || + readSingleQuotedScalar(state, flowIndent) || + readDoubleQuotedScalar(state, flowIndent)) { + hasContent = true; + + } else if (readAlias(state)) { + hasContent = true; + + if (state.tag !== null || state.anchor !== null) { + throwError(state, 'alias node should not have any properties'); + } + + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + + if (state.tag === null) { + state.tag = '?'; + } + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + // Special case: block sequences are allowed to have same indentation level as the parent. + // http://www.yaml.org/spec/1.2/spec.html#id2799784 + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } + + if (state.tag !== null && state.tag !== '!') { + if (state.tag === '?') { + // Implicit resolving is not allowed for non-scalar types, and '?' + // non-specific tag is only automatically assigned to plain scalars. + // + // We only need to check kind conformity in case user explicitly assigns '?' + // tag, for example like this: "! [0]" + // + if (state.result !== null && state.kind !== 'scalar') { + throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"'); + } + + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type = state.implicitTypes[typeIndex]; + + if (type.resolve(state.result)) { // `state.result` updated in resolver if matched + state.result = type.construct(state.result); + state.tag = type.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) { + type = state.typeMap[state.kind || 'fallback'][state.tag]; + + if (state.result !== null && type.kind !== state.kind) { + throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); + } + + if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched + throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); + } else { + state.result = type.construct(state.result); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else { + throwError(state, 'unknown tag !<' + state.tag + '>'); + } + } + + if (state.listener !== null) { + state.listener('close', state); + } + return state.tag !== null || state.anchor !== null || hasContent; +} + +function readDocument(state) { + var documentStart = state.position, + _position, + directiveName, + directiveArgs, + hasDirectives = false, + ch; + + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = {}; + state.anchorMap = {}; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if (state.lineIndent > 0 || ch !== 0x25/* % */) { + break; + } + + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; + + if (directiveName.length < 1) { + throwError(state, 'directive name must not be less than one character in length'); + } + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && !is_EOL(ch)); + break; + } + + if (is_EOL(ch)) break; + + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveArgs.push(state.input.slice(_position, state.position)); + } + + if (ch !== 0) readLineBreak(state); + + if (_hasOwnProperty.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } + + skipSeparationSpace(state, true, -1); + + if (state.lineIndent === 0 && + state.input.charCodeAt(state.position) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 1) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 2) === 0x2D/* - */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + + } else if (hasDirectives) { + throwError(state, 'directives end mark is expected'); + } + + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); + + if (state.checkLineBreaks && + PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { + throwWarning(state, 'non-ASCII line breaks are interpreted as content'); + } + + state.documents.push(state.result); + + if (state.position === state.lineStart && testDocumentSeparator(state)) { + + if (state.input.charCodeAt(state.position) === 0x2E/* . */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } + + if (state.position < (state.length - 1)) { + throwError(state, 'end of the stream or a document separator is expected'); + } else { + return; + } +} + + +function loadDocuments(input, options) { + input = String(input); + options = options || {}; + + if (input.length !== 0) { + + // Add tailing `\n` if not exists + if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ && + input.charCodeAt(input.length - 1) !== 0x0D/* CR */) { + input += '\n'; + } + + // Strip BOM + if (input.charCodeAt(0) === 0xFEFF) { + input = input.slice(1); + } + } + + var state = new State(input, options); + + var nullpos = input.indexOf('\0'); + + if (nullpos !== -1) { + state.position = nullpos; + throwError(state, 'null byte is not allowed in input'); + } + + // Use 0 as string terminator. That significantly simplifies bounds check. + state.input += '\0'; + + while (state.input.charCodeAt(state.position) === 0x20/* Space */) { + state.lineIndent += 1; + state.position += 1; + } + + while (state.position < (state.length - 1)) { + readDocument(state); + } + + return state.documents; +} + + +function loadAll(input, iterator, options) { + if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + + var documents = loadDocuments(input, options); + + if (typeof iterator !== 'function') { + return documents; + } + + for (var index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } +} + + +function load(input, options) { + var documents = loadDocuments(input, options); + + if (documents.length === 0) { + /*eslint-disable no-undefined*/ + return undefined; + } else if (documents.length === 1) { + return documents[0]; + } + throw new YAMLException('expected a single document in the stream, but found more'); +} + + +function safeLoadAll(input, iterator, options) { + if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + + return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); +} + + +function safeLoad(input, options) { + return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); +} + + +module.exports.loadAll = loadAll; +module.exports.load = load; +module.exports.safeLoadAll = safeLoadAll; +module.exports.safeLoad = safeLoad; + +},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(require,module,exports){ +'use strict'; + + +var common = require('./common'); + + +function Mark(name, buffer, position, line, column) { + this.name = name; + this.buffer = buffer; + this.position = position; + this.line = line; + this.column = column; +} + + +Mark.prototype.getSnippet = function getSnippet(indent, maxLength) { + var head, start, tail, end, snippet; + + if (!this.buffer) return null; + + indent = indent || 4; + maxLength = maxLength || 75; + + head = ''; + start = this.position; + + while (start > 0 && '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) { + start -= 1; + if (this.position - start > (maxLength / 2 - 1)) { + head = ' ... '; + start += 5; + break; + } + } + + tail = ''; + end = this.position; + + while (end < this.buffer.length && '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(end)) === -1) { + end += 1; + if (end - this.position > (maxLength / 2 - 1)) { + tail = ' ... '; + end -= 5; + break; + } + } + + snippet = this.buffer.slice(start, end); + + return common.repeat(' ', indent) + head + snippet + tail + '\n' + + common.repeat(' ', indent + this.position - start + head.length) + '^'; +}; + + +Mark.prototype.toString = function toString(compact) { + var snippet, where = ''; + + if (this.name) { + where += 'in "' + this.name + '" '; + } + + where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1); + + if (!compact) { + snippet = this.getSnippet(); + + if (snippet) { + where += ':\n' + snippet; + } + } + + return where; +}; + + +module.exports = Mark; + +},{"./common":2}],7:[function(require,module,exports){ +'use strict'; + +/*eslint-disable max-len*/ + +var common = require('./common'); +var YAMLException = require('./exception'); +var Type = require('./type'); + + +function compileList(schema, name, result) { + var exclude = []; + + schema.include.forEach(function (includedSchema) { + result = compileList(includedSchema, name, result); + }); + + schema[name].forEach(function (currentType) { + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) { + exclude.push(previousIndex); + } + }); + + result.push(currentType); + }); + + return result.filter(function (type, index) { + return exclude.indexOf(index) === -1; + }); +} + + +function compileMap(/* lists... */) { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {} + }, index, length; + + function collectType(type) { + result[type.kind][type.tag] = result['fallback'][type.tag] = type; + } + + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; +} + + +function Schema(definition) { + this.include = definition.include || []; + this.implicit = definition.implicit || []; + this.explicit = definition.explicit || []; + + this.implicit.forEach(function (type) { + if (type.loadKind && type.loadKind !== 'scalar') { + throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); + } + }); + + this.compiledImplicit = compileList(this, 'implicit', []); + this.compiledExplicit = compileList(this, 'explicit', []); + this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit); +} + + +Schema.DEFAULT = null; + + +Schema.create = function createSchema() { + var schemas, types; + + switch (arguments.length) { + case 1: + schemas = Schema.DEFAULT; + types = arguments[0]; + break; + + case 2: + schemas = arguments[0]; + types = arguments[1]; + break; + + default: + throw new YAMLException('Wrong number of arguments for Schema.create function'); + } + + schemas = common.toArray(schemas); + types = common.toArray(types); + + if (!schemas.every(function (schema) { return schema instanceof Schema; })) { + throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.'); + } + + if (!types.every(function (type) { return type instanceof Type; })) { + throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + + return new Schema({ + include: schemas, + explicit: types + }); +}; + + +module.exports = Schema; + +},{"./common":2,"./exception":4,"./type":13}],8:[function(require,module,exports){ +// Standard YAML's Core schema. +// http://www.yaml.org/spec/1.2/spec.html#id2804923 +// +// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. +// So, Core schema has no distinctions from JSON schema is JS-YAML. + + +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = new Schema({ + include: [ + require('./json') + ] +}); + +},{"../schema":7,"./json":12}],9:[function(require,module,exports){ +// JS-YAML's default schema for `load` function. +// It is not described in the YAML specification. +// +// This schema is based on JS-YAML's default safe schema and includes +// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function. +// +// Also this schema is used as default base schema at `Schema.create` function. + + +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = Schema.DEFAULT = new Schema({ + include: [ + require('./default_safe') + ], + explicit: [ + require('../type/js/undefined'), + require('../type/js/regexp'), + require('../type/js/function') + ] +}); + +},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(require,module,exports){ +// JS-YAML's default schema for `safeLoad` function. +// It is not described in the YAML specification. +// +// This schema is based on standard YAML's Core schema and includes most of +// extra types described at YAML tag repository. (http://yaml.org/type/) + + +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = new Schema({ + include: [ + require('./core') + ], + implicit: [ + require('../type/timestamp'), + require('../type/merge') + ], + explicit: [ + require('../type/binary'), + require('../type/omap'), + require('../type/pairs'), + require('../type/set') + ] +}); + +},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(require,module,exports){ +// Standard YAML's Failsafe schema. +// http://www.yaml.org/spec/1.2/spec.html#id2802346 + + +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = new Schema({ + explicit: [ + require('../type/str'), + require('../type/seq'), + require('../type/map') + ] +}); + +},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(require,module,exports){ +// Standard YAML's JSON schema. +// http://www.yaml.org/spec/1.2/spec.html#id2803231 +// +// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. +// So, this schema is not such strict as defined in the YAML specification. +// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc. + + +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = new Schema({ + include: [ + require('./failsafe') + ], + implicit: [ + require('../type/null'), + require('../type/bool'), + require('../type/int'), + require('../type/float') + ] +}); + +},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(require,module,exports){ +'use strict'; + +var YAMLException = require('./exception'); + +var TYPE_CONSTRUCTOR_OPTIONS = [ + 'kind', + 'resolve', + 'construct', + 'instanceOf', + 'predicate', + 'represent', + 'defaultStyle', + 'styleAliases' +]; + +var YAML_NODE_KINDS = [ + 'scalar', + 'sequence', + 'mapping' +]; + +function compileStyleAliases(map) { + var result = {}; + + if (map !== null) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } + + return result; +} + +function Type(tag, options) { + options = options || {}; + + Object.keys(options).forEach(function (name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + + // TODO: Add tag format check. + this.tag = tag; + this.kind = options['kind'] || null; + this.resolve = options['resolve'] || function () { return true; }; + this.construct = options['construct'] || function (data) { return data; }; + this.instanceOf = options['instanceOf'] || null; + this.predicate = options['predicate'] || null; + this.represent = options['represent'] || null; + this.defaultStyle = options['defaultStyle'] || null; + this.styleAliases = compileStyleAliases(options['styleAliases'] || null); + + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } +} + +module.exports = Type; + +},{"./exception":4}],14:[function(require,module,exports){ +'use strict'; + +/*eslint-disable no-bitwise*/ + +var NodeBuffer; + +try { + // A trick for browserified version, to not include `Buffer` shim + var _require = require; + NodeBuffer = _require('buffer').Buffer; +} catch (__) {} + +var Type = require('../type'); + + +// [ 64, 65, 66 ] -> [ padding, CR, LF ] +var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; + + +function resolveYamlBinary(data) { + if (data === null) return false; + + var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP; + + // Convert one by one. + for (idx = 0; idx < max; idx++) { + code = map.indexOf(data.charAt(idx)); + + // Skip CR/LF + if (code > 64) continue; + + // Fail on illegal characters + if (code < 0) return false; + + bitlen += 6; + } + + // If there are any bits left, source was corrupted + return (bitlen % 8) === 0; +} + +function constructYamlBinary(data) { + var idx, tailbits, + input = data.replace(/[\r\n=]/g, ''), // remove CR/LF & padding to simplify scan + max = input.length, + map = BASE64_MAP, + bits = 0, + result = []; + + // Collect by 6*4 bits (3 bytes) + + for (idx = 0; idx < max; idx++) { + if ((idx % 4 === 0) && idx) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } + + bits = (bits << 6) | map.indexOf(input.charAt(idx)); + } + + // Dump tail + + tailbits = (max % 4) * 6; + + if (tailbits === 0) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } else if (tailbits === 18) { + result.push((bits >> 10) & 0xFF); + result.push((bits >> 2) & 0xFF); + } else if (tailbits === 12) { + result.push((bits >> 4) & 0xFF); + } + + // Wrap into Buffer for NodeJS and leave Array for browser + if (NodeBuffer) { + // Support node 6.+ Buffer API when available + return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result); + } + + return result; +} + +function representYamlBinary(object /*, style*/) { + var result = '', bits = 0, idx, tail, + max = object.length, + map = BASE64_MAP; + + // Convert every three bytes to 4 ASCII characters. + + for (idx = 0; idx < max; idx++) { + if ((idx % 3 === 0) && idx) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } + + bits = (bits << 8) + object[idx]; + } + + // Dump tail + + tail = max % 3; + + if (tail === 0) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } else if (tail === 2) { + result += map[(bits >> 10) & 0x3F]; + result += map[(bits >> 4) & 0x3F]; + result += map[(bits << 2) & 0x3F]; + result += map[64]; + } else if (tail === 1) { + result += map[(bits >> 2) & 0x3F]; + result += map[(bits << 4) & 0x3F]; + result += map[64]; + result += map[64]; + } + + return result; +} + +function isBinary(object) { + return NodeBuffer && NodeBuffer.isBuffer(object); +} + +module.exports = new Type('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary +}); + +},{"../type":13}],15:[function(require,module,exports){ +'use strict'; + +var Type = require('../type'); + +function resolveYamlBoolean(data) { + if (data === null) return false; + + var max = data.length; + + return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) || + (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE')); +} + +function constructYamlBoolean(data) { + return data === 'true' || + data === 'True' || + data === 'TRUE'; +} + +function isBoolean(object) { + return Object.prototype.toString.call(object) === '[object Boolean]'; +} + +module.exports = new Type('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function (object) { return object ? 'true' : 'false'; }, + uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, + camelcase: function (object) { return object ? 'True' : 'False'; } + }, + defaultStyle: 'lowercase' +}); + +},{"../type":13}],16:[function(require,module,exports){ +'use strict'; + +var common = require('../common'); +var Type = require('../type'); + +var YAML_FLOAT_PATTERN = new RegExp( + // 2.5e4, 2.5 and integers + '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + + // .2e4, .2 + // special case, seems not from spec + '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + + // 20:59 + '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*' + + // .inf + '|[-+]?\\.(?:inf|Inf|INF)' + + // .nan + '|\\.(?:nan|NaN|NAN))$'); + +function resolveYamlFloat(data) { + if (data === null) return false; + + if (!YAML_FLOAT_PATTERN.test(data) || + // Quick hack to not allow integers end with `_` + // Probably should update regexp & check speed + data[data.length - 1] === '_') { + return false; + } + + return true; +} + +function constructYamlFloat(data) { + var value, sign, base, digits; + + value = data.replace(/_/g, '').toLowerCase(); + sign = value[0] === '-' ? -1 : 1; + digits = []; + + if ('+-'.indexOf(value[0]) >= 0) { + value = value.slice(1); + } + + if (value === '.inf') { + return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + + } else if (value === '.nan') { + return NaN; + + } else if (value.indexOf(':') >= 0) { + value.split(':').forEach(function (v) { + digits.unshift(parseFloat(v, 10)); + }); + + value = 0.0; + base = 1; + + digits.forEach(function (d) { + value += d * base; + base *= 60; + }); + + return sign * value; + + } + return sign * parseFloat(value, 10); +} + + +var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; + +function representYamlFloat(object, style) { + var res; + + if (isNaN(object)) { + switch (style) { + case 'lowercase': return '.nan'; + case 'uppercase': return '.NAN'; + case 'camelcase': return '.NaN'; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '.inf'; + case 'uppercase': return '.INF'; + case 'camelcase': return '.Inf'; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '-.inf'; + case 'uppercase': return '-.INF'; + case 'camelcase': return '-.Inf'; + } + } else if (common.isNegativeZero(object)) { + return '-0.0'; + } + + res = object.toString(10); + + // JS stringifier can build scientific format without dots: 5e-100, + // while YAML requres dot: 5.e-100. Fix it with simple hack + + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; +} + +function isFloat(object) { + return (Object.prototype.toString.call(object) === '[object Number]') && + (object % 1 !== 0 || common.isNegativeZero(object)); +} + +module.exports = new Type('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: 'lowercase' +}); + +},{"../common":2,"../type":13}],17:[function(require,module,exports){ +'use strict'; + +var common = require('../common'); +var Type = require('../type'); + +function isHexCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) || + ((0x41/* A */ <= c) && (c <= 0x46/* F */)) || + ((0x61/* a */ <= c) && (c <= 0x66/* f */)); +} + +function isOctCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */)); +} + +function isDecCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)); +} + +function resolveYamlInteger(data) { + if (data === null) return false; + + var max = data.length, + index = 0, + hasDigits = false, + ch; + + if (!max) return false; + + ch = data[index]; + + // sign + if (ch === '-' || ch === '+') { + ch = data[++index]; + } + + if (ch === '0') { + // 0 + if (index + 1 === max) return true; + ch = data[++index]; + + // base 2, base 8, base 16 + + if (ch === 'b') { + // base 2 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch !== '0' && ch !== '1') return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + + if (ch === 'x') { + // base 16 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isHexCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + // base 8 + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isOctCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + // base 10 (except 0) or base 60 + + // value should not start with `_`; + if (ch === '_') return false; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch === ':') break; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } + + // Should have digits and should not end with `_` + if (!hasDigits || ch === '_') return false; + + // if !base60 - done; + if (ch !== ':') return true; + + // base60 almost not used, no needs to optimize + return /^(:[0-5]?[0-9])+$/.test(data.slice(index)); +} + +function constructYamlInteger(data) { + var value = data, sign = 1, ch, base, digits = []; + + if (value.indexOf('_') !== -1) { + value = value.replace(/_/g, ''); + } + + ch = value[0]; + + if (ch === '-' || ch === '+') { + if (ch === '-') sign = -1; + value = value.slice(1); + ch = value[0]; + } + + if (value === '0') return 0; + + if (ch === '0') { + if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); + if (value[1] === 'x') return sign * parseInt(value, 16); + return sign * parseInt(value, 8); + } + + if (value.indexOf(':') !== -1) { + value.split(':').forEach(function (v) { + digits.unshift(parseInt(v, 10)); + }); + + value = 0; + base = 1; + + digits.forEach(function (d) { + value += (d * base); + base *= 60; + }); + + return sign * value; + + } + + return sign * parseInt(value, 10); +} + +function isInteger(object) { + return (Object.prototype.toString.call(object)) === '[object Number]' && + (object % 1 === 0 && !common.isNegativeZero(object)); +} + +module.exports = new Type('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); }, + octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); }, + decimal: function (obj) { return obj.toString(10); }, + /* eslint-disable max-len */ + hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); } + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [ 2, 'bin' ], + octal: [ 8, 'oct' ], + decimal: [ 10, 'dec' ], + hexadecimal: [ 16, 'hex' ] + } +}); + +},{"../common":2,"../type":13}],18:[function(require,module,exports){ +'use strict'; + +var esprima; + +// Browserified version does not have esprima +// +// 1. For node.js just require module as deps +// 2. For browser try to require mudule via external AMD system. +// If not found - try to fallback to window.esprima. If not +// found too - then fail to parse. +// +try { + // workaround to exclude package from browserify list. + var _require = require; + esprima = _require('esprima'); +} catch (_) { + /* eslint-disable no-redeclare */ + /* global window */ + if (typeof window !== 'undefined') esprima = window.esprima; +} + +var Type = require('../../type'); + +function resolveJavascriptFunction(data) { + if (data === null) return false; + + try { + var source = '(' + data + ')', + ast = esprima.parse(source, { range: true }); + + if (ast.type !== 'Program' || + ast.body.length !== 1 || + ast.body[0].type !== 'ExpressionStatement' || + (ast.body[0].expression.type !== 'ArrowFunctionExpression' && + ast.body[0].expression.type !== 'FunctionExpression')) { + return false; + } + + return true; + } catch (err) { + return false; + } +} + +function constructJavascriptFunction(data) { + /*jslint evil:true*/ + + var source = '(' + data + ')', + ast = esprima.parse(source, { range: true }), + params = [], + body; + + if (ast.type !== 'Program' || + ast.body.length !== 1 || + ast.body[0].type !== 'ExpressionStatement' || + (ast.body[0].expression.type !== 'ArrowFunctionExpression' && + ast.body[0].expression.type !== 'FunctionExpression')) { + throw new Error('Failed to resolve function'); + } + + ast.body[0].expression.params.forEach(function (param) { + params.push(param.name); + }); + + body = ast.body[0].expression.body.range; + + // Esprima's ranges include the first '{' and the last '}' characters on + // function expressions. So cut them out. + if (ast.body[0].expression.body.type === 'BlockStatement') { + /*eslint-disable no-new-func*/ + return new Function(params, source.slice(body[0] + 1, body[1] - 1)); + } + // ES6 arrow functions can omit the BlockStatement. In that case, just return + // the body. + /*eslint-disable no-new-func*/ + return new Function(params, 'return ' + source.slice(body[0], body[1])); +} + +function representJavascriptFunction(object /*, style*/) { + return object.toString(); +} + +function isFunction(object) { + return Object.prototype.toString.call(object) === '[object Function]'; +} + +module.exports = new Type('tag:yaml.org,2002:js/function', { + kind: 'scalar', + resolve: resolveJavascriptFunction, + construct: constructJavascriptFunction, + predicate: isFunction, + represent: representJavascriptFunction +}); + +},{"../../type":13}],19:[function(require,module,exports){ +'use strict'; + +var Type = require('../../type'); + +function resolveJavascriptRegExp(data) { + if (data === null) return false; + if (data.length === 0) return false; + + var regexp = data, + tail = /\/([gim]*)$/.exec(data), + modifiers = ''; + + // if regexp starts with '/' it can have modifiers and must be properly closed + // `/foo/gim` - modifiers tail can be maximum 3 chars + if (regexp[0] === '/') { + if (tail) modifiers = tail[1]; + + if (modifiers.length > 3) return false; + // if expression starts with /, is should be properly terminated + if (regexp[regexp.length - modifiers.length - 1] !== '/') return false; + } + + return true; +} + +function constructJavascriptRegExp(data) { + var regexp = data, + tail = /\/([gim]*)$/.exec(data), + modifiers = ''; + + // `/foo/gim` - tail can be maximum 4 chars + if (regexp[0] === '/') { + if (tail) modifiers = tail[1]; + regexp = regexp.slice(1, regexp.length - modifiers.length - 1); + } + + return new RegExp(regexp, modifiers); +} + +function representJavascriptRegExp(object /*, style*/) { + var result = '/' + object.source + '/'; + + if (object.global) result += 'g'; + if (object.multiline) result += 'm'; + if (object.ignoreCase) result += 'i'; + + return result; +} + +function isRegExp(object) { + return Object.prototype.toString.call(object) === '[object RegExp]'; +} + +module.exports = new Type('tag:yaml.org,2002:js/regexp', { + kind: 'scalar', + resolve: resolveJavascriptRegExp, + construct: constructJavascriptRegExp, + predicate: isRegExp, + represent: representJavascriptRegExp +}); + +},{"../../type":13}],20:[function(require,module,exports){ +'use strict'; + +var Type = require('../../type'); + +function resolveJavascriptUndefined() { + return true; +} + +function constructJavascriptUndefined() { + /*eslint-disable no-undefined*/ + return undefined; +} + +function representJavascriptUndefined() { + return ''; +} + +function isUndefined(object) { + return typeof object === 'undefined'; +} + +module.exports = new Type('tag:yaml.org,2002:js/undefined', { + kind: 'scalar', + resolve: resolveJavascriptUndefined, + construct: constructJavascriptUndefined, + predicate: isUndefined, + represent: representJavascriptUndefined +}); + +},{"../../type":13}],21:[function(require,module,exports){ +'use strict'; + +var Type = require('../type'); + +module.exports = new Type('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: function (data) { return data !== null ? data : {}; } +}); + +},{"../type":13}],22:[function(require,module,exports){ +'use strict'; + +var Type = require('../type'); + +function resolveYamlMerge(data) { + return data === '<<' || data === null; +} + +module.exports = new Type('tag:yaml.org,2002:merge', { + kind: 'scalar', + resolve: resolveYamlMerge +}); + +},{"../type":13}],23:[function(require,module,exports){ +'use strict'; + +var Type = require('../type'); + +function resolveYamlNull(data) { + if (data === null) return true; + + var max = data.length; + + return (max === 1 && data === '~') || + (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL')); +} + +function constructYamlNull() { + return null; +} + +function isNull(object) { + return object === null; +} + +module.exports = new Type('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function () { return '~'; }, + lowercase: function () { return 'null'; }, + uppercase: function () { return 'NULL'; }, + camelcase: function () { return 'Null'; } + }, + defaultStyle: 'lowercase' +}); + +},{"../type":13}],24:[function(require,module,exports){ +'use strict'; + +var Type = require('../type'); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; +var _toString = Object.prototype.toString; + +function resolveYamlOmap(data) { + if (data === null) return true; + + var objectKeys = [], index, length, pair, pairKey, pairHasKey, + object = data; + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + + if (_toString.call(pair) !== '[object Object]') return false; + + for (pairKey in pair) { + if (_hasOwnProperty.call(pair, pairKey)) { + if (!pairHasKey) pairHasKey = true; + else return false; + } + } + + if (!pairHasKey) return false; + + if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); + else return false; + } + + return true; +} + +function constructYamlOmap(data) { + return data !== null ? data : []; +} + +module.exports = new Type('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: resolveYamlOmap, + construct: constructYamlOmap +}); + +},{"../type":13}],25:[function(require,module,exports){ +'use strict'; + +var Type = require('../type'); + +var _toString = Object.prototype.toString; + +function resolveYamlPairs(data) { + if (data === null) return true; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + if (_toString.call(pair) !== '[object Object]') return false; + + keys = Object.keys(pair); + + if (keys.length !== 1) return false; + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return true; +} + +function constructYamlPairs(data) { + if (data === null) return []; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + keys = Object.keys(pair); + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return result; +} + +module.exports = new Type('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); + +},{"../type":13}],26:[function(require,module,exports){ +'use strict'; + +var Type = require('../type'); + +module.exports = new Type('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: function (data) { return data !== null ? data : []; } +}); + +},{"../type":13}],27:[function(require,module,exports){ +'use strict'; + +var Type = require('../type'); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + +function resolveYamlSet(data) { + if (data === null) return true; + + var key, object = data; + + for (key in object) { + if (_hasOwnProperty.call(object, key)) { + if (object[key] !== null) return false; + } + } + + return true; +} + +function constructYamlSet(data) { + return data !== null ? data : {}; +} + +module.exports = new Type('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: resolveYamlSet, + construct: constructYamlSet +}); + +},{"../type":13}],28:[function(require,module,exports){ +'use strict'; + +var Type = require('../type'); + +module.exports = new Type('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: function (data) { return data !== null ? data : ''; } +}); + +},{"../type":13}],29:[function(require,module,exports){ +'use strict'; + +var Type = require('../type'); + +var YAML_DATE_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9])' + // [2] month + '-([0-9][0-9])$'); // [3] day + +var YAML_TIMESTAMP_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9]?)' + // [2] month + '-([0-9][0-9]?)' + // [3] day + '(?:[Tt]|[ \\t]+)' + // ... + '([0-9][0-9]?)' + // [4] hour + ':([0-9][0-9])' + // [5] minute + ':([0-9][0-9])' + // [6] second + '(?:\\.([0-9]*))?' + // [7] fraction + '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour + '(?::([0-9][0-9]))?))?$'); // [11] tz_minute + +function resolveYamlTimestamp(data) { + if (data === null) return false; + if (YAML_DATE_REGEXP.exec(data) !== null) return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; + return false; +} + +function constructYamlTimestamp(data) { + var match, year, month, day, hour, minute, second, fraction = 0, + delta = null, tz_hour, tz_minute, date; + + match = YAML_DATE_REGEXP.exec(data); + if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + + if (match === null) throw new Error('Date resolve error'); + + // match: [1] year [2] month [3] day + + year = +(match[1]); + month = +(match[2]) - 1; // JS month starts with 0 + day = +(match[3]); + + if (!match[4]) { // no hour + return new Date(Date.UTC(year, month, day)); + } + + // match: [4] hour [5] minute [6] second [7] fraction + + hour = +(match[4]); + minute = +(match[5]); + second = +(match[6]); + + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { // milli-seconds + fraction += '0'; + } + fraction = +fraction; + } + + // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute + + if (match[9]) { + tz_hour = +(match[10]); + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds + if (match[9] === '-') delta = -delta; + } + + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + + if (delta) date.setTime(date.getTime() - delta); + + return date; +} + +function representYamlTimestamp(object /*, style*/) { + return object.toISOString(); +} + +module.exports = new Type('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp +}); + +},{"../type":13}],"/":[function(require,module,exports){ +'use strict'; + + +var yaml = require('./lib/js-yaml.js'); + + +module.exports = yaml; + +},{"./lib/js-yaml.js":1}]},{},[])("/") +}); diff --git a/node_modules/js-yaml/dist/js-yaml.min.js b/node_modules/js-yaml/dist/js-yaml.min.js new file mode 100644 index 00000000..1b6ecc16 --- /dev/null +++ b/node_modules/js-yaml/dist/js-yaml.min.js @@ -0,0 +1 @@ +/*! js-yaml 3.14.1 https://github.com/nodeca/js-yaml */!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).jsyaml=e()}(function(){return function i(r,o,a){function s(t,e){if(!o[t]){if(!r[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(c)return c(t,!0);throw(n=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",n}n=o[t]={exports:{}},r[t][0].call(n.exports,function(e){return s(r[t][1][e]||e)},n,n.exports,i,r,o,a)}return o[t].exports}for(var c="function"==typeof require&&require,e=0;e=i.flowLevel;switch(V(r,n,i.indent,t,function(e){return function(e,t){for(var n=0,i=e.implicitTypes.length;n"+z(r,i.indent)+J(U(function(t,n){var e,i=/(\n+)([^\n]*)/g,r=function(){var e=-1!==(e=t.indexOf("\n"))?e:t.length;return i.lastIndex=e,Q(t.slice(0,e),n)}(),o="\n"===t[0]||" "===t[0];for(;e=i.exec(t);){var a=e[1],s=e[2];e=" "===s[0],r+=a+(o||e||""===s?"":"\n")+Q(s,n),o=e}return r}(r,t),e));case G:return'"'+function(e){for(var t,n,i,r="",o=0;ot&&o tag resolver accepts not "'+o+'" style');i=r.represent[o](t,o)}e.dump=i}return 1}}function ee(e,t,n,i,r,o){e.tag=null,e.dump=n,X(e,n,!1)||X(e,n,!0);var a=l.call(e.dump);i=i&&(e.flowLevel<0||e.flowLevel>t);var s,c,u="[object Object]"===a||"[object Array]"===a;if(u&&(c=-1!==(s=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||c||2!==e.indent&&0 "+e.dump)}return 1}function te(e,t){var n,i,r=[],o=[];for(!function e(t,n,i){var r,o,a;if(null!==t&&"object"==typeof t)if(-1!==(o=n.indexOf(t)))-1===i.indexOf(o)&&i.push(o);else if(n.push(t),Array.isArray(t))for(o=0,a=t.length;o>10),56320+(c-65536&1023)),e.position++}else N(e,"unknown escape sequence");n=i=e.position}else S(u)?(L(e,n,i,!0),B(e,Y(e,!1,t)),n=i=e.position):e.position===e.lineStart&&R(e)?N(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}N(e,"unexpected end of the stream within a double quoted scalar")}}function K(e,t){var n,i,r=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),i=e.input.charCodeAt(e.position);0!==i&&45===i&&O(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,Y(e,!0,-1)&&e.lineIndent<=t)a.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,P(e,t,x,!1,!0),a.push(e.result),Y(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)N(e,"bad indentation of a sequence entry");else if(e.lineIndentt?p=1:e.lineIndent===t?p=0:e.lineIndentt?p=1:e.lineIndent===t?p=0:e.lineIndentt)&&(P(e,t,A,!0,r)&&(m?d=e.result:h=e.result),m||(U(e,l,p,f,d,h,o,a),f=d=h=null),Y(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)N(e,"bad indentation of a mapping entry");else if(e.lineIndentc&&(c=e.lineIndent),S(p))u++;else{if(e.lineIndent=t){a=!0,f=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=c,e.lineIndent=u;break}}a&&(L(e,r,o,!1),B(e,e.line-s),r=o=e.position,a=!1),I(f)||(o=e.position+1),f=e.input.charCodeAt(++e.position)}if(L(e,r,o,!1),e.result)return 1;e.kind=l,e.result=p}}(e,i,g===n)&&(d=!0,null===e.tag&&(e.tag="?")):(d=!0,null===e.tag&&null===e.anchor||N(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===p&&(d=s&&K(e,r))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&N(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,u=e.implicitTypes.length;c tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):N(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):N(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||d}function $(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new F(e,t),e=e.indexOf("\0");for(-1!==e&&(n.position=e,N(n,"null byte is not allowed in input")),n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.positiont/2-1){n=" ... ",i+=5;break}for(r="",o=this.position;ot/2-1){r=" ... ",o-=5;break}return a=this.buffer.slice(i,o),s.repeat(" ",e)+n+a+r+"\n"+s.repeat(" ",e+this.position-i+n.length)+"^"},i.prototype.toString=function(e){var t="";return this.name&&(t+='in "'+this.name+'" '),t+="at line "+(this.line+1)+", column "+(this.column+1),e||(e=this.getSnippet())&&(t+=":\n"+e),t},t.exports=i},{"./common":2}],7:[function(e,t,n){"use strict";var r=e("./common"),o=e("./exception"),a=e("./type");function s(e,t,i){var r=[];return e.include.forEach(function(e){i=s(e,t,i)}),e[t].forEach(function(n){i.forEach(function(e,t){e.tag===n.tag&&e.kind===n.kind&&r.push(t)}),i.push(n)}),i.filter(function(e,t){return-1===r.indexOf(t)})}function c(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new o("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=s(this,"implicit",[]),this.compiledExplicit=s(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};function i(e){n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e>16&255),o.push(r>>8&255),o.push(255&r)),r=r<<6|i.indexOf(t.charAt(a));return 0==(e=n%4*6)?(o.push(r>>16&255),o.push(r>>8&255),o.push(255&r)):18==e?(o.push(r>>10&255),o.push(r>>2&255)):12==e&&o.push(r>>4&255),s?s.from?s.from(o):new s(o):o},predicate:function(e){return s&&s.isBuffer(e)},represent:function(e){for(var t,n="",i=0,r=e.length,o=c,a=0;a>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[63&i]),i=(i<<8)+e[a];return 0==(t=r%3)?(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[63&i]):2==t?(n+=o[i>>10&63],n+=o[i>>4&63],n+=o[i<<2&63],n+=o[64]):1==t&&(n+=o[i>>2&63],n+=o[i<<4&63],n+=o[64],n+=o[64]),n}})},{"../type":13}],15:[function(e,t,n){"use strict";e=e("../type");t.exports=new e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(e,t,n){"use strict";var i=e("../common"),e=e("../type"),r=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var o=/^[-+]?[0-9]+e/;t.exports=new e("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!r.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n=e.replace(/_/g,"").toLowerCase(),e="-"===n[0]?-1:1,i=[];return 0<="+-".indexOf(n[0])&&(n=n.slice(1)),".inf"===n?1==e?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===n?NaN:0<=n.indexOf(":")?(n.split(":").forEach(function(e){i.unshift(parseFloat(e,10))}),n=0,t=1,i.forEach(function(e){n+=e*t,t*=60}),e*n):e*parseFloat(n,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||i.isNegativeZero(e))},represent:function(e,t){if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(e))return"-0.0";return e=e.toString(10),o.test(e)?e.replace("e",".e"):e},defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(e,t,n){"use strict";var i=e("../common"),e=e("../type");t.exports=new e("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i,r,o=e.length,a=0,s=!1;if(!o)return!1;if("-"!==(t=e[a])&&"+"!==t||(t=e[++a]),"0"===t){if(a+1===o)return!0;if("b"===(t=e[++a])){for(a++;a */ +var CHAR_QUESTION = 0x3F; /* ? */ +var CHAR_COMMERCIAL_AT = 0x40; /* @ */ +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ +var CHAR_GRAVE_ACCENT = 0x60; /* ` */ +var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ +var CHAR_VERTICAL_LINE = 0x7C; /* | */ +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ + +var ESCAPE_SEQUENCES = {}; + +ESCAPE_SEQUENCES[0x00] = '\\0'; +ESCAPE_SEQUENCES[0x07] = '\\a'; +ESCAPE_SEQUENCES[0x08] = '\\b'; +ESCAPE_SEQUENCES[0x09] = '\\t'; +ESCAPE_SEQUENCES[0x0A] = '\\n'; +ESCAPE_SEQUENCES[0x0B] = '\\v'; +ESCAPE_SEQUENCES[0x0C] = '\\f'; +ESCAPE_SEQUENCES[0x0D] = '\\r'; +ESCAPE_SEQUENCES[0x1B] = '\\e'; +ESCAPE_SEQUENCES[0x22] = '\\"'; +ESCAPE_SEQUENCES[0x5C] = '\\\\'; +ESCAPE_SEQUENCES[0x85] = '\\N'; +ESCAPE_SEQUENCES[0xA0] = '\\_'; +ESCAPE_SEQUENCES[0x2028] = '\\L'; +ESCAPE_SEQUENCES[0x2029] = '\\P'; + +var DEPRECATED_BOOLEANS_SYNTAX = [ + 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', + 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF' +]; + +function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + + if (map === null) return {}; + + result = {}; + keys = Object.keys(map); + + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + + if (tag.slice(0, 2) === '!!') { + tag = 'tag:yaml.org,2002:' + tag.slice(2); + } + type = schema.compiledTypeMap['fallback'][tag]; + + if (type && _hasOwnProperty.call(type.styleAliases, style)) { + style = type.styleAliases[style]; + } + + result[tag] = style; + } + + return result; +} + +function encodeHex(character) { + var string, handle, length; + + string = character.toString(16).toUpperCase(); + + if (character <= 0xFF) { + handle = 'x'; + length = 2; + } else if (character <= 0xFFFF) { + handle = 'u'; + length = 4; + } else if (character <= 0xFFFFFFFF) { + handle = 'U'; + length = 8; + } else { + throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF'); + } + + return '\\' + handle + common.repeat('0', length - string.length) + string; +} + +function State(options) { + this.schema = options['schema'] || DEFAULT_FULL_SCHEMA; + this.indent = Math.max(1, (options['indent'] || 2)); + this.noArrayIndent = options['noArrayIndent'] || false; + this.skipInvalid = options['skipInvalid'] || false; + this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']); + this.styleMap = compileStyleMap(this.schema, options['styles'] || null); + this.sortKeys = options['sortKeys'] || false; + this.lineWidth = options['lineWidth'] || 80; + this.noRefs = options['noRefs'] || false; + this.noCompatMode = options['noCompatMode'] || false; + this.condenseFlow = options['condenseFlow'] || false; + + this.implicitTypes = this.schema.compiledImplicit; + this.explicitTypes = this.schema.compiledExplicit; + + this.tag = null; + this.result = ''; + + this.duplicates = []; + this.usedDuplicates = null; +} + +// Indents every line in a string. Empty lines (\n only) are not indented. +function indentString(string, spaces) { + var ind = common.repeat(' ', spaces), + position = 0, + next = -1, + result = '', + line, + length = string.length; + + while (position < length) { + next = string.indexOf('\n', position); + if (next === -1) { + line = string.slice(position); + position = length; + } else { + line = string.slice(position, next + 1); + position = next + 1; + } + + if (line.length && line !== '\n') result += ind; + + result += line; + } + + return result; +} + +function generateNextLine(state, level) { + return '\n' + common.repeat(' ', state.indent * level); +} + +function testImplicitResolving(state, str) { + var index, length, type; + + for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { + type = state.implicitTypes[index]; + + if (type.resolve(str)) { + return true; + } + } + + return false; +} + +// [33] s-white ::= s-space | s-tab +function isWhitespace(c) { + return c === CHAR_SPACE || c === CHAR_TAB; +} + +// Returns true if the character can be printed without escaping. +// From YAML 1.2: "any allowed characters known to be non-printable +// should also be escaped. [However,] This isn’t mandatory" +// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029. +function isPrintable(c) { + return (0x00020 <= c && c <= 0x00007E) + || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029) + || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */) + || (0x10000 <= c && c <= 0x10FFFF); +} + +// [34] ns-char ::= nb-char - s-white +// [27] nb-char ::= c-printable - b-char - c-byte-order-mark +// [26] b-char ::= b-line-feed | b-carriage-return +// [24] b-line-feed ::= #xA /* LF */ +// [25] b-carriage-return ::= #xD /* CR */ +// [3] c-byte-order-mark ::= #xFEFF +function isNsChar(c) { + return isPrintable(c) && !isWhitespace(c) + // byte-order-mark + && c !== 0xFEFF + // b-char + && c !== CHAR_CARRIAGE_RETURN + && c !== CHAR_LINE_FEED; +} + +// Simplified test for values allowed after the first character in plain style. +function isPlainSafe(c, prev) { + // Uses a subset of nb-char - c-flow-indicator - ":" - "#" + // where nb-char ::= c-printable - b-char - c-byte-order-mark. + return isPrintable(c) && c !== 0xFEFF + // - c-flow-indicator + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // - ":" - "#" + // /* An ns-char preceding */ "#" + && c !== CHAR_COLON + && ((c !== CHAR_SHARP) || (prev && isNsChar(prev))); +} + +// Simplified test for values allowed as the first character in plain style. +function isPlainSafeFirst(c) { + // Uses a subset of ns-char - c-indicator + // where ns-char = nb-char - s-white. + return isPrintable(c) && c !== 0xFEFF + && !isWhitespace(c) // - s-white + // - (c-indicator ::= + // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}” + && c !== CHAR_MINUS + && c !== CHAR_QUESTION + && c !== CHAR_COLON + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “"” + && c !== CHAR_SHARP + && c !== CHAR_AMPERSAND + && c !== CHAR_ASTERISK + && c !== CHAR_EXCLAMATION + && c !== CHAR_VERTICAL_LINE + && c !== CHAR_EQUALS + && c !== CHAR_GREATER_THAN + && c !== CHAR_SINGLE_QUOTE + && c !== CHAR_DOUBLE_QUOTE + // | “%” | “@” | “`”) + && c !== CHAR_PERCENT + && c !== CHAR_COMMERCIAL_AT + && c !== CHAR_GRAVE_ACCENT; +} + +// Determines whether block indentation indicator is required. +function needIndentIndicator(string) { + var leadingSpaceRe = /^\n* /; + return leadingSpaceRe.test(string); +} + +var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; + +// Determines which scalar styles are possible and returns the preferred style. +// lineWidth = -1 => no limit. +// Pre-conditions: str.length > 0. +// Post-conditions: +// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string. +// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1). +// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1). +function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) { + var i; + var char, prev_char; + var hasLineBreak = false; + var hasFoldableLine = false; // only checked if shouldTrackWidth + var shouldTrackWidth = lineWidth !== -1; + var previousLineBreak = -1; // count the first line correctly + var plain = isPlainSafeFirst(string.charCodeAt(0)) + && !isWhitespace(string.charCodeAt(string.length - 1)); + + if (singleLineOnly) { + // Case: no block styles. + // Check for disallowed characters to rule out plain and single. + for (i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + prev_char = i > 0 ? string.charCodeAt(i - 1) : null; + plain = plain && isPlainSafe(char, prev_char); + } + } else { + // Case: block styles permitted. + for (i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + if (char === CHAR_LINE_FEED) { + hasLineBreak = true; + // Check if any line can be folded. + if (shouldTrackWidth) { + hasFoldableLine = hasFoldableLine || + // Foldable line = too long, and not more-indented. + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' '); + previousLineBreak = i; + } + } else if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + prev_char = i > 0 ? string.charCodeAt(i - 1) : null; + plain = plain && isPlainSafe(char, prev_char); + } + // in case the end is missing a \n + hasFoldableLine = hasFoldableLine || (shouldTrackWidth && + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' ')); + } + // Although every style can represent \n without escaping, prefer block styles + // for multiline, since they're more readable and they don't add empty lines. + // Also prefer folding a super-long line. + if (!hasLineBreak && !hasFoldableLine) { + // Strings interpretable as another type have to be quoted; + // e.g. the string 'true' vs. the boolean true. + return plain && !testAmbiguousType(string) + ? STYLE_PLAIN : STYLE_SINGLE; + } + // Edge case: block indentation indicator can only have one digit. + if (indentPerLevel > 9 && needIndentIndicator(string)) { + return STYLE_DOUBLE; + } + // At this point we know block styles are valid. + // Prefer literal style unless we want to fold. + return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; +} + +// Note: line breaking/folding is implemented for only the folded style. +// NB. We drop the last trailing newline (if any) of a returned block scalar +// since the dumper adds its own newline. This always works: +// • No ending newline => unaffected; already using strip "-" chomping. +// • Ending newline => removed then restored. +// Importantly, this keeps the "+" chomp indicator from gaining an extra line. +function writeScalar(state, string, level, iskey) { + state.dump = (function () { + if (string.length === 0) { + return "''"; + } + if (!state.noCompatMode && + DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) { + return "'" + string + "'"; + } + + var indent = state.indent * Math.max(1, level); // no 0-indent scalars + // As indentation gets deeper, let the width decrease monotonically + // to the lower bound min(state.lineWidth, 40). + // Note that this implies + // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound. + // state.lineWidth > 40 + state.indent: width decreases until the lower bound. + // This behaves better than a constant minimum width which disallows narrower options, + // or an indent threshold which causes the width to suddenly increase. + var lineWidth = state.lineWidth === -1 + ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); + + // Without knowing if keys are implicit/explicit, assume implicit for safety. + var singleLineOnly = iskey + // No block styles in flow mode. + || (state.flowLevel > -1 && level >= state.flowLevel); + function testAmbiguity(string) { + return testImplicitResolving(state, string); + } + + switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) { + case STYLE_PLAIN: + return string; + case STYLE_SINGLE: + return "'" + string.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return '|' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(string, indent)); + case STYLE_FOLDED: + return '>' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); + case STYLE_DOUBLE: + return '"' + escapeString(string, lineWidth) + '"'; + default: + throw new YAMLException('impossible error: invalid scalar style'); + } + }()); +} + +// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9. +function blockHeader(string, indentPerLevel) { + var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; + + // note the special case: the string '\n' counts as a "trailing" empty line. + var clip = string[string.length - 1] === '\n'; + var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); + var chomp = keep ? '+' : (clip ? '' : '-'); + + return indentIndicator + chomp + '\n'; +} + +// (See the note for writeScalar.) +function dropEndingNewline(string) { + return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; +} + +// Note: a long line without a suitable break point will exceed the width limit. +// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0. +function foldString(string, width) { + // In folded style, $k$ consecutive newlines output as $k+1$ newlines— + // unless they're before or after a more-indented line, or at the very + // beginning or end, in which case $k$ maps to $k$. + // Therefore, parse each chunk as newline(s) followed by a content line. + var lineRe = /(\n+)([^\n]*)/g; + + // first line (possibly an empty line) + var result = (function () { + var nextLF = string.indexOf('\n'); + nextLF = nextLF !== -1 ? nextLF : string.length; + lineRe.lastIndex = nextLF; + return foldLine(string.slice(0, nextLF), width); + }()); + // If we haven't reached the first content line yet, don't add an extra \n. + var prevMoreIndented = string[0] === '\n' || string[0] === ' '; + var moreIndented; + + // rest of the lines + var match; + while ((match = lineRe.exec(string))) { + var prefix = match[1], line = match[2]; + moreIndented = (line[0] === ' '); + result += prefix + + (!prevMoreIndented && !moreIndented && line !== '' + ? '\n' : '') + + foldLine(line, width); + prevMoreIndented = moreIndented; + } + + return result; +} + +// Greedy line breaking. +// Picks the longest line under the limit each time, +// otherwise settles for the shortest line over the limit. +// NB. More-indented lines *cannot* be folded, as that would add an extra \n. +function foldLine(line, width) { + if (line === '' || line[0] === ' ') return line; + + // Since a more-indented line adds a \n, breaks can't be followed by a space. + var breakRe = / [^ ]/g; // note: the match index will always be <= length-2. + var match; + // start is an inclusive index. end, curr, and next are exclusive. + var start = 0, end, curr = 0, next = 0; + var result = ''; + + // Invariants: 0 <= start <= length-1. + // 0 <= curr <= next <= max(0, length-2). curr - start <= width. + // Inside the loop: + // A match implies length >= 2, so curr and next are <= length-2. + while ((match = breakRe.exec(line))) { + next = match.index; + // maintain invariant: curr - start <= width + if (next - start > width) { + end = (curr > start) ? curr : next; // derive end <= length-2 + result += '\n' + line.slice(start, end); + // skip the space that was output as \n + start = end + 1; // derive start <= length-1 + } + curr = next; + } + + // By the invariants, start <= length-1, so there is something left over. + // It is either the whole string or a part starting from non-whitespace. + result += '\n'; + // Insert a break if the remainder is too long and there is a break available. + if (line.length - start > width && curr > start) { + result += line.slice(start, curr) + '\n' + line.slice(curr + 1); + } else { + result += line.slice(start); + } + + return result.slice(1); // drop extra \n joiner +} + +// Escapes a double-quoted string. +function escapeString(string) { + var result = ''; + var char, nextChar; + var escapeSeq; + + for (var i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + // Check for surrogate pairs (reference Unicode 3.0 section "3.7 Surrogates"). + if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) { + nextChar = string.charCodeAt(i + 1); + if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) { + // Combine the surrogate pair and store it escaped. + result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000); + // Advance index one extra since we already used that char here. + i++; continue; + } + } + escapeSeq = ESCAPE_SEQUENCES[char]; + result += !escapeSeq && isPrintable(char) + ? string[i] + : escapeSeq || encodeHex(char); + } + + return result; +} + +function writeFlowSequence(state, level, object) { + var _result = '', + _tag = state.tag, + index, + length; + + for (index = 0, length = object.length; index < length; index += 1) { + // Write only valid elements. + if (writeNode(state, level, object[index], false, false)) { + if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : ''); + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = '[' + _result + ']'; +} + +function writeBlockSequence(state, level, object, compact) { + var _result = '', + _tag = state.tag, + index, + length; + + for (index = 0, length = object.length; index < length; index += 1) { + // Write only valid elements. + if (writeNode(state, level + 1, object[index], true, true)) { + if (!compact || index !== 0) { + _result += generateNextLine(state, level); + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + _result += '-'; + } else { + _result += '- '; + } + + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = _result || '[]'; // Empty sequence if no valid values. +} + +function writeFlowMapping(state, level, object) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + pairBuffer; + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + + pairBuffer = ''; + if (index !== 0) pairBuffer += ', '; + + if (state.condenseFlow) pairBuffer += '"'; + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (!writeNode(state, level, objectKey, false, false)) { + continue; // Skip this pair because of invalid key; + } + + if (state.dump.length > 1024) pairBuffer += '? '; + + pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); + + if (!writeNode(state, level, objectValue, false, false)) { + continue; // Skip this pair because of invalid value. + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = '{' + _result + '}'; +} + +function writeBlockMapping(state, level, object, compact) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair, + pairBuffer; + + // Allow sorting keys so that the output file is deterministic + if (state.sortKeys === true) { + // Default sorting + objectKeyList.sort(); + } else if (typeof state.sortKeys === 'function') { + // Custom sort function + objectKeyList.sort(state.sortKeys); + } else if (state.sortKeys) { + // Something is wrong + throw new YAMLException('sortKeys must be a boolean or a function'); + } + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + + if (!compact || index !== 0) { + pairBuffer += generateNextLine(state, level); + } + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (!writeNode(state, level + 1, objectKey, true, true, true)) { + continue; // Skip this pair because of invalid key. + } + + explicitPair = (state.tag !== null && state.tag !== '?') || + (state.dump && state.dump.length > 1024); + + if (explicitPair) { + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += '?'; + } else { + pairBuffer += '? '; + } + } + + pairBuffer += state.dump; + + if (explicitPair) { + pairBuffer += generateNextLine(state, level); + } + + if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { + continue; // Skip this pair because of invalid value. + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += ':'; + } else { + pairBuffer += ': '; + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = _result || '{}'; // Empty mapping if no valid pairs. +} + +function detectType(state, object, explicit) { + var _result, typeList, index, length, type, style; + + typeList = explicit ? state.explicitTypes : state.implicitTypes; + + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + + if ((type.instanceOf || type.predicate) && + (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) && + (!type.predicate || type.predicate(object))) { + + state.tag = explicit ? type.tag : '?'; + + if (type.represent) { + style = state.styleMap[type.tag] || type.defaultStyle; + + if (_toString.call(type.represent) === '[object Function]') { + _result = type.represent(object, style); + } else if (_hasOwnProperty.call(type.represent, style)) { + _result = type.represent[style](object, style); + } else { + throw new YAMLException('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + + state.dump = _result; + } + + return true; + } + } + + return false; +} + +// Serializes `object` and writes it to global `result`. +// Returns true on success, or false on invalid object. +// +function writeNode(state, level, object, block, compact, iskey) { + state.tag = null; + state.dump = object; + + if (!detectType(state, object, false)) { + detectType(state, object, true); + } + + var type = _toString.call(state.dump); + + if (block) { + block = (state.flowLevel < 0 || state.flowLevel > level); + } + + var objectOrArray = type === '[object Object]' || type === '[object Array]', + duplicateIndex, + duplicate; + + if (objectOrArray) { + duplicateIndex = state.duplicates.indexOf(object); + duplicate = duplicateIndex !== -1; + } + + if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) { + compact = false; + } + + if (duplicate && state.usedDuplicates[duplicateIndex]) { + state.dump = '*ref_' + duplicateIndex; + } else { + if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { + state.usedDuplicates[duplicateIndex] = true; + } + if (type === '[object Object]') { + if (block && (Object.keys(state.dump).length !== 0)) { + writeBlockMapping(state, level, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowMapping(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object Array]') { + var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level; + if (block && (state.dump.length !== 0)) { + writeBlockSequence(state, arrayLevel, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowSequence(state, arrayLevel, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object String]') { + if (state.tag !== '?') { + writeScalar(state, state.dump, level, iskey); + } + } else { + if (state.skipInvalid) return false; + throw new YAMLException('unacceptable kind of an object to dump ' + type); + } + + if (state.tag !== null && state.tag !== '?') { + state.dump = '!<' + state.tag + '> ' + state.dump; + } + } + + return true; +} + +function getDuplicateReferences(object, state) { + var objects = [], + duplicatesIndexes = [], + index, + length; + + inspectNode(object, objects, duplicatesIndexes); + + for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { + state.duplicates.push(objects[duplicatesIndexes[index]]); + } + state.usedDuplicates = new Array(length); +} + +function inspectNode(object, objects, duplicatesIndexes) { + var objectKeyList, + index, + length; + + if (object !== null && typeof object === 'object') { + index = objects.indexOf(object); + if (index !== -1) { + if (duplicatesIndexes.indexOf(index) === -1) { + duplicatesIndexes.push(index); + } + } else { + objects.push(object); + + if (Array.isArray(object)) { + for (index = 0, length = object.length; index < length; index += 1) { + inspectNode(object[index], objects, duplicatesIndexes); + } + } else { + objectKeyList = Object.keys(object); + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); + } + } + } + } +} + +function dump(input, options) { + options = options || {}; + + var state = new State(options); + + if (!state.noRefs) getDuplicateReferences(input, state); + + if (writeNode(state, 0, input, true, true)) return state.dump + '\n'; + + return ''; +} + +function safeDump(input, options) { + return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); +} + +module.exports.dump = dump; +module.exports.safeDump = safeDump; diff --git a/node_modules/js-yaml/lib/js-yaml/exception.js b/node_modules/js-yaml/lib/js-yaml/exception.js new file mode 100644 index 00000000..b744a1ee --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/exception.js @@ -0,0 +1,43 @@ +// YAML error class. http://stackoverflow.com/questions/8458984 +// +'use strict'; + +function YAMLException(reason, mark) { + // Super constructor + Error.call(this); + + this.name = 'YAMLException'; + this.reason = reason; + this.mark = mark; + this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : ''); + + // Include stack trace in error object + if (Error.captureStackTrace) { + // Chrome and NodeJS + Error.captureStackTrace(this, this.constructor); + } else { + // FF, IE 10+ and Safari 6+. Fallback for others + this.stack = (new Error()).stack || ''; + } +} + + +// Inherit from Error +YAMLException.prototype = Object.create(Error.prototype); +YAMLException.prototype.constructor = YAMLException; + + +YAMLException.prototype.toString = function toString(compact) { + var result = this.name + ': '; + + result += this.reason || '(unknown reason)'; + + if (!compact && this.mark) { + result += ' ' + this.mark.toString(); + } + + return result; +}; + + +module.exports = YAMLException; diff --git a/node_modules/js-yaml/lib/js-yaml/loader.js b/node_modules/js-yaml/lib/js-yaml/loader.js new file mode 100644 index 00000000..d7484a59 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/loader.js @@ -0,0 +1,1644 @@ +'use strict'; + +/*eslint-disable max-len,no-use-before-define*/ + +var common = require('./common'); +var YAMLException = require('./exception'); +var Mark = require('./mark'); +var DEFAULT_SAFE_SCHEMA = require('./schema/default_safe'); +var DEFAULT_FULL_SCHEMA = require('./schema/default_full'); + + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + + +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; + + +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; + + +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + + +function _class(obj) { return Object.prototype.toString.call(obj); } + +function is_EOL(c) { + return (c === 0x0A/* LF */) || (c === 0x0D/* CR */); +} + +function is_WHITE_SPACE(c) { + return (c === 0x09/* Tab */) || (c === 0x20/* Space */); +} + +function is_WS_OR_EOL(c) { + return (c === 0x09/* Tab */) || + (c === 0x20/* Space */) || + (c === 0x0A/* LF */) || + (c === 0x0D/* CR */); +} + +function is_FLOW_INDICATOR(c) { + return c === 0x2C/* , */ || + c === 0x5B/* [ */ || + c === 0x5D/* ] */ || + c === 0x7B/* { */ || + c === 0x7D/* } */; +} + +function fromHexCode(c) { + var lc; + + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + /*eslint-disable no-bitwise*/ + lc = c | 0x20; + + if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) { + return lc - 0x61 + 10; + } + + return -1; +} + +function escapedHexLen(c) { + if (c === 0x78/* x */) { return 2; } + if (c === 0x75/* u */) { return 4; } + if (c === 0x55/* U */) { return 8; } + return 0; +} + +function fromDecimalCode(c) { + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + return -1; +} + +function simpleEscapeSequence(c) { + /* eslint-disable indent */ + return (c === 0x30/* 0 */) ? '\x00' : + (c === 0x61/* a */) ? '\x07' : + (c === 0x62/* b */) ? '\x08' : + (c === 0x74/* t */) ? '\x09' : + (c === 0x09/* Tab */) ? '\x09' : + (c === 0x6E/* n */) ? '\x0A' : + (c === 0x76/* v */) ? '\x0B' : + (c === 0x66/* f */) ? '\x0C' : + (c === 0x72/* r */) ? '\x0D' : + (c === 0x65/* e */) ? '\x1B' : + (c === 0x20/* Space */) ? ' ' : + (c === 0x22/* " */) ? '\x22' : + (c === 0x2F/* / */) ? '/' : + (c === 0x5C/* \ */) ? '\x5C' : + (c === 0x4E/* N */) ? '\x85' : + (c === 0x5F/* _ */) ? '\xA0' : + (c === 0x4C/* L */) ? '\u2028' : + (c === 0x50/* P */) ? '\u2029' : ''; +} + +function charFromCodepoint(c) { + if (c <= 0xFFFF) { + return String.fromCharCode(c); + } + // Encode UTF-16 surrogate pair + // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF + return String.fromCharCode( + ((c - 0x010000) >> 10) + 0xD800, + ((c - 0x010000) & 0x03FF) + 0xDC00 + ); +} + +var simpleEscapeCheck = new Array(256); // integer, for fast access +var simpleEscapeMap = new Array(256); +for (var i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); +} + + +function State(input, options) { + this.input = input; + + this.filename = options['filename'] || null; + this.schema = options['schema'] || DEFAULT_FULL_SCHEMA; + this.onWarning = options['onWarning'] || null; + this.legacy = options['legacy'] || false; + this.json = options['json'] || false; + this.listener = options['listener'] || null; + + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; + + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; + + this.documents = []; + + /* + this.version; + this.checkLineBreaks; + this.tagMap; + this.anchorMap; + this.tag; + this.anchor; + this.kind; + this.result;*/ + +} + + +function generateError(state, message) { + return new YAMLException( + message, + new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart))); +} + +function throwError(state, message) { + throw generateError(state, message); +} + +function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } +} + + +var directiveHandlers = { + + YAML: function handleYamlDirective(state, name, args) { + + var match, major, minor; + + if (state.version !== null) { + throwError(state, 'duplication of %YAML directive'); + } + + if (args.length !== 1) { + throwError(state, 'YAML directive accepts exactly one argument'); + } + + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + + if (match === null) { + throwError(state, 'ill-formed argument of the YAML directive'); + } + + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + + if (major !== 1) { + throwError(state, 'unacceptable YAML version of the document'); + } + + state.version = args[0]; + state.checkLineBreaks = (minor < 2); + + if (minor !== 1 && minor !== 2) { + throwWarning(state, 'unsupported YAML version of the document'); + } + }, + + TAG: function handleTagDirective(state, name, args) { + + var handle, prefix; + + if (args.length !== 2) { + throwError(state, 'TAG directive accepts exactly two arguments'); + } + + handle = args[0]; + prefix = args[1]; + + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); + } + + if (_hasOwnProperty.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } + + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); + } + + state.tagMap[handle] = prefix; + } +}; + + +function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; + + if (start < end) { + _result = state.input.slice(start, end); + + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 0x09 || + (0x20 <= _character && _character <= 0x10FFFF))) { + throwError(state, 'expected valid JSON character'); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, 'the stream contains non-printable characters'); + } + + state.result += _result; + } +} + +function mergeMappings(state, destination, source, overridableKeys) { + var sourceKeys, key, index, quantity; + + if (!common.isObject(source)) { + throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); + } + + sourceKeys = Object.keys(source); + + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; + + if (!_hasOwnProperty.call(destination, key)) { + destination[key] = source[key]; + overridableKeys[key] = true; + } + } +} + +function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) { + var index, quantity; + + // The output is a plain object here, so keys can only be strings. + // We need to convert keyNode to a string, but doing so can hang the process + // (deeply nested arrays that explode exponentially using aliases). + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); + + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, 'nested arrays are not supported inside keys'); + } + + if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') { + keyNode[index] = '[object Object]'; + } + } + } + + // Avoid code execution in load() via toString property + // (still use its own toString for arrays, timestamps, + // and whatever user schema extensions happen to have @@toStringTag) + if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') { + keyNode = '[object Object]'; + } + + + keyNode = String(keyNode); + + if (_result === null) { + _result = {}; + } + + if (keyTag === 'tag:yaml.org,2002:merge') { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if (!state.json && + !_hasOwnProperty.call(overridableKeys, keyNode) && + _hasOwnProperty.call(_result, keyNode)) { + state.line = startLine || state.line; + state.position = startPos || state.position; + throwError(state, 'duplicated mapping key'); + } + _result[keyNode] = valueNode; + delete overridableKeys[keyNode]; + } + + return _result; +} + +function readLineBreak(state) { + var ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x0A/* LF */) { + state.position++; + } else if (ch === 0x0D/* CR */) { + state.position++; + if (state.input.charCodeAt(state.position) === 0x0A/* LF */) { + state.position++; + } + } else { + throwError(state, 'a line break is expected'); + } + + state.line += 1; + state.lineStart = state.position; +} + +function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (allowComments && ch === 0x23/* # */) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0); + } + + if (is_EOL(ch)) { + readLineBreak(state); + + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; + + while (ch === 0x20/* Space */) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, 'deficient indentation'); + } + + return lineBreaks; +} + +function testDocumentSeparator(state) { + var _position = state.position, + ch; + + ch = state.input.charCodeAt(_position); + + // Condition state.position === state.lineStart is tested + // in parent on each call, for efficiency. No needs to test here again. + if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) && + ch === state.input.charCodeAt(_position + 1) && + ch === state.input.charCodeAt(_position + 2)) { + + _position += 3; + + ch = state.input.charCodeAt(_position); + + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } + + return false; +} + +function writeFoldedLines(state, count) { + if (count === 1) { + state.result += ' '; + } else if (count > 1) { + state.result += common.repeat('\n', count - 1); + } +} + + +function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = state.kind, + _result = state.result, + ch; + + ch = state.input.charCodeAt(state.position); + + if (is_WS_OR_EOL(ch) || + is_FLOW_INDICATOR(ch) || + ch === 0x23/* # */ || + ch === 0x26/* & */ || + ch === 0x2A/* * */ || + ch === 0x21/* ! */ || + ch === 0x7C/* | */ || + ch === 0x3E/* > */ || + ch === 0x27/* ' */ || + ch === 0x22/* " */ || + ch === 0x25/* % */ || + ch === 0x40/* @ */ || + ch === 0x60/* ` */) { + return false; + } + + if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + return false; + } + } + + state.kind = 'scalar'; + state.result = ''; + captureStart = captureEnd = state.position; + hasPendingContent = false; + + while (ch !== 0) { + if (ch === 0x3A/* : */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + break; + } + + } else if (ch === 0x23/* # */) { + preceding = state.input.charCodeAt(state.position - 1); + + if (is_WS_OR_EOL(preceding)) { + break; + } + + } else if ((state.position === state.lineStart && testDocumentSeparator(state)) || + withinFlowCollection && is_FLOW_INDICATOR(ch)) { + break; + + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } + + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } + + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } + + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, captureEnd, false); + + if (state.result) { + return true; + } + + state.kind = _kind; + state.result = _result; + return false; +} + +function readSingleQuotedScalar(state, nodeIndent) { + var ch, + captureStart, captureEnd; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x27/* ' */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x27/* ' */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x27/* ' */) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a single quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a single quoted scalar'); +} + +function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, + captureEnd, + hexLength, + hexResult, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x22/* " */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x22/* " */) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + + } else if (ch === 0x5C/* \ */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + + // TODO: rework to inline fn with no type cast? + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + + } else { + throwError(state, 'expected hexadecimal character'); + } + } + + state.result += charFromCodepoint(hexResult); + + state.position++; + + } else { + throwError(state, 'unknown escape sequence'); + } + + captureStart = captureEnd = state.position; + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a double quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a double quoted scalar'); +} + +function readFlowCollection(state, nodeIndent) { + var readNext = true, + _line, + _tag = state.tag, + _result, + _anchor = state.anchor, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + overridableKeys = {}, + keyNode, + keyTag, + valueNode, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x5B/* [ */) { + terminator = 0x5D;/* ] */ + isMapping = false; + _result = []; + } else if (ch === 0x7B/* { */) { + terminator = 0x7D;/* } */ + isMapping = true; + _result = {}; + } else { + return false; + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(++state.position); + + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? 'mapping' : 'sequence'; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, 'missed comma between flow collection entries'); + } + + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + + if (ch === 0x3F/* ? */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } + + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode)); + } else { + _result.push(keyNode); + } + + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x2C/* , */) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } + + throwError(state, 'unexpected end of the stream within a flow collection'); +} + +function readBlockScalar(state, nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + didReadContent = false, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = 0, + atMoreIndented = false, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x7C/* | */) { + folding = false; + } else if (ch === 0x3E/* > */) { + folding = true; + } else { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x2B/* + */ || ch === 0x2D/* - */) { + if (CHOMPING_CLIP === chomping) { + chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, 'repeat of a chomping mode identifier'); + } + + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, 'repeat of an indentation width identifier'); + } + + } else { + break; + } + } + + if (is_WHITE_SPACE(ch)) { + do { ch = state.input.charCodeAt(++state.position); } + while (is_WHITE_SPACE(ch)); + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (!is_EOL(ch) && (ch !== 0)); + } + } + + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + + ch = state.input.charCodeAt(state.position); + + while ((!detectedIndent || state.lineIndent < textIndent) && + (ch === 0x20/* Space */)) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } + + if (is_EOL(ch)) { + emptyLines++; + continue; + } + + // End of the scalar. + if (state.lineIndent < textIndent) { + + // Perform the chomping. + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { // i.e. only if the scalar is not empty. + state.result += '\n'; + } + } + + // Break this `while` cycle and go to the funciton's epilogue. + break; + } + + // Folded style: use fancy rules to handle line breaks. + if (folding) { + + // Lines starting with white space characters (more-indented lines) are not folded. + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + // except for the first content line (cf. Example 8.1) + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + + // End of more-indented block. + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat('\n', emptyLines + 1); + + // Just one line break - perceive as the same line. + } else if (emptyLines === 0) { + if (didReadContent) { // i.e. only if we have already read some scalar content. + state.result += ' '; + } + + // Several line breaks - perceive as different lines. + } else { + state.result += common.repeat('\n', emptyLines); + } + + // Literal style: just add exact number of line breaks between content lines. + } else { + // Keep all line breaks except the header line break. + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } + + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; + + while (!is_EOL(ch) && (ch !== 0)) { + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, state.position, false); + } + + return true; +} + +function readBlockSequence(state, nodeIndent) { + var _line, + _tag = state.tag, + _anchor = state.anchor, + _result = [], + following, + detected = false, + ch; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + + if (ch !== 0x2D/* - */) { + break; + } + + following = state.input.charCodeAt(state.position + 1); + + if (!is_WS_OR_EOL(following)) { + break; + } + + detected = true; + state.position++; + + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { + throwError(state, 'bad indentation of a sequence entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'sequence'; + state.result = _result; + return true; + } + return false; +} + +function readBlockMapping(state, nodeIndent, flowIndent) { + var following, + allowCompact, + _line, + _pos, + _tag = state.tag, + _anchor = state.anchor, + _result = {}, + overridableKeys = {}, + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false, + ch; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + following = state.input.charCodeAt(state.position + 1); + _line = state.line; // Save the current line. + _pos = state.position; + + // + // Explicit notation case. There are two separate blocks: + // first for the key (denoted by "?") and second for the value (denoted by ":") + // + if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) { + + if (ch === 0x3F/* ? */) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = true; + allowCompact = true; + + } else if (atExplicitKey) { + // i.e. 0x3A/* : */ === character after the explicit key. + atExplicitKey = false; + allowCompact = true; + + } else { + throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); + } + + state.position += 1; + ch = following; + + // + // Implicit notation case. Flow-style node as the key first, then ":", and the value. + // + } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); + + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x3A/* : */) { + ch = state.input.charCodeAt(++state.position); + + if (!is_WS_OR_EOL(ch)) { + throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); + } + + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + + } else if (detected) { + throwError(state, 'can not read an implicit mapping pair; a colon is missed'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else if (detected) { + throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else { + break; // Reading is done. Go to the epilogue. + } + + // + // Common reading code for both explicit and implicit notations. + // + if (state.line === _line || state.lineIndent > nodeIndent) { + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } + + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos); + keyTag = keyNode = valueNode = null; + } + + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } + + if (state.lineIndent > nodeIndent && (ch !== 0)) { + throwError(state, 'bad indentation of a mapping entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + // + // Epilogue. + // + + // Special case: last mapping's node contains only the key in explicit notation. + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + } + + // Expose the resulting mapping. + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'mapping'; + state.result = _result; + } + + return detected; +} + +function readTagProperty(state) { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x21/* ! */) return false; + + if (state.tag !== null) { + throwError(state, 'duplication of a tag property'); + } + + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x3C/* < */) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + + } else if (ch === 0x21/* ! */) { + isNamed = true; + tagHandle = '!!'; + ch = state.input.charCodeAt(++state.position); + + } else { + tagHandle = '!'; + } + + _position = state.position; + + if (isVerbatim) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && ch !== 0x3E/* > */); + + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, 'unexpected end of the stream within a verbatim tag'); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + + if (ch === 0x21/* ! */) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); + + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, 'named tag handle cannot contain such characters'); + } + + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, 'tag suffix cannot contain exclamation marks'); + } + } + + ch = state.input.charCodeAt(++state.position); + } + + tagName = state.input.slice(_position, state.position); + + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, 'tag suffix cannot contain flow indicator characters'); + } + } + + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, 'tag name cannot contain such characters: ' + tagName); + } + + if (isVerbatim) { + state.tag = tagName; + + } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + + } else if (tagHandle === '!') { + state.tag = '!' + tagName; + + } else if (tagHandle === '!!') { + state.tag = 'tag:yaml.org,2002:' + tagName; + + } else { + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); + } + + return true; +} + +function readAnchorProperty(state) { + var _position, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x26/* & */) return false; + + if (state.anchor !== null) { + throwError(state, 'duplication of an anchor property'); + } + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an anchor node must contain at least one character'); + } + + state.anchor = state.input.slice(_position, state.position); + return true; +} + +function readAlias(state) { + var _position, alias, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x2A/* * */) return false; + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an alias node must contain at least one character'); + } + + alias = state.input.slice(_position, state.position); + + if (!_hasOwnProperty.call(state.anchorMap, alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } + + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; +} + +function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } + + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } + + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + + blockIndent = state.position - state.lineStart; + + if (indentStatus === 1) { + if (allowBlockCollections && + (readBlockSequence(state, blockIndent) || + readBlockMapping(state, blockIndent, flowIndent)) || + readFlowCollection(state, flowIndent)) { + hasContent = true; + } else { + if ((allowBlockScalars && readBlockScalar(state, flowIndent)) || + readSingleQuotedScalar(state, flowIndent) || + readDoubleQuotedScalar(state, flowIndent)) { + hasContent = true; + + } else if (readAlias(state)) { + hasContent = true; + + if (state.tag !== null || state.anchor !== null) { + throwError(state, 'alias node should not have any properties'); + } + + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + + if (state.tag === null) { + state.tag = '?'; + } + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + // Special case: block sequences are allowed to have same indentation level as the parent. + // http://www.yaml.org/spec/1.2/spec.html#id2799784 + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } + + if (state.tag !== null && state.tag !== '!') { + if (state.tag === '?') { + // Implicit resolving is not allowed for non-scalar types, and '?' + // non-specific tag is only automatically assigned to plain scalars. + // + // We only need to check kind conformity in case user explicitly assigns '?' + // tag, for example like this: "! [0]" + // + if (state.result !== null && state.kind !== 'scalar') { + throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"'); + } + + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type = state.implicitTypes[typeIndex]; + + if (type.resolve(state.result)) { // `state.result` updated in resolver if matched + state.result = type.construct(state.result); + state.tag = type.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) { + type = state.typeMap[state.kind || 'fallback'][state.tag]; + + if (state.result !== null && type.kind !== state.kind) { + throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); + } + + if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched + throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); + } else { + state.result = type.construct(state.result); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else { + throwError(state, 'unknown tag !<' + state.tag + '>'); + } + } + + if (state.listener !== null) { + state.listener('close', state); + } + return state.tag !== null || state.anchor !== null || hasContent; +} + +function readDocument(state) { + var documentStart = state.position, + _position, + directiveName, + directiveArgs, + hasDirectives = false, + ch; + + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = {}; + state.anchorMap = {}; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if (state.lineIndent > 0 || ch !== 0x25/* % */) { + break; + } + + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; + + if (directiveName.length < 1) { + throwError(state, 'directive name must not be less than one character in length'); + } + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && !is_EOL(ch)); + break; + } + + if (is_EOL(ch)) break; + + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveArgs.push(state.input.slice(_position, state.position)); + } + + if (ch !== 0) readLineBreak(state); + + if (_hasOwnProperty.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } + + skipSeparationSpace(state, true, -1); + + if (state.lineIndent === 0 && + state.input.charCodeAt(state.position) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 1) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 2) === 0x2D/* - */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + + } else if (hasDirectives) { + throwError(state, 'directives end mark is expected'); + } + + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); + + if (state.checkLineBreaks && + PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { + throwWarning(state, 'non-ASCII line breaks are interpreted as content'); + } + + state.documents.push(state.result); + + if (state.position === state.lineStart && testDocumentSeparator(state)) { + + if (state.input.charCodeAt(state.position) === 0x2E/* . */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } + + if (state.position < (state.length - 1)) { + throwError(state, 'end of the stream or a document separator is expected'); + } else { + return; + } +} + + +function loadDocuments(input, options) { + input = String(input); + options = options || {}; + + if (input.length !== 0) { + + // Add tailing `\n` if not exists + if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ && + input.charCodeAt(input.length - 1) !== 0x0D/* CR */) { + input += '\n'; + } + + // Strip BOM + if (input.charCodeAt(0) === 0xFEFF) { + input = input.slice(1); + } + } + + var state = new State(input, options); + + var nullpos = input.indexOf('\0'); + + if (nullpos !== -1) { + state.position = nullpos; + throwError(state, 'null byte is not allowed in input'); + } + + // Use 0 as string terminator. That significantly simplifies bounds check. + state.input += '\0'; + + while (state.input.charCodeAt(state.position) === 0x20/* Space */) { + state.lineIndent += 1; + state.position += 1; + } + + while (state.position < (state.length - 1)) { + readDocument(state); + } + + return state.documents; +} + + +function loadAll(input, iterator, options) { + if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + + var documents = loadDocuments(input, options); + + if (typeof iterator !== 'function') { + return documents; + } + + for (var index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } +} + + +function load(input, options) { + var documents = loadDocuments(input, options); + + if (documents.length === 0) { + /*eslint-disable no-undefined*/ + return undefined; + } else if (documents.length === 1) { + return documents[0]; + } + throw new YAMLException('expected a single document in the stream, but found more'); +} + + +function safeLoadAll(input, iterator, options) { + if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + + return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); +} + + +function safeLoad(input, options) { + return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); +} + + +module.exports.loadAll = loadAll; +module.exports.load = load; +module.exports.safeLoadAll = safeLoadAll; +module.exports.safeLoad = safeLoad; diff --git a/node_modules/js-yaml/lib/js-yaml/mark.js b/node_modules/js-yaml/lib/js-yaml/mark.js new file mode 100644 index 00000000..47b265c2 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/mark.js @@ -0,0 +1,76 @@ +'use strict'; + + +var common = require('./common'); + + +function Mark(name, buffer, position, line, column) { + this.name = name; + this.buffer = buffer; + this.position = position; + this.line = line; + this.column = column; +} + + +Mark.prototype.getSnippet = function getSnippet(indent, maxLength) { + var head, start, tail, end, snippet; + + if (!this.buffer) return null; + + indent = indent || 4; + maxLength = maxLength || 75; + + head = ''; + start = this.position; + + while (start > 0 && '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) { + start -= 1; + if (this.position - start > (maxLength / 2 - 1)) { + head = ' ... '; + start += 5; + break; + } + } + + tail = ''; + end = this.position; + + while (end < this.buffer.length && '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(end)) === -1) { + end += 1; + if (end - this.position > (maxLength / 2 - 1)) { + tail = ' ... '; + end -= 5; + break; + } + } + + snippet = this.buffer.slice(start, end); + + return common.repeat(' ', indent) + head + snippet + tail + '\n' + + common.repeat(' ', indent + this.position - start + head.length) + '^'; +}; + + +Mark.prototype.toString = function toString(compact) { + var snippet, where = ''; + + if (this.name) { + where += 'in "' + this.name + '" '; + } + + where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1); + + if (!compact) { + snippet = this.getSnippet(); + + if (snippet) { + where += ':\n' + snippet; + } + } + + return where; +}; + + +module.exports = Mark; diff --git a/node_modules/js-yaml/lib/js-yaml/schema.js b/node_modules/js-yaml/lib/js-yaml/schema.js new file mode 100644 index 00000000..ca7cf47e --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/schema.js @@ -0,0 +1,108 @@ +'use strict'; + +/*eslint-disable max-len*/ + +var common = require('./common'); +var YAMLException = require('./exception'); +var Type = require('./type'); + + +function compileList(schema, name, result) { + var exclude = []; + + schema.include.forEach(function (includedSchema) { + result = compileList(includedSchema, name, result); + }); + + schema[name].forEach(function (currentType) { + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) { + exclude.push(previousIndex); + } + }); + + result.push(currentType); + }); + + return result.filter(function (type, index) { + return exclude.indexOf(index) === -1; + }); +} + + +function compileMap(/* lists... */) { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {} + }, index, length; + + function collectType(type) { + result[type.kind][type.tag] = result['fallback'][type.tag] = type; + } + + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; +} + + +function Schema(definition) { + this.include = definition.include || []; + this.implicit = definition.implicit || []; + this.explicit = definition.explicit || []; + + this.implicit.forEach(function (type) { + if (type.loadKind && type.loadKind !== 'scalar') { + throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); + } + }); + + this.compiledImplicit = compileList(this, 'implicit', []); + this.compiledExplicit = compileList(this, 'explicit', []); + this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit); +} + + +Schema.DEFAULT = null; + + +Schema.create = function createSchema() { + var schemas, types; + + switch (arguments.length) { + case 1: + schemas = Schema.DEFAULT; + types = arguments[0]; + break; + + case 2: + schemas = arguments[0]; + types = arguments[1]; + break; + + default: + throw new YAMLException('Wrong number of arguments for Schema.create function'); + } + + schemas = common.toArray(schemas); + types = common.toArray(types); + + if (!schemas.every(function (schema) { return schema instanceof Schema; })) { + throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.'); + } + + if (!types.every(function (type) { return type instanceof Type; })) { + throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + + return new Schema({ + include: schemas, + explicit: types + }); +}; + + +module.exports = Schema; diff --git a/node_modules/js-yaml/lib/js-yaml/schema/core.js b/node_modules/js-yaml/lib/js-yaml/schema/core.js new file mode 100644 index 00000000..206daab5 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/schema/core.js @@ -0,0 +1,18 @@ +// Standard YAML's Core schema. +// http://www.yaml.org/spec/1.2/spec.html#id2804923 +// +// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. +// So, Core schema has no distinctions from JSON schema is JS-YAML. + + +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = new Schema({ + include: [ + require('./json') + ] +}); diff --git a/node_modules/js-yaml/lib/js-yaml/schema/default_full.js b/node_modules/js-yaml/lib/js-yaml/schema/default_full.js new file mode 100644 index 00000000..a55ef42a --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/schema/default_full.js @@ -0,0 +1,25 @@ +// JS-YAML's default schema for `load` function. +// It is not described in the YAML specification. +// +// This schema is based on JS-YAML's default safe schema and includes +// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function. +// +// Also this schema is used as default base schema at `Schema.create` function. + + +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = Schema.DEFAULT = new Schema({ + include: [ + require('./default_safe') + ], + explicit: [ + require('../type/js/undefined'), + require('../type/js/regexp'), + require('../type/js/function') + ] +}); diff --git a/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js b/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js new file mode 100644 index 00000000..11d89bbf --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js @@ -0,0 +1,28 @@ +// JS-YAML's default schema for `safeLoad` function. +// It is not described in the YAML specification. +// +// This schema is based on standard YAML's Core schema and includes most of +// extra types described at YAML tag repository. (http://yaml.org/type/) + + +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = new Schema({ + include: [ + require('./core') + ], + implicit: [ + require('../type/timestamp'), + require('../type/merge') + ], + explicit: [ + require('../type/binary'), + require('../type/omap'), + require('../type/pairs'), + require('../type/set') + ] +}); diff --git a/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js b/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js new file mode 100644 index 00000000..b7a33eb7 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js @@ -0,0 +1,17 @@ +// Standard YAML's Failsafe schema. +// http://www.yaml.org/spec/1.2/spec.html#id2802346 + + +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = new Schema({ + explicit: [ + require('../type/str'), + require('../type/seq'), + require('../type/map') + ] +}); diff --git a/node_modules/js-yaml/lib/js-yaml/schema/json.js b/node_modules/js-yaml/lib/js-yaml/schema/json.js new file mode 100644 index 00000000..5be3dbf8 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/schema/json.js @@ -0,0 +1,25 @@ +// Standard YAML's JSON schema. +// http://www.yaml.org/spec/1.2/spec.html#id2803231 +// +// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. +// So, this schema is not such strict as defined in the YAML specification. +// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc. + + +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = new Schema({ + include: [ + require('./failsafe') + ], + implicit: [ + require('../type/null'), + require('../type/bool'), + require('../type/int'), + require('../type/float') + ] +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type.js b/node_modules/js-yaml/lib/js-yaml/type.js new file mode 100644 index 00000000..90b702ac --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type.js @@ -0,0 +1,61 @@ +'use strict'; + +var YAMLException = require('./exception'); + +var TYPE_CONSTRUCTOR_OPTIONS = [ + 'kind', + 'resolve', + 'construct', + 'instanceOf', + 'predicate', + 'represent', + 'defaultStyle', + 'styleAliases' +]; + +var YAML_NODE_KINDS = [ + 'scalar', + 'sequence', + 'mapping' +]; + +function compileStyleAliases(map) { + var result = {}; + + if (map !== null) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } + + return result; +} + +function Type(tag, options) { + options = options || {}; + + Object.keys(options).forEach(function (name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + + // TODO: Add tag format check. + this.tag = tag; + this.kind = options['kind'] || null; + this.resolve = options['resolve'] || function () { return true; }; + this.construct = options['construct'] || function (data) { return data; }; + this.instanceOf = options['instanceOf'] || null; + this.predicate = options['predicate'] || null; + this.represent = options['represent'] || null; + this.defaultStyle = options['defaultStyle'] || null; + this.styleAliases = compileStyleAliases(options['styleAliases'] || null); + + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } +} + +module.exports = Type; diff --git a/node_modules/js-yaml/lib/js-yaml/type/binary.js b/node_modules/js-yaml/lib/js-yaml/type/binary.js new file mode 100644 index 00000000..10b18755 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/binary.js @@ -0,0 +1,138 @@ +'use strict'; + +/*eslint-disable no-bitwise*/ + +var NodeBuffer; + +try { + // A trick for browserified version, to not include `Buffer` shim + var _require = require; + NodeBuffer = _require('buffer').Buffer; +} catch (__) {} + +var Type = require('../type'); + + +// [ 64, 65, 66 ] -> [ padding, CR, LF ] +var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; + + +function resolveYamlBinary(data) { + if (data === null) return false; + + var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP; + + // Convert one by one. + for (idx = 0; idx < max; idx++) { + code = map.indexOf(data.charAt(idx)); + + // Skip CR/LF + if (code > 64) continue; + + // Fail on illegal characters + if (code < 0) return false; + + bitlen += 6; + } + + // If there are any bits left, source was corrupted + return (bitlen % 8) === 0; +} + +function constructYamlBinary(data) { + var idx, tailbits, + input = data.replace(/[\r\n=]/g, ''), // remove CR/LF & padding to simplify scan + max = input.length, + map = BASE64_MAP, + bits = 0, + result = []; + + // Collect by 6*4 bits (3 bytes) + + for (idx = 0; idx < max; idx++) { + if ((idx % 4 === 0) && idx) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } + + bits = (bits << 6) | map.indexOf(input.charAt(idx)); + } + + // Dump tail + + tailbits = (max % 4) * 6; + + if (tailbits === 0) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } else if (tailbits === 18) { + result.push((bits >> 10) & 0xFF); + result.push((bits >> 2) & 0xFF); + } else if (tailbits === 12) { + result.push((bits >> 4) & 0xFF); + } + + // Wrap into Buffer for NodeJS and leave Array for browser + if (NodeBuffer) { + // Support node 6.+ Buffer API when available + return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result); + } + + return result; +} + +function representYamlBinary(object /*, style*/) { + var result = '', bits = 0, idx, tail, + max = object.length, + map = BASE64_MAP; + + // Convert every three bytes to 4 ASCII characters. + + for (idx = 0; idx < max; idx++) { + if ((idx % 3 === 0) && idx) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } + + bits = (bits << 8) + object[idx]; + } + + // Dump tail + + tail = max % 3; + + if (tail === 0) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } else if (tail === 2) { + result += map[(bits >> 10) & 0x3F]; + result += map[(bits >> 4) & 0x3F]; + result += map[(bits << 2) & 0x3F]; + result += map[64]; + } else if (tail === 1) { + result += map[(bits >> 2) & 0x3F]; + result += map[(bits << 4) & 0x3F]; + result += map[64]; + result += map[64]; + } + + return result; +} + +function isBinary(object) { + return NodeBuffer && NodeBuffer.isBuffer(object); +} + +module.exports = new Type('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/bool.js b/node_modules/js-yaml/lib/js-yaml/type/bool.js new file mode 100644 index 00000000..cb774593 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/bool.js @@ -0,0 +1,35 @@ +'use strict'; + +var Type = require('../type'); + +function resolveYamlBoolean(data) { + if (data === null) return false; + + var max = data.length; + + return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) || + (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE')); +} + +function constructYamlBoolean(data) { + return data === 'true' || + data === 'True' || + data === 'TRUE'; +} + +function isBoolean(object) { + return Object.prototype.toString.call(object) === '[object Boolean]'; +} + +module.exports = new Type('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function (object) { return object ? 'true' : 'false'; }, + uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, + camelcase: function (object) { return object ? 'True' : 'False'; } + }, + defaultStyle: 'lowercase' +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/float.js b/node_modules/js-yaml/lib/js-yaml/type/float.js new file mode 100644 index 00000000..127671b2 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/float.js @@ -0,0 +1,116 @@ +'use strict'; + +var common = require('../common'); +var Type = require('../type'); + +var YAML_FLOAT_PATTERN = new RegExp( + // 2.5e4, 2.5 and integers + '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + + // .2e4, .2 + // special case, seems not from spec + '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + + // 20:59 + '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*' + + // .inf + '|[-+]?\\.(?:inf|Inf|INF)' + + // .nan + '|\\.(?:nan|NaN|NAN))$'); + +function resolveYamlFloat(data) { + if (data === null) return false; + + if (!YAML_FLOAT_PATTERN.test(data) || + // Quick hack to not allow integers end with `_` + // Probably should update regexp & check speed + data[data.length - 1] === '_') { + return false; + } + + return true; +} + +function constructYamlFloat(data) { + var value, sign, base, digits; + + value = data.replace(/_/g, '').toLowerCase(); + sign = value[0] === '-' ? -1 : 1; + digits = []; + + if ('+-'.indexOf(value[0]) >= 0) { + value = value.slice(1); + } + + if (value === '.inf') { + return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + + } else if (value === '.nan') { + return NaN; + + } else if (value.indexOf(':') >= 0) { + value.split(':').forEach(function (v) { + digits.unshift(parseFloat(v, 10)); + }); + + value = 0.0; + base = 1; + + digits.forEach(function (d) { + value += d * base; + base *= 60; + }); + + return sign * value; + + } + return sign * parseFloat(value, 10); +} + + +var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; + +function representYamlFloat(object, style) { + var res; + + if (isNaN(object)) { + switch (style) { + case 'lowercase': return '.nan'; + case 'uppercase': return '.NAN'; + case 'camelcase': return '.NaN'; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '.inf'; + case 'uppercase': return '.INF'; + case 'camelcase': return '.Inf'; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '-.inf'; + case 'uppercase': return '-.INF'; + case 'camelcase': return '-.Inf'; + } + } else if (common.isNegativeZero(object)) { + return '-0.0'; + } + + res = object.toString(10); + + // JS stringifier can build scientific format without dots: 5e-100, + // while YAML requres dot: 5.e-100. Fix it with simple hack + + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; +} + +function isFloat(object) { + return (Object.prototype.toString.call(object) === '[object Number]') && + (object % 1 !== 0 || common.isNegativeZero(object)); +} + +module.exports = new Type('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: 'lowercase' +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/int.js b/node_modules/js-yaml/lib/js-yaml/type/int.js new file mode 100644 index 00000000..ba61c5f9 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/int.js @@ -0,0 +1,173 @@ +'use strict'; + +var common = require('../common'); +var Type = require('../type'); + +function isHexCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) || + ((0x41/* A */ <= c) && (c <= 0x46/* F */)) || + ((0x61/* a */ <= c) && (c <= 0x66/* f */)); +} + +function isOctCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */)); +} + +function isDecCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)); +} + +function resolveYamlInteger(data) { + if (data === null) return false; + + var max = data.length, + index = 0, + hasDigits = false, + ch; + + if (!max) return false; + + ch = data[index]; + + // sign + if (ch === '-' || ch === '+') { + ch = data[++index]; + } + + if (ch === '0') { + // 0 + if (index + 1 === max) return true; + ch = data[++index]; + + // base 2, base 8, base 16 + + if (ch === 'b') { + // base 2 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch !== '0' && ch !== '1') return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + + if (ch === 'x') { + // base 16 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isHexCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + // base 8 + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isOctCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + // base 10 (except 0) or base 60 + + // value should not start with `_`; + if (ch === '_') return false; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch === ':') break; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } + + // Should have digits and should not end with `_` + if (!hasDigits || ch === '_') return false; + + // if !base60 - done; + if (ch !== ':') return true; + + // base60 almost not used, no needs to optimize + return /^(:[0-5]?[0-9])+$/.test(data.slice(index)); +} + +function constructYamlInteger(data) { + var value = data, sign = 1, ch, base, digits = []; + + if (value.indexOf('_') !== -1) { + value = value.replace(/_/g, ''); + } + + ch = value[0]; + + if (ch === '-' || ch === '+') { + if (ch === '-') sign = -1; + value = value.slice(1); + ch = value[0]; + } + + if (value === '0') return 0; + + if (ch === '0') { + if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); + if (value[1] === 'x') return sign * parseInt(value, 16); + return sign * parseInt(value, 8); + } + + if (value.indexOf(':') !== -1) { + value.split(':').forEach(function (v) { + digits.unshift(parseInt(v, 10)); + }); + + value = 0; + base = 1; + + digits.forEach(function (d) { + value += (d * base); + base *= 60; + }); + + return sign * value; + + } + + return sign * parseInt(value, 10); +} + +function isInteger(object) { + return (Object.prototype.toString.call(object)) === '[object Number]' && + (object % 1 === 0 && !common.isNegativeZero(object)); +} + +module.exports = new Type('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); }, + octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); }, + decimal: function (obj) { return obj.toString(10); }, + /* eslint-disable max-len */ + hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); } + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [ 2, 'bin' ], + octal: [ 8, 'oct' ], + decimal: [ 10, 'dec' ], + hexadecimal: [ 16, 'hex' ] + } +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/js/function.js b/node_modules/js-yaml/lib/js-yaml/type/js/function.js new file mode 100644 index 00000000..8fab8c43 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/js/function.js @@ -0,0 +1,93 @@ +'use strict'; + +var esprima; + +// Browserified version does not have esprima +// +// 1. For node.js just require module as deps +// 2. For browser try to require mudule via external AMD system. +// If not found - try to fallback to window.esprima. If not +// found too - then fail to parse. +// +try { + // workaround to exclude package from browserify list. + var _require = require; + esprima = _require('esprima'); +} catch (_) { + /* eslint-disable no-redeclare */ + /* global window */ + if (typeof window !== 'undefined') esprima = window.esprima; +} + +var Type = require('../../type'); + +function resolveJavascriptFunction(data) { + if (data === null) return false; + + try { + var source = '(' + data + ')', + ast = esprima.parse(source, { range: true }); + + if (ast.type !== 'Program' || + ast.body.length !== 1 || + ast.body[0].type !== 'ExpressionStatement' || + (ast.body[0].expression.type !== 'ArrowFunctionExpression' && + ast.body[0].expression.type !== 'FunctionExpression')) { + return false; + } + + return true; + } catch (err) { + return false; + } +} + +function constructJavascriptFunction(data) { + /*jslint evil:true*/ + + var source = '(' + data + ')', + ast = esprima.parse(source, { range: true }), + params = [], + body; + + if (ast.type !== 'Program' || + ast.body.length !== 1 || + ast.body[0].type !== 'ExpressionStatement' || + (ast.body[0].expression.type !== 'ArrowFunctionExpression' && + ast.body[0].expression.type !== 'FunctionExpression')) { + throw new Error('Failed to resolve function'); + } + + ast.body[0].expression.params.forEach(function (param) { + params.push(param.name); + }); + + body = ast.body[0].expression.body.range; + + // Esprima's ranges include the first '{' and the last '}' characters on + // function expressions. So cut them out. + if (ast.body[0].expression.body.type === 'BlockStatement') { + /*eslint-disable no-new-func*/ + return new Function(params, source.slice(body[0] + 1, body[1] - 1)); + } + // ES6 arrow functions can omit the BlockStatement. In that case, just return + // the body. + /*eslint-disable no-new-func*/ + return new Function(params, 'return ' + source.slice(body[0], body[1])); +} + +function representJavascriptFunction(object /*, style*/) { + return object.toString(); +} + +function isFunction(object) { + return Object.prototype.toString.call(object) === '[object Function]'; +} + +module.exports = new Type('tag:yaml.org,2002:js/function', { + kind: 'scalar', + resolve: resolveJavascriptFunction, + construct: constructJavascriptFunction, + predicate: isFunction, + represent: representJavascriptFunction +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js b/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js new file mode 100644 index 00000000..43fa4701 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js @@ -0,0 +1,60 @@ +'use strict'; + +var Type = require('../../type'); + +function resolveJavascriptRegExp(data) { + if (data === null) return false; + if (data.length === 0) return false; + + var regexp = data, + tail = /\/([gim]*)$/.exec(data), + modifiers = ''; + + // if regexp starts with '/' it can have modifiers and must be properly closed + // `/foo/gim` - modifiers tail can be maximum 3 chars + if (regexp[0] === '/') { + if (tail) modifiers = tail[1]; + + if (modifiers.length > 3) return false; + // if expression starts with /, is should be properly terminated + if (regexp[regexp.length - modifiers.length - 1] !== '/') return false; + } + + return true; +} + +function constructJavascriptRegExp(data) { + var regexp = data, + tail = /\/([gim]*)$/.exec(data), + modifiers = ''; + + // `/foo/gim` - tail can be maximum 4 chars + if (regexp[0] === '/') { + if (tail) modifiers = tail[1]; + regexp = regexp.slice(1, regexp.length - modifiers.length - 1); + } + + return new RegExp(regexp, modifiers); +} + +function representJavascriptRegExp(object /*, style*/) { + var result = '/' + object.source + '/'; + + if (object.global) result += 'g'; + if (object.multiline) result += 'm'; + if (object.ignoreCase) result += 'i'; + + return result; +} + +function isRegExp(object) { + return Object.prototype.toString.call(object) === '[object RegExp]'; +} + +module.exports = new Type('tag:yaml.org,2002:js/regexp', { + kind: 'scalar', + resolve: resolveJavascriptRegExp, + construct: constructJavascriptRegExp, + predicate: isRegExp, + represent: representJavascriptRegExp +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js b/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js new file mode 100644 index 00000000..95b5569f --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js @@ -0,0 +1,28 @@ +'use strict'; + +var Type = require('../../type'); + +function resolveJavascriptUndefined() { + return true; +} + +function constructJavascriptUndefined() { + /*eslint-disable no-undefined*/ + return undefined; +} + +function representJavascriptUndefined() { + return ''; +} + +function isUndefined(object) { + return typeof object === 'undefined'; +} + +module.exports = new Type('tag:yaml.org,2002:js/undefined', { + kind: 'scalar', + resolve: resolveJavascriptUndefined, + construct: constructJavascriptUndefined, + predicate: isUndefined, + represent: representJavascriptUndefined +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/map.js b/node_modules/js-yaml/lib/js-yaml/type/map.js new file mode 100644 index 00000000..f327beeb --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/map.js @@ -0,0 +1,8 @@ +'use strict'; + +var Type = require('../type'); + +module.exports = new Type('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: function (data) { return data !== null ? data : {}; } +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/merge.js b/node_modules/js-yaml/lib/js-yaml/type/merge.js new file mode 100644 index 00000000..ae08a864 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/merge.js @@ -0,0 +1,12 @@ +'use strict'; + +var Type = require('../type'); + +function resolveYamlMerge(data) { + return data === '<<' || data === null; +} + +module.exports = new Type('tag:yaml.org,2002:merge', { + kind: 'scalar', + resolve: resolveYamlMerge +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/null.js b/node_modules/js-yaml/lib/js-yaml/type/null.js new file mode 100644 index 00000000..6874daa6 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/null.js @@ -0,0 +1,34 @@ +'use strict'; + +var Type = require('../type'); + +function resolveYamlNull(data) { + if (data === null) return true; + + var max = data.length; + + return (max === 1 && data === '~') || + (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL')); +} + +function constructYamlNull() { + return null; +} + +function isNull(object) { + return object === null; +} + +module.exports = new Type('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function () { return '~'; }, + lowercase: function () { return 'null'; }, + uppercase: function () { return 'NULL'; }, + camelcase: function () { return 'Null'; } + }, + defaultStyle: 'lowercase' +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/omap.js b/node_modules/js-yaml/lib/js-yaml/type/omap.js new file mode 100644 index 00000000..b2b5323b --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/omap.js @@ -0,0 +1,44 @@ +'use strict'; + +var Type = require('../type'); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; +var _toString = Object.prototype.toString; + +function resolveYamlOmap(data) { + if (data === null) return true; + + var objectKeys = [], index, length, pair, pairKey, pairHasKey, + object = data; + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + + if (_toString.call(pair) !== '[object Object]') return false; + + for (pairKey in pair) { + if (_hasOwnProperty.call(pair, pairKey)) { + if (!pairHasKey) pairHasKey = true; + else return false; + } + } + + if (!pairHasKey) return false; + + if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); + else return false; + } + + return true; +} + +function constructYamlOmap(data) { + return data !== null ? data : []; +} + +module.exports = new Type('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: resolveYamlOmap, + construct: constructYamlOmap +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/pairs.js b/node_modules/js-yaml/lib/js-yaml/type/pairs.js new file mode 100644 index 00000000..74b52403 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/pairs.js @@ -0,0 +1,53 @@ +'use strict'; + +var Type = require('../type'); + +var _toString = Object.prototype.toString; + +function resolveYamlPairs(data) { + if (data === null) return true; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + if (_toString.call(pair) !== '[object Object]') return false; + + keys = Object.keys(pair); + + if (keys.length !== 1) return false; + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return true; +} + +function constructYamlPairs(data) { + if (data === null) return []; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + keys = Object.keys(pair); + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return result; +} + +module.exports = new Type('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/seq.js b/node_modules/js-yaml/lib/js-yaml/type/seq.js new file mode 100644 index 00000000..be8f77f2 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/seq.js @@ -0,0 +1,8 @@ +'use strict'; + +var Type = require('../type'); + +module.exports = new Type('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: function (data) { return data !== null ? data : []; } +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/set.js b/node_modules/js-yaml/lib/js-yaml/type/set.js new file mode 100644 index 00000000..f885a329 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/set.js @@ -0,0 +1,29 @@ +'use strict'; + +var Type = require('../type'); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + +function resolveYamlSet(data) { + if (data === null) return true; + + var key, object = data; + + for (key in object) { + if (_hasOwnProperty.call(object, key)) { + if (object[key] !== null) return false; + } + } + + return true; +} + +function constructYamlSet(data) { + return data !== null ? data : {}; +} + +module.exports = new Type('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: resolveYamlSet, + construct: constructYamlSet +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/str.js b/node_modules/js-yaml/lib/js-yaml/type/str.js new file mode 100644 index 00000000..27acc106 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/str.js @@ -0,0 +1,8 @@ +'use strict'; + +var Type = require('../type'); + +module.exports = new Type('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: function (data) { return data !== null ? data : ''; } +}); diff --git a/node_modules/js-yaml/lib/js-yaml/type/timestamp.js b/node_modules/js-yaml/lib/js-yaml/type/timestamp.js new file mode 100644 index 00000000..8fa9c586 --- /dev/null +++ b/node_modules/js-yaml/lib/js-yaml/type/timestamp.js @@ -0,0 +1,88 @@ +'use strict'; + +var Type = require('../type'); + +var YAML_DATE_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9])' + // [2] month + '-([0-9][0-9])$'); // [3] day + +var YAML_TIMESTAMP_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9]?)' + // [2] month + '-([0-9][0-9]?)' + // [3] day + '(?:[Tt]|[ \\t]+)' + // ... + '([0-9][0-9]?)' + // [4] hour + ':([0-9][0-9])' + // [5] minute + ':([0-9][0-9])' + // [6] second + '(?:\\.([0-9]*))?' + // [7] fraction + '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour + '(?::([0-9][0-9]))?))?$'); // [11] tz_minute + +function resolveYamlTimestamp(data) { + if (data === null) return false; + if (YAML_DATE_REGEXP.exec(data) !== null) return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; + return false; +} + +function constructYamlTimestamp(data) { + var match, year, month, day, hour, minute, second, fraction = 0, + delta = null, tz_hour, tz_minute, date; + + match = YAML_DATE_REGEXP.exec(data); + if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + + if (match === null) throw new Error('Date resolve error'); + + // match: [1] year [2] month [3] day + + year = +(match[1]); + month = +(match[2]) - 1; // JS month starts with 0 + day = +(match[3]); + + if (!match[4]) { // no hour + return new Date(Date.UTC(year, month, day)); + } + + // match: [4] hour [5] minute [6] second [7] fraction + + hour = +(match[4]); + minute = +(match[5]); + second = +(match[6]); + + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { // milli-seconds + fraction += '0'; + } + fraction = +fraction; + } + + // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute + + if (match[9]) { + tz_hour = +(match[10]); + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds + if (match[9] === '-') delta = -delta; + } + + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + + if (delta) date.setTime(date.getTime() - delta); + + return date; +} + +function representYamlTimestamp(object /*, style*/) { + return object.toISOString(); +} + +module.exports = new Type('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp +}); diff --git a/node_modules/js-yaml/package.json b/node_modules/js-yaml/package.json new file mode 100644 index 00000000..0d236676 --- /dev/null +++ b/node_modules/js-yaml/package.json @@ -0,0 +1,49 @@ +{ + "name": "js-yaml", + "version": "3.14.1", + "description": "YAML 1.2 parser and serializer", + "keywords": [ + "yaml", + "parser", + "serializer", + "pyyaml" + ], + "homepage": "https://github.com/nodeca/js-yaml", + "author": "Vladimir Zapparov ", + "contributors": [ + "Aleksey V Zapparov (http://www.ixti.net/)", + "Vitaly Puzrin (https://github.com/puzrin)", + "Martin Grenfell (http://got-ravings.blogspot.com)" + ], + "license": "MIT", + "repository": "nodeca/js-yaml", + "files": [ + "index.js", + "lib/", + "bin/", + "dist/" + ], + "bin": { + "js-yaml": "bin/js-yaml.js" + }, + "unpkg": "dist/js-yaml.min.js", + "jsdelivr": "dist/js-yaml.min.js", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "devDependencies": { + "ansi": "^0.3.1", + "benchmark": "^2.1.4", + "browserify": "^16.2.2", + "codemirror": "^5.13.4", + "eslint": "^7.0.0", + "fast-check": "^1.24.2", + "istanbul": "^0.4.5", + "mocha": "^7.1.2", + "uglify-js": "^3.0.1" + }, + "scripts": { + "test": "make test" + } +} diff --git a/node_modules/jsesc/LICENSE-MIT.txt b/node_modules/jsesc/LICENSE-MIT.txt new file mode 100644 index 00000000..a41e0a7e --- /dev/null +++ b/node_modules/jsesc/LICENSE-MIT.txt @@ -0,0 +1,20 @@ +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsesc/README.md b/node_modules/jsesc/README.md new file mode 100644 index 00000000..aae2b13a --- /dev/null +++ b/node_modules/jsesc/README.md @@ -0,0 +1,421 @@ +# jsesc [![Build status](https://travis-ci.org/mathiasbynens/jsesc.svg?branch=master)](https://travis-ci.org/mathiasbynens/jsesc) [![Code coverage status](https://coveralls.io/repos/mathiasbynens/jsesc/badge.svg)](https://coveralls.io/r/mathiasbynens/jsesc) [![Dependency status](https://gemnasium.com/mathiasbynens/jsesc.svg)](https://gemnasium.com/mathiasbynens/jsesc) + +Given some data, _jsesc_ returns a stringified representation of that data. jsesc is similar to `JSON.stringify()` except: + +1. it outputs JavaScript instead of JSON [by default](#json), enabling support for data structures like ES6 maps and sets; +2. it offers [many options](#api) to customize the output; +3. its output is ASCII-safe [by default](#minimal), thanks to its use of [escape sequences](https://mathiasbynens.be/notes/javascript-escapes) where needed. + +For any input, jsesc generates the shortest possible valid printable-ASCII-only output. [Here’s an online demo.](https://mothereff.in/js-escapes) + +jsesc’s output can be used instead of `JSON.stringify`’s to avoid [mojibake](https://en.wikipedia.org/wiki/Mojibake) and other encoding issues, or even to [avoid errors](https://twitter.com/annevk/status/380000829643571200) when passing JSON-formatted data (which may contain U+2028 LINE SEPARATOR, U+2029 PARAGRAPH SEPARATOR, or [lone surrogates](https://esdiscuss.org/topic/code-points-vs-unicode-scalar-values#content-14)) to a JavaScript parser or an UTF-8 encoder. + +## Installation + +Via [npm](https://www.npmjs.com/): + +```bash +npm install jsesc +``` + +In [Node.js](https://nodejs.org/): + +```js +const jsesc = require('jsesc'); +``` + +## API + +### `jsesc(value, options)` + +This function takes a value and returns an escaped version of the value where any characters that are not printable ASCII symbols are escaped using the shortest possible (but valid) [escape sequences for use in JavaScript strings](https://mathiasbynens.be/notes/javascript-escapes). The first supported value type is strings: + +```js +jsesc('Ich ♥ Bücher'); +// → 'Ich \\u2665 B\\xFCcher' + +jsesc('foo 𝌆 bar'); +// → 'foo \\uD834\\uDF06 bar' +``` + +Instead of a string, the `value` can also be an array, an object, a map, a set, or a buffer. In such cases, `jsesc` returns a stringified version of the value where any characters that are not printable ASCII symbols are escaped in the same way. + +```js +// Escaping an array +jsesc([ + 'Ich ♥ Bücher', 'foo 𝌆 bar' +]); +// → '[\'Ich \\u2665 B\\xFCcher\',\'foo \\uD834\\uDF06 bar\']' + +// Escaping an object +jsesc({ + 'Ich ♥ Bücher': 'foo 𝌆 bar' +}); +// → '{\'Ich \\u2665 B\\xFCcher\':\'foo \\uD834\\uDF06 bar\'}' +``` + +The optional `options` argument accepts an object with the following options: + +#### `quotes` + +The default value for the `quotes` option is `'single'`. This means that any occurrences of `'` in the input string are escaped as `\'`, so that the output can be used in a string literal wrapped in single quotes. + +```js +jsesc('`Lorem` ipsum "dolor" sit \'amet\' etc.'); +// → 'Lorem ipsum "dolor" sit \\\'amet\\\' etc.' + +jsesc('`Lorem` ipsum "dolor" sit \'amet\' etc.', { + 'quotes': 'single' +}); +// → '`Lorem` ipsum "dolor" sit \\\'amet\\\' etc.' +// → "`Lorem` ipsum \"dolor\" sit \\'amet\\' etc." +``` + +If you want to use the output as part of a string literal wrapped in double quotes, set the `quotes` option to `'double'`. + +```js +jsesc('`Lorem` ipsum "dolor" sit \'amet\' etc.', { + 'quotes': 'double' +}); +// → '`Lorem` ipsum \\"dolor\\" sit \'amet\' etc.' +// → "`Lorem` ipsum \\\"dolor\\\" sit 'amet' etc." +``` + +If you want to use the output as part of a template literal (i.e. wrapped in backticks), set the `quotes` option to `'backtick'`. + +```js +jsesc('`Lorem` ipsum "dolor" sit \'amet\' etc.', { + 'quotes': 'backtick' +}); +// → '\\`Lorem\\` ipsum "dolor" sit \'amet\' etc.' +// → "\\`Lorem\\` ipsum \"dolor\" sit 'amet' etc." +// → `\\\`Lorem\\\` ipsum "dolor" sit 'amet' etc.` +``` + +This setting also affects the output for arrays and objects: + +```js +jsesc({ 'Ich ♥ Bücher': 'foo 𝌆 bar' }, { + 'quotes': 'double' +}); +// → '{"Ich \\u2665 B\\xFCcher":"foo \\uD834\\uDF06 bar"}' + +jsesc([ 'Ich ♥ Bücher', 'foo 𝌆 bar' ], { + 'quotes': 'double' +}); +// → '["Ich \\u2665 B\\xFCcher","foo \\uD834\\uDF06 bar"]' +``` + +#### `numbers` + +The default value for the `numbers` option is `'decimal'`. This means that any numeric values are represented using decimal integer literals. Other valid options are `binary`, `octal`, and `hexadecimal`, which result in binary integer literals, octal integer literals, and hexadecimal integer literals, respectively. + +```js +jsesc(42, { + 'numbers': 'binary' +}); +// → '0b101010' + +jsesc(42, { + 'numbers': 'octal' +}); +// → '0o52' + +jsesc(42, { + 'numbers': 'decimal' +}); +// → '42' + +jsesc(42, { + 'numbers': 'hexadecimal' +}); +// → '0x2A' +``` + +#### `wrap` + +The `wrap` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, the output is a valid JavaScript string literal wrapped in quotes. The type of quotes can be specified through the `quotes` setting. + +```js +jsesc('Lorem ipsum "dolor" sit \'amet\' etc.', { + 'quotes': 'single', + 'wrap': true +}); +// → '\'Lorem ipsum "dolor" sit \\\'amet\\\' etc.\'' +// → "\'Lorem ipsum \"dolor\" sit \\\'amet\\\' etc.\'" + +jsesc('Lorem ipsum "dolor" sit \'amet\' etc.', { + 'quotes': 'double', + 'wrap': true +}); +// → '"Lorem ipsum \\"dolor\\" sit \'amet\' etc."' +// → "\"Lorem ipsum \\\"dolor\\\" sit \'amet\' etc.\"" +``` + +#### `es6` + +The `es6` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, any astral Unicode symbols in the input are escaped using [ECMAScript 6 Unicode code point escape sequences](https://mathiasbynens.be/notes/javascript-escapes#unicode-code-point) instead of using separate escape sequences for each surrogate half. If backwards compatibility with ES5 environments is a concern, don’t enable this setting. If the `json` setting is enabled, the value for the `es6` setting is ignored (as if it was `false`). + +```js +// By default, the `es6` option is disabled: +jsesc('foo 𝌆 bar 💩 baz'); +// → 'foo \\uD834\\uDF06 bar \\uD83D\\uDCA9 baz' + +// To explicitly disable it: +jsesc('foo 𝌆 bar 💩 baz', { + 'es6': false +}); +// → 'foo \\uD834\\uDF06 bar \\uD83D\\uDCA9 baz' + +// To enable it: +jsesc('foo 𝌆 bar 💩 baz', { + 'es6': true +}); +// → 'foo \\u{1D306} bar \\u{1F4A9} baz' +``` + +#### `escapeEverything` + +The `escapeEverything` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, all the symbols in the output are escaped — even printable ASCII symbols. + +```js +jsesc('lolwat"foo\'bar', { + 'escapeEverything': true +}); +// → '\\x6C\\x6F\\x6C\\x77\\x61\\x74\\"\\x66\\x6F\\x6F\\\'\\x62\\x61\\x72' +// → "\\x6C\\x6F\\x6C\\x77\\x61\\x74\\\"\\x66\\x6F\\x6F\\'\\x62\\x61\\x72" +``` + +This setting also affects the output for string literals within arrays and objects. + +#### `minimal` + +The `minimal` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, only a limited set of symbols in the output are escaped: + +* U+0000 `\0` +* U+0008 `\b` +* U+0009 `\t` +* U+000A `\n` +* U+000C `\f` +* U+000D `\r` +* U+005C `\\` +* U+2028 `\u2028` +* U+2029 `\u2029` +* whatever symbol is being used for wrapping string literals (based on [the `quotes` option](#quotes)) + +Note: with this option enabled, jsesc output is no longer guaranteed to be ASCII-safe. + +```js +jsesc('foo\u2029bar\nbaz©qux𝌆flops', { + 'minimal': false +}); +// → 'foo\\u2029bar\\nbaz©qux𝌆flops' +``` + +#### `isScriptContext` + +The `isScriptContext` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, occurrences of [`` or `